Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- text:0046FC90 ; =============== S U B R O U T I N E =======================================
- .text:0046FC90
- .text:0046FC90 ; Attributes: bp-based frame
- .text:0046FC90
- .text:0046FC90 public _upcase_
- .text:0046FC90 _upcase_ proc near ; CODE XREF: _read_inp_+8DEp
- .text:0046FC90 ; _convert_inp_+6EEp ...
- .text:0046FC90
- .text:0046FC90 var_3AE4 = dword ptr -3AE4h
- .text:0046FC90 var_3AE0 = dword ptr -3AE0h
- .text:0046FC90 var_3ADC = dword ptr -3ADCh
- .text:0046FC90 var_3ACC = dword ptr -3ACCh
- .text:0046FC90 var_3AC8 = dword ptr -3AC8h
- .text:0046FC90 var_3AC4 = dword ptr -3AC4h
- .text:0046FC90 var_3AC0 = dword ptr -3AC0h
- .text:0046FC90 var_3ABC = dword ptr -3ABCh
- .text:0046FC90 var_3AB0 = byte ptr -3AB0h
- .text:0046FC90 var_2728 = byte ptr -2728h
- .text:0046FC90 var_13A0 = byte ptr -13A0h
- .text:0046FC90 Dst = dword ptr -0Ch
- .text:0046FC90 Src = dword ptr -8
- .text:0046FC90 Size = dword ptr -4
- .text:0046FC90 var_s0 = dword ptr 0
- .text:0046FC90 arg_0 = dword ptr 8
- .text:0046FC90 arg_4 = dword ptr 0Ch
- .text:0046FC90 arg_8 = dword ptr 10h
- .text:0046FC90
- .text:0046FC90 000 push ebp
- .text:0046FC91 004 mov ebp, esp
- .text:0046FC93 004 push edi
- .text:0046FC94 008 push esi
- .text:0046FC95 00C push ebx ; Size
- .text:0046FC96 010 mov eax, 3AFCh
- .text:0046FC9B 010 call __alloca
- .text:0046FCA0 010 mov ebx, [ebp+arg_8]
- .text:0046FCA3 010 lea eax, [ebp+var_3AB0]
- .text:0046FCA9 010 mov [ebp+var_3ADC], eax
- .text:0046FCAF 010 mov esi, offset unk_6E45BC
- .text:0046FCB4 010 mov ecx, 4E2h
- .text:0046FCB9 010 mov edi, eax
- .text:0046FCBB 010 rep movsd
- .text:0046FCBD 010 lea edx, [ebp+var_2728]
- .text:0046FCC3 010 mov [ebp+var_3AE0], edx
- .text:0046FCC9 010 mov esi, offset unk_6E45BC
- .text:0046FCCE 010 mov cx, 4E2h
- .text:0046FCD2 010 mov edi, edx
- .text:0046FCD4 010 rep movsd
- .text:0046FCD6 010 lea ecx, [ebp+var_13A0]
- .text:0046FCDC 010 mov [ebp+var_3AE4], ecx
- .text:0046FCE2 010 mov esi, offset unk_6E45BC
- .text:0046FCE7 010 mov ecx, 4E2h
- .text:0046FCEC 010 mov edi, [ebp+var_3AE4]
- .text:0046FCF2 010 rep movsd
- .text:0046FCF4 010 cmp ebx, 1387h
- .text:0046FCFA 010 jle loc_470060
- .text:0046FD00 010 mov [esp+0Ch+Size], 1388h ; Size
- .text:0046FD08 010 mov eax, [ebp+arg_0]
- .text:0046FD0B 010 mov [esp+0Ch+Src], eax ; Src
- .text:0046FD0F 010 lea edx, [ebp+var_3AB0]
- .text:0046FD15 010 mov [esp+0Ch+Dst], edx ; Dst
- .text:0046FD18 010 call _memmove
- .text:0046FD1D
- .text:0046FD1D loc_46FD1D: ; CODE XREF: _upcase_+3FEj
- .text:0046FD1D 010 mov eax, [ebp+arg_4]
- .text:0046FD20 010 mov ecx, [eax]
- .text:0046FD22 010 test ecx, ecx
- .text:0046FD24 010 jle short loc_46FD59
- .text:0046FD26 010 mov eax, 1
- .text:0046FD2B 010 mov esi, [ebp+arg_0]
- .text:0046FD2E 010 jmp short loc_46FD41
- .text:0046FD30 ; ---------------------------------------------------------------------------
- .text:0046FD30
- .text:0046FD30 loc_46FD30: ; CODE XREF: _upcase_+B9j
- .text:0046FD30 010 cmp edx, 7Ah
- .text:0046FD33 010 jg short loc_46FD3C
- .text:0046FD35 010 sub edx, 20h
- .text:0046FD38 010 mov [esi+eax-1], dl
- .text:0046FD3C
- .text:0046FD3C loc_46FD3C: ; CODE XREF: _upcase_+A3j
- .text:0046FD3C ; _upcase_+BEj
- .text:0046FD3C 010 cmp eax, ecx
- .text:0046FD3E 010 jz short loc_46FD59
- .text:0046FD40
- .text:0046FD40 loc_46FD40: ; CODE XREF: _upcase_+C7j
- .text:0046FD40 010 inc eax
- .text:0046FD41
- .text:0046FD41 loc_46FD41: ; CODE XREF: _upcase_+9Ej
- .text:0046FD41 010 movzx edx, byte ptr [esi+eax-1]
- .text:0046FD46 010 cmp edx, 60h
- .text:0046FD49 010 jg short loc_46FD30
- .text:0046FD4B 010 cmp edx, 9
- .text:0046FD4E 010 jnz short loc_46FD3C
- .text:0046FD50 010 mov byte ptr [esi+eax-1], 20h
- .text:0046FD55 010 cmp eax, ecx
- .text:0046FD57 010 jnz short loc_46FD40
- .text:0046FD59
- .text:0046FD59 loc_46FD59: ; CODE XREF: _upcase_+94j
- .text:0046FD59 ; _upcase_+AEj
- .text:0046FD59 010 inc ebx
- .text:0046FD5A 010 mov [ebp+var_3AC0], ebx
- .text:0046FD60 010 mov [ebp+var_3AC4], 0
- .text:0046FD6A 010 mov [ebp+var_3ABC], 1
- .text:0046FD74
- .text:0046FD74 loc_46FD74: ; CODE XREF: _upcase_+2BDj
- .text:0046FD74 ; _upcase_+2C3j
- .text:0046FD74 010 mov ebx, [ebp+var_3AC0]
- .text:0046FD7A 010 sub ebx, [ebp+var_3ABC]
- .text:0046FD80 010 js loc_46FF90
- .text:0046FD86
- .text:0046FD86 loc_46FD86: ; CODE XREF: _upcase_+2FAj
- .text:0046FD86 010 cmp ebx, 1387h
- .text:0046FD8C 010 jle loc_46FF92
- .text:0046FD92 010 mov [esp+0Ch+Size], 1388h ; Size
- .text:0046FD9A 010 mov ecx, [ebp+arg_0]
- .text:0046FD9D 010 mov edx, [ebp+var_3ABC]
- .text:0046FDA3 010 lea eax, [ecx+edx-1]
- .text:0046FDA7 010 mov [esp+0Ch+Src], eax ; Src
- .text:0046FDAB 010 lea eax, [ebp+var_13A0]
- .text:0046FDB1 010 mov [esp+0Ch+Dst], eax ; Dst
- .text:0046FDB4 010 call _memmove
- .text:0046FDB9
- .text:0046FDB9 loc_46FDB9: ; CODE XREF: _upcase_+33Aj
- .text:0046FDB9 010 mov dword ptr [esp+10h], 0
- .text:0046FDC1 010 mov [esp+0Ch+var_s0], offset unk_6E45B5
- .text:0046FDC9 010 mov [esp+0Ch+Size], 1
- .text:0046FDD1 010 lea edx, [ebp+var_13A0]
- .text:0046FDD7 010 mov [esp+0Ch+Src], edx
- .text:0046FDDB 010 mov [esp+0Ch+Dst], 1388h
- .text:0046FDE2 010 call __gfortran_string_index
- .text:0046FDE7 010 mov ebx, eax
- .text:0046FDE9 010 mov dword ptr [esp+10h], 0
- .text:0046FDF1 010 mov [esp+0Ch+var_s0], 6E45B7h
- .text:0046FDF9 010 mov [esp+0Ch+Size], 1
- .text:0046FE01 010 lea ecx, [ebp+var_13A0]
- .text:0046FE07 010 mov [esp+0Ch+Src], ecx
- .text:0046FE0B 010 mov [esp+0Ch+Dst], 1388h
- .text:0046FE12 010 call __gfortran_string_index
- .text:0046FE17 010 mov esi, eax
- .text:0046FE19 010 test ebx, ebx
- .text:0046FE1B 010 jle short loc_46FE5B
- .text:0046FE1D 010 mov dword ptr [esp+10h], 0
- .text:0046FE25 010 mov [esp+0Ch+var_s0], 6E45B7h
- .text:0046FE2D 010 mov [esp+0Ch+Size], 1
- .text:0046FE35 010 lea esi, [ebx-1]
- .text:0046FE38 010 lea eax, [ebp+var_13A0]
- .text:0046FE3E 010 add eax, esi
- .text:0046FE40 010 mov [esp+0Ch+Src], eax
- .text:0046FE44 010 mov eax, 1389h
- .text:0046FE49 010 sub eax, ebx
- .text:0046FE4B 010 js loc_47004C
- .text:0046FE51
- .text:0046FE51 loc_46FE51: ; CODE XREF: _upcase_+3BEj
- .text:0046FE51 010 mov [esp+0Ch+Dst], eax
- .text:0046FE54 010 call __gfortran_string_index
- .text:0046FE59 010 add esi, eax
- .text:0046FE5B
- .text:0046FE5B loc_46FE5B: ; CODE XREF: _upcase_+18Bj
- .text:0046FE5B 010 test esi, esi
- .text:0046FE5D 010 jle loc_46FFD0
- .text:0046FE63 010 lea edi, [esi+1]
- .text:0046FE66 010 mov dword ptr [esp+10h], 0
- .text:0046FE6E 010 mov [esp+0Ch+var_s0], 6E45B7h
- .text:0046FE76 010 mov [esp+0Ch+Size], 1
- .text:0046FE7E 010 lea eax, [ebp+var_13A0]
- .text:0046FE84 010 add eax, esi
- .text:0046FE86 010 mov [esp+0Ch+Src], eax
- .text:0046FE8A 010 mov eax, 1389h
- .text:0046FE8F 010 sub eax, edi
- .text:0046FE91 010 js loc_470044
- .text:0046FE97
- .text:0046FE97 loc_46FE97: ; CODE XREF: _upcase_+3B6j
- .text:0046FE97 010 mov [esp+0Ch+Dst], eax
- .text:0046FE9A 010 call __gfortran_string_index
- .text:0046FE9F 010 add eax, edi
- .text:0046FEA1 010 mov [ebp+var_3AC8], eax
- .text:0046FEA7
- .text:0046FEA7 loc_46FEA7: ; CODE XREF: _upcase_+34Aj
- .text:0046FEA7 010 cmp esi, [ebp+var_3AC8]
- .text:0046FEAD 010 jl short loc_46FEB1
- .text:0046FEAF 010 xor esi, esi
- .text:0046FEB1
- .text:0046FEB1 loc_46FEB1: ; CODE XREF: _upcase_+21Dj
- .text:0046FEB1 010 test ebx, ebx
- .text:0046FEB3 010 jle loc_470054
- .text:0046FEB9 010 add [ebp+var_3AC4], ebx
- .text:0046FEBF 010 mov eax, [ebp+var_3AC4]
- .text:0046FEC5 010 inc eax
- .text:0046FEC6 010 mov [ebp+var_3ABC], eax
- .text:0046FECC 010 mov edi, [ebp+var_3AC0]
- .text:0046FED2 010 sub edi, eax
- .text:0046FED4 010 js loc_46FFE0
- .text:0046FEDA 010 cmp edi, 1387h
- .text:0046FEE0 010 jle loc_46FFE2
- .text:0046FEE6 010 mov [esp+0Ch+Size], 1388h ; Size
- .text:0046FEEE 010 mov edx, [ebp+var_3AC4]
- .text:0046FEF4 010 mov [ebp+var_3ACC], edx
- .text:0046FEFA 010 mov eax, [ebp+arg_0]
- .text:0046FEFD 010 add eax, edx
- .text:0046FEFF 010 mov [esp+0Ch+Src], eax ; Src
- .text:0046FF03 010 lea ecx, [ebp+var_2728]
- .text:0046FF09 010 mov [esp+0Ch+Dst], ecx ; Dst
- .text:0046FF0C 010 call _memmove
- .text:0046FF11
- .text:0046FF11 loc_46FF11: ; CODE XREF: _upcase_+393j
- .text:0046FF11 010 mov dword ptr [esp+10h], 0
- .text:0046FF19 010 mov [esp+0Ch+var_s0], offset off_6E45B6
- .text:0046FF21 010 mov [esp+0Ch+Size], 1
- .text:0046FF29 010 lea edx, [ebp+var_2728]
- .text:0046FF2F 010 mov [esp+0Ch+Src], edx
- .text:0046FF33 010 mov [esp+0Ch+Dst], 1388h
- .text:0046FF3A 010 call __gfortran_string_index
- .text:0046FF3F 010 lea edx, [ebx+1]
- .text:0046FF42 010 cmp edx, esi
- .text:0046FF44 010 jz loc_470028
- .text:0046FF4A
- .text:0046FF4A loc_46FF4A: ; CODE XREF: _upcase_+3A0j
- .text:0046FF4A ; _upcase_+3AEj
- .text:0046FF4A 010 cmp eax, 0
- .text:0046FF4D 010 jl loc_46FD74
- .text:0046FF53 010 jz loc_46FD74
- .text:0046FF59 010 mov [esp+0Ch+Size], eax ; Size
- .text:0046FF5D 010 lea eax, [ebp+var_3AB0]
- .text:0046FF63 010 add eax, [ebp+var_3ACC]
- .text:0046FF69 010 mov [esp+0Ch+Src], eax ; Src
- .text:0046FF6D 010 mov eax, [ebp+arg_0]
- .text:0046FF70 010 add eax, [ebp+var_3ACC]
- .text:0046FF76 010 mov [esp+0Ch+Dst], eax ; Dst
- .text:0046FF79 010 call _memmove
- .text:0046FF7E 010 mov ebx, [ebp+var_3AC0]
- .text:0046FF84 010 sub ebx, [ebp+var_3ABC]
- .text:0046FF8A 010 jns loc_46FD86
- .text:0046FF90
- .text:0046FF90 loc_46FF90: ; CODE XREF: _upcase_+F0j
- .text:0046FF90 010 xor ebx, ebx
- .text:0046FF92
- .text:0046FF92 loc_46FF92: ; CODE XREF: _upcase_+FCj
- .text:0046FF92 010 mov [esp+0Ch+Size], ebx ; Size
- .text:0046FF96 010 mov ecx, [ebp+arg_0]
- .text:0046FF99 010 mov edx, [ebp+var_3ABC]
- .text:0046FF9F 010 lea eax, [ecx+edx-1]
- .text:0046FFA3 010 mov [esp+0Ch+Src], eax ; Src
- .text:0046FFA7 010 lea eax, [ebp+var_13A0]
- .text:0046FFAD 010 mov [esp+0Ch+Dst], eax ; Dst
- .text:0046FFB0 010 call _memmove
- .text:0046FFB5 010 mov ecx, 1388h
- .text:0046FFBA 010 sub ecx, ebx
- .text:0046FFBC 010 lea edx, [ebp+var_13A0]
- .text:0046FFC2 010 add edx, ebx
- .text:0046FFC4 010 mov edi, edx
- .text:0046FFC6 010 mov al, 20h
- .text:0046FFC8 010 rep stosb
- .text:0046FFCA 010 jmp loc_46FDB9
- .text:0046FFCA ; ---------------------------------------------------------------------------
- .text:0046FFCF 010 align 10h
- .text:0046FFD0
- .text:0046FFD0 loc_46FFD0: ; CODE XREF: _upcase_+1CDj
- .text:0046FFD0 010 mov [ebp+var_3AC8], 0
- .text:0046FFDA 010 jmp loc_46FEA7
- .text:0046FFDA ; ---------------------------------------------------------------------------
- .text:0046FFDF 010 align 10h
- .text:0046FFE0
- .text:0046FFE0 loc_46FFE0: ; CODE XREF: _upcase_+244j
- .text:0046FFE0 010 xor edi, edi
- .text:0046FFE2
- .text:0046FFE2 loc_46FFE2: ; CODE XREF: _upcase_+250j
- .text:0046FFE2 010 mov [esp+0Ch+Size], edi ; Size
- .text:0046FFE6 010 mov eax, [ebp+var_3ABC]
- .text:0046FFEC 010 dec eax
- .text:0046FFED 010 mov [ebp+var_3ACC], eax
- .text:0046FFF3 010 mov eax, [ebp+arg_0]
- .text:0046FFF6 010 add eax, [ebp+var_3ACC]
- .text:0046FFFC 010 mov [esp+0Ch+Src], eax ; Src
- .text:00470000 010 lea edx, [ebp+var_2728]
- .text:00470006 010 mov [esp+0Ch+Dst], edx ; Dst
- .text:00470009 010 call _memmove
- .text:0047000E 010 mov ecx, 1388h
- .text:00470013 010 sub ecx, edi
- .text:00470015 010 lea edx, [ebp+var_2728]
- .text:0047001B 010 add edx, edi
- .text:0047001D 010 mov edi, edx
- .text:0047001F 010 mov al, 20h
- .text:00470021 010 rep stosb
- .text:00470023 010 jmp loc_46FF11
- .text:00470028 ; ---------------------------------------------------------------------------
- .text:00470028
- .text:00470028 loc_470028: ; CODE XREF: _upcase_+2B4j
- .text:00470028 010 mov edi, [ebp+var_3AC8]
- .text:0047002E 010 test edi, edi
- .text:00470030 010 jle loc_46FF4A
- .text:00470036 010 mov eax, [ebp+var_3AC8]
- .text:0047003C 010 sub eax, ebx
- .text:0047003E 010 jmp loc_46FF4A
- .text:0047003E ; ---------------------------------------------------------------------------
- .text:00470043 010 align 4
- .text:00470044
- .text:00470044 loc_470044: ; CODE XREF: _upcase_+201j
- .text:00470044 010 xor eax, eax
- .text:00470046 010 jmp loc_46FE97
- .text:00470046 ; ---------------------------------------------------------------------------
- .text:0047004B 010 align 4
- .text:0047004C
- .text:0047004C loc_47004C: ; CODE XREF: _upcase_+1BBj
- .text:0047004C 010 xor eax, eax
- .text:0047004E 010 jmp loc_46FE51
- .text:0047004E ; ---------------------------------------------------------------------------
- .text:00470053 010 align 4
- .text:00470054
- .text:00470054 loc_470054: ; CODE XREF: _upcase_+223j
- .text:00470054 010 add esp, 3AFCh
- .text:0047005A -3AEC pop ebx
- .text:0047005B -3AF0 pop esi
- .text:0047005C -3AF4 pop edi
- .text:0047005D -3AF8 leave
- .text:0047005E -3AFC retn
- .text:0047005E ; ---------------------------------------------------------------------------
- .text:0047005F -3AFC align 10h
- .text:00470060
- .text:00470060 loc_470060: ; CODE XREF: _upcase_+6Aj
- .text:00470060 010 mov [esp+0Ch+Size], ebx ; Size
- .text:00470064 010 mov ecx, [ebp+arg_0]
- .text:00470067 010 mov [esp+0Ch+Src], ecx ; Src
- .text:0047006B 010 lea eax, [ebp+var_3AB0]
- .text:00470071 010 mov [esp+0Ch+Dst], eax ; Dst
- .text:00470074 010 call _memmove
- .text:00470079 010 mov ecx, 1388h
- .text:0047007E 010 sub ecx, ebx
- .text:00470080 010 lea edx, [ebp+var_3AB0]
- .text:00470086 010 add edx, ebx
- .text:00470088 010 mov al, 20h
- .text:0047008A 010 mov edi, edx
- .text:0047008C 010 rep stosb
- .text:0047008E 010 jmp loc_46FD1D
- .text:0047008E _upcase_ endp ; sp-analysis failed
- .text:0047008E
- .text:0047008E ; ---------------------------------------------------------------------------
- .text:00470093 align 4
- .text:00470094
- .text:00470094 ; =============== S U B R O U T I N E =======================================
- .text:00470094
- .text:00470094 ; Attributes: bp-based frame
- .text:00470094
- .text:00470094 public _lowcase_
- .text:00470094 _lowcase_ proc near ; CODE XREF: _read_data_+17A7p
- .text:00470094 ; _read_cas_+A47p ...
- .text:00470094
- .text:00470094 var_13AC = dword ptr -13ACh
- .text:00470094 var_13A0 = byte ptr -13A0h
- .text:00470094 Dst = dword ptr -0Ch
- .text:00470094 Src = dword ptr -8
- .text:00470094 Size = dword ptr -4
- .text:00470094 arg_0 = dword ptr 8
- .text:00470094 arg_4 = dword ptr 0Ch
- .text:00470094 arg_8 = dword ptr 10h
- .text:00470094 arg_C = dword ptr 14h
- .text:00470094
- .text:00470094 000 push ebp
- .text:00470095 004 mov ebp, esp
- .text:00470097 004 push edi
- .text:00470098 008 push esi
- .text:00470099 00C push ebx ; Size
- .text:0047009A 010 mov eax, 13BCh
- .text:0047009F 010 call __alloca
- .text:004700A4 010 mov ebx, [ebp+arg_0]
- .text:004700A7 010 lea edx, [ebp+var_13A0]
- .text:004700AD 010 mov esi, offset unk_6E45BC
- .text:004700B2 010 mov ecx, 4E2h
- .text:004700B7 010 mov edi, edx
- .text:004700B9 010 rep movsd
- .text:004700BB 010 cmp [ebp+arg_C], 1387h
- .text:004700C2 010 jle loc_470154
- .text:004700C8 010 mov [esp+0Ch+Size], 1388h ; Size
- .text:004700D0 010 mov [esp+0Ch+Src], ebx ; Src
- .text:004700D4 010 mov [esp+0Ch+Dst], edx ; Dst
- .text:004700D7 010 call _memmove
- .text:004700DC
- .text:004700DC loc_4700DC: ; CODE XREF: _lowcase_+F0j
- .text:004700DC 010 mov eax, [ebp+arg_4]
- .text:004700DF 010 mov esi, [eax]
- .text:004700E1 010 test esi, esi
- .text:004700E3 010 jle short loc_470148
- .text:004700E5 010 mov eax, [ebp+arg_8]
- .text:004700E8 010 mov edi, [eax]
- .text:004700EA 010 mov eax, 1
- .text:004700EF 010 jmp short loc_470132
- .text:004700EF ; ---------------------------------------------------------------------------
- .text:004700F1 010 align 4
- .text:004700F4
- .text:004700F4 loc_4700F4: ; CODE XREF: _lowcase_+A6j
- .text:004700F4 010 cmp edx, 5Ah
- .text:004700F7 010 jg short loc_470100
- .text:004700F9 010 lea ecx, [edx+20h]
- .text:004700FC 010 mov [ebx+eax-1], cl
- .text:00470100
- .text:00470100 loc_470100: ; CODE XREF: _lowcase_+63j
- .text:00470100 ; _lowcase_+ABj ...
- .text:00470100 010 test edi, edi
- .text:00470102 010 jle short loc_47012D
- .text:00470104 010 cmp edx, 30h
- .text:00470107 010 jg short loc_47010E
- .text:00470109 010 mov byte ptr [ebx+eax-1], 30h
- .text:0047010E
- .text:0047010E loc_47010E: ; CODE XREF: _lowcase_+73j
- .text:0047010E 010 lea ecx, [edx-3Ah]
- .text:00470111 010 cmp ecx, 5
- .text:00470114 010 ja short loc_47011B
- .text:00470116 010 mov byte ptr [ebx+eax-1], 30h
- .text:0047011B
- .text:0047011B loc_47011B: ; CODE XREF: _lowcase_+80j
- .text:0047011B 010 lea ecx, [edx-5Bh]
- .text:0047011E 010 cmp ecx, 5
- .text:00470121 010 jbe short loc_470128
- .text:00470123 010 cmp edx, 7Ah
- .text:00470126 010 jle short loc_47012D
- .text:00470128
- .text:00470128 loc_470128: ; CODE XREF: _lowcase_+8Dj
- .text:00470128 010 mov byte ptr [ebx+eax-1], 30h
- .text:0047012D
- .text:0047012D loc_47012D: ; CODE XREF: _lowcase_+6Ej
- .text:0047012D ; _lowcase_+92j
- .text:0047012D 010 cmp eax, esi
- .text:0047012F 010 jz short loc_470148
- .text:00470131 010 inc eax
- .text:00470132
- .text:00470132 loc_470132: ; CODE XREF: _lowcase_+5Bj
- .text:00470132 010 movzx edx, byte ptr [ebx+eax-1]
- .text:00470137 010 cmp edx, 40h
- .text:0047013A 010 jg short loc_4700F4
- .text:0047013C 010 cmp edx, 9
- .text:0047013F 010 jnz short loc_470100
- .text:00470141 010 mov byte ptr [ebx+eax-1], 20h
- .text:00470146 010 jmp short loc_470100
- .text:00470148 ; ---------------------------------------------------------------------------
- .text:00470148
- .text:00470148 loc_470148: ; CODE XREF: _lowcase_+4Fj
- .text:00470148 ; _lowcase_+9Bj
- .text:00470148 010 add esp, 13BCh
- .text:0047014E -13AC pop ebx
- .text:0047014F -13B0 pop esi
- .text:00470150 -13B4 pop edi
- .text:00470151 -13B8 leave
- .text:00470152 -13BC retn
- .text:00470152 ; ---------------------------------------------------------------------------
- .text:00470153 -13BC align 4
- .text:00470154
- .text:00470154 loc_470154: ; CODE XREF: _lowcase_+2Ej
- .text:00470154 010 mov eax, [ebp+arg_C]
- .text:00470157 010 mov [esp+0Ch+Size], eax ; Size
- .text:0047015B 010 mov [esp+0Ch+Src], ebx ; Src
- .text:0047015F 010 mov [esp+0Ch+Dst], edx ; Dst
- .text:00470162 010 mov [ebp+var_13AC], edx
- .text:00470168 010 call _memmove
- .text:0047016D 010 mov ecx, 1388h
- .text:00470172 010 sub ecx, [ebp+arg_C]
- .text:00470175 010 mov edx, [ebp+var_13AC]
- .text:0047017B 010 add edx, [ebp+arg_C]
- .text:0047017E 010 mov al, 20h
- .text:00470180 010 mov edi, edx
- .text:00470182 010 rep stosb
- .text:00470184 010 jmp loc_4700DC
- .text:00470184 _lowcase_ endp ; sp-analysis failed
- .text:00470184
- .text:00470184 ; ---------------------------------------------------------------------------
- .text:00470189 align 4
- .text:0047018C
- .text:0047018C ; =============== S U B R O U T I N E =======================================
- .text:0047018C
- .text:0047018C ; Attributes: bp-based frame
- .text:0047018C
- .text:0047018C public _read_icl_
- .text:0047018C _read_icl_ proc near ; CODE XREF: _read_met_+182Fp
- .text:0047018C ; _read_efil_+508p ...
- .text:0047018C
- .text:0047018C var_58 = dword ptr -58h
- .text:0047018C var_54 = dword ptr -54h
- .text:0047018C var_50 = dword ptr -50h
- .text:0047018C var_4C = dword ptr -4Ch
- .text:0047018C var_48 = dword ptr -48h
- .text:0047018C var_30 = dword ptr -30h
- .text:0047018C var_2C = dword ptr -2Ch
- .text:0047018C var_28 = dword ptr -28h
- .text:0047018C var_24 = dword ptr -24h
- .text:0047018C var_20 = dword ptr -20h
- .text:0047018C var_1C = dword ptr -1Ch
- .text:0047018C arg_0 = dword ptr 8
- .text:0047018C arg_4 = dword ptr 0Ch
- .text:0047018C arg_8 = dword ptr 10h
- .text:0047018C arg_C = dword ptr 14h
- .text:0047018C arg_10 = dword ptr 18h
- .text:0047018C arg_14 = dword ptr 1Ch
- .text:0047018C
- .text:0047018C 000 push ebp
- .text:0047018D 004 mov ebp, esp
- .text:0047018F 004 push edi
- .text:00470190 008 push esi
- .text:00470191 00C push ebx
- .text:00470192 010 sub esp, 4Ch
- .text:00470195 05C mov esi, [ebp+arg_10]
- .text:00470198 05C mov eax, [ebp+arg_0]
- .text:0047019B 05C mov [esp+58h+var_54], eax
- .text:0047019F 05C mov [esp+58h+var_58], esi
- .text:004701A2 05C call __gfortran_string_len_trim
- .text:004701A7 05C mov edx, [ebp+arg_4]
- .text:004701AA 05C mov [esp+58h+var_54], edx
- .text:004701AE 05C mov eax, [ebp+arg_14]
- .text:004701B1 05C mov [esp+58h+var_58], eax
- .text:004701B4 05C call __gfortran_string_len_trim
- .text:004701B9 05C mov [ebp+var_28], eax
- .text:004701BC 05C mov eax, [ebp+arg_0]
- .text:004701BF 05C xor ebx, ebx
- .text:004701C1 05C cmp byte ptr [eax], 20h
- .text:004701C4 05C setz bl
- .text:004701C7 05C inc ebx
- .text:004701C8 05C inc esi
- .text:004701C9 05C mov [ebp+var_24], esi
- .text:004701CC 05C mov edx, [ebp+var_28]
- .text:004701CF 05C dec edx
- .text:004701D0 05C mov [ebp+var_2C], edx
- .text:004701D3 05C lea esi, [ebx-1]
- .text:004701D6 05C mov edi, [ebp+arg_0]
- .text:004701D9 05C add edi, esi
- .text:004701DB 05C mov edx, [ebp+var_24]
- .text:004701DE 05C sub edx, ebx
- .text:004701E0 05C js loc_47042E
- .text:004701E6 05C xchg ax, ax
- .text:004701E8
- .text:004701E8 loc_4701E8: ; CODE XREF: _read_icl_+29Cj
- .text:004701E8 ; _read_icl_+2A4j
- .text:004701E8 05C mov [esp+58h+var_48], 0
- .text:004701F0 05C mov [esp+58h+var_4C], offset off_6E45B6
- .text:004701F8 05C mov [esp+58h+var_50], 1
- .text:00470200 05C mov [esp+58h+var_54], edi
- .text:00470204 05C mov [esp+58h+var_58], edx
- .text:00470207 05C mov [ebp+var_30], edx
- .text:0047020A 05C call __gfortran_string_index
- .text:0047020F 05C test eax, eax
- .text:00470211 05C mov edx, [ebp+var_30]
- .text:00470214 05C jle loc_470458
- .text:0047021A 05C mov eax, [ebp+arg_8]
- .text:0047021D 05C mov dword ptr [eax], 0
- .text:00470223 05C mov eax, [ebp+arg_C]
- .text:00470226 05C mov dword ptr [eax], 0
- .text:0047022C 05C mov [esp+58h+var_48], 0
- .text:00470234 05C mov [esp+58h+var_4C], offset off_6E45B6
- .text:0047023C 05C mov [esp+58h+var_50], 1
- .text:00470244 05C mov [esp+58h+var_54], edi
- .text:00470248 05C mov [esp+58h+var_58], edx
- .text:0047024B 05C call __gfortran_string_index
- .text:00470250 05C lea eax, [esi+eax]
- .text:00470253 05C mov [ebp+var_1C], eax
- .text:00470256 05C mov edx, eax
- .text:00470258 05C sub edx, ebx
- .text:0047025A 05C inc edx
- .text:0047025B 05C js loc_470448
- .text:00470261
- .text:00470261 loc_470261: ; CODE XREF: _read_icl_+2BEj
- .text:00470261 05C mov [esp+58h+var_48], 0
- .text:00470269 05C mov [esp+58h+var_4C], 6E45B7h
- .text:00470271 05C mov [esp+58h+var_50], 1
- .text:00470279 05C mov [esp+58h+var_54], edi
- .text:0047027D 05C mov [esp+58h+var_58], edx
- .text:00470280 05C mov [ebp+var_30], edx
- .text:00470283 05C call __gfortran_string_index
- .text:00470288 05C test eax, eax
- .text:0047028A 05C mov edx, [ebp+var_30]
- .text:0047028D 05C jle short loc_470308
- .text:0047028F 05C mov [esp+58h+var_48], 0
- .text:00470297 05C mov [esp+58h+var_4C], 6E45B7h
- .text:0047029F 05C mov [esp+58h+var_50], 1
- .text:004702A7 05C mov [esp+58h+var_54], edi
- .text:004702AB 05C mov [esp+58h+var_58], edx
- .text:004702AE 05C call __gfortran_string_index
- .text:004702B3 05C lea edi, [eax+ebx]
- .text:004702B6 05C lea edx, [edi+1]
- .text:004702B9 05C mov [esp+58h+var_48], 0
- .text:004702C1 05C mov [esp+58h+var_4C], 6E45B7h
- .text:004702C9 05C mov [esp+58h+var_50], 1
- .text:004702D1 05C mov eax, [ebp+arg_0]
- .text:004702D4 05C add eax, edi
- .text:004702D6 05C mov [esp+58h+var_54], eax
- .text:004702DA 05C mov eax, [ebp+var_24]
- .text:004702DD 05C sub eax, edx
- .text:004702DF 05C js loc_470450
- .text:004702E5
- .text:004702E5 loc_4702E5: ; CODE XREF: _read_icl_+2C6j
- .text:004702E5 05C mov [esp+58h+var_58], eax
- .text:004702E8 05C call __gfortran_string_index
- .text:004702ED 05C cmp [ebp+var_1C], edi
- .text:004702F0 05C jle short loc_470308
- .text:004702F2 05C add edi, eax
- .text:004702F4 05C lea eax, [edi-1]
- .text:004702F7 05C cmp [ebp+var_1C], eax
- .text:004702FA 05C jge short loc_470308
- .text:004702FC 05C lea edx, [edi+1]
- .text:004702FF 05C mov [ebp+var_1C], edx
- .text:00470302 05C mov ebx, edi
- .text:00470304 05C mov esi, eax
- .text:00470306 05C xchg ax, ax
- .text:00470308
- .text:00470308 loc_470308: ; CODE XREF: _read_icl_+101j
- .text:00470308 ; _read_icl_+164j ...
- .text:00470308 05C mov edx, [ebp+var_28]
- .text:0047030B 05C test edx, edx
- .text:0047030D 05C js loc_470440
- .text:00470313
- .text:00470313 loc_470313: ; CODE XREF: _read_icl_+2B6j
- .text:00470313 05C mov eax, [ebp+arg_0]
- .text:00470316 05C add eax, esi
- .text:00470318 05C mov [ebp+var_20], eax
- .text:0047031B 05C mov edi, [ebp+var_1C]
- .text:0047031E 05C sub edi, ebx
- .text:00470320 05C js loc_470438
- .text:00470326
- .text:00470326 loc_470326: ; CODE XREF: _read_icl_+2AEj
- .text:00470326 05C mov [esp+58h+var_48], 0
- .text:0047032E 05C mov eax, [ebp+arg_4]
- .text:00470331 05C mov [esp+58h+var_4C], eax
- .text:00470335 05C mov [esp+58h+var_50], edx
- .text:00470339 05C mov eax, [ebp+var_20]
- .text:0047033C 05C mov [esp+58h+var_54], eax
- .text:00470340 05C mov [esp+58h+var_58], edi
- .text:00470343 05C mov [ebp+var_30], edx
- .text:00470346 05C call __gfortran_string_index
- .text:0047034B 05C test eax, eax
- .text:0047034D 05C mov edx, [ebp+var_30]
- .text:00470350 05C jle loc_470412
- .text:00470356 05C mov [esp+58h+var_48], 0
- .text:0047035E 05C mov eax, [ebp+arg_4]
- .text:00470361 05C mov [esp+58h+var_4C], eax
- .text:00470365 05C mov [esp+58h+var_50], edx
- .text:00470369 05C mov edx, [ebp+var_20]
- .text:0047036C 05C mov [esp+58h+var_54], edx
- .text:00470370 05C mov [esp+58h+var_58], edi
- .text:00470373 05C call __gfortran_string_index
- .text:00470378 05C add eax, esi
- .text:0047037A 05C mov edx, [ebp+arg_8]
- .text:0047037D 05C mov [edx], eax
- .text:0047037F 05C add eax, [ebp+var_2C]
- .text:00470382 05C mov edx, [ebp+arg_C]
- .text:00470385 05C mov [edx], eax
- .text:00470387 05C mov [esp+58h+var_48], 0
- .text:0047038F 05C mov [esp+58h+var_4C], offset unk_6E45B5
- .text:00470397 05C mov [esp+58h+var_50], 1
- .text:0047039F 05C mov eax, [ebp+var_20]
- .text:004703A2 05C mov [esp+58h+var_54], eax
- .text:004703A6 05C mov [esp+58h+var_58], edi
- .text:004703A9 05C call __gfortran_string_index
- .text:004703AE 05C test eax, eax
- .text:004703B0 05C jle loc_470458
- .text:004703B6 05C mov [esp+58h+var_48], 0
- .text:004703BE 05C mov [esp+58h+var_4C], offset unk_6E45B5
- .text:004703C6 05C mov [esp+58h+var_50], 1
- .text:004703CE 05C mov edx, [ebp+var_20]
- .text:004703D1 05C mov [esp+58h+var_54], edx
- .text:004703D5 05C mov [esp+58h+var_58], edi
- .text:004703D8 05C call __gfortran_string_index
- .text:004703DD 05C test eax, eax
- .text:004703DF 05C jle short loc_470412
- .text:004703E1 05C mov [esp+58h+var_48], 0
- .text:004703E9 05C mov [esp+58h+var_4C], offset unk_6E45B5
- .text:004703F1 05C mov [esp+58h+var_50], 1
- .text:004703F9 05C mov eax, [ebp+var_20]
- .text:004703FC 05C mov [esp+58h+var_54], eax
- .text:00470400 05C mov [esp+58h+var_58], edi
- .text:00470403 05C call __gfortran_string_index
- .text:00470408 05C lea esi, [eax+esi]
- .text:0047040B 05C mov edx, [ebp+arg_8]
- .text:0047040E 05C cmp esi, [edx]
- .text:00470410 05C jg short loc_470458
- .text:00470412
- .text:00470412 loc_470412: ; CODE XREF: _read_icl_+1C4j
- .text:00470412 ; _read_icl_+253j
- .text:00470412 05C cmp ebx, [ebp+var_1C]
- .text:00470415 05C jge short loc_470458
- .text:00470417 05C mov ebx, [ebp+var_1C]
- .text:0047041A 05C inc ebx
- .text:0047041B 05C lea esi, [ebx-1]
- .text:0047041E 05C mov edi, [ebp+arg_0]
- .text:00470421 05C add edi, esi
- .text:00470423 05C mov edx, [ebp+var_24]
- .text:00470426 05C sub edx, ebx
- .text:00470428 05C jns loc_4701E8
- .text:0047042E
- .text:0047042E loc_47042E: ; CODE XREF: _read_icl_+54j
- .text:0047042E 05C xor edx, edx
- .text:00470430 05C jmp loc_4701E8
- .text:00470430 ; ---------------------------------------------------------------------------
- .text:00470435 05C align 4
- .text:00470438
- .text:00470438 loc_470438: ; CODE XREF: _read_icl_+194j
- .text:00470438 05C xor edi, edi
- .text:0047043A 05C jmp loc_470326
- .text:0047043A ; ---------------------------------------------------------------------------
- .text:0047043F 05C align 10h
- .text:00470440
- .text:00470440 loc_470440: ; CODE XREF: _read_icl_+181j
- .text:00470440 05C xor edx, edx
- .text:00470442 05C jmp loc_470313
- .text:00470442 ; ---------------------------------------------------------------------------
- .text:00470447 05C align 4
- .text:00470448
- .text:00470448 loc_470448: ; CODE XREF: _read_icl_+CFj
- .text:00470448 05C xor edx, edx
- .text:0047044A 05C jmp loc_470261
- .text:0047044A ; ---------------------------------------------------------------------------
- .text:0047044F 05C align 10h
- .text:00470450
- .text:00470450 loc_470450: ; CODE XREF: _read_icl_+153j
- .text:00470450 05C xor eax, eax
- .text:00470452 05C jmp loc_4702E5
- .text:00470452 ; ---------------------------------------------------------------------------
- .text:00470457 05C align 4
- .text:00470458
- .text:00470458 loc_470458: ; CODE XREF: _read_icl_+88j
- .text:00470458 ; _read_icl_+224j ...
- .text:00470458 05C add esp, 4Ch
- .text:0047045B 010 pop ebx
- .text:0047045C 00C pop esi
- .text:0047045D 008 pop edi
- .text:0047045E 004 leave
- .text:0047045F 000 retn
- .text:0047045F _read_icl_ endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement