rendered paste body.text:00625DD0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:00625DD0
.text:00625DD0 ; Attributes: bp-based frame
.text:00625DD0
.text:00625DD0 ; int __stdcall sub_625DD0(int,int,int,int,int,UINT uExitCode)
.text:00625DD0 sub_625DD0 proc near ; CODE XREF: sub_402060+46p
.text:00625DD0 ; sub_402060+A6p ...
.text:00625DD0
.text:00625DD0 SystemTime = _SYSTEMTIME ptr -0D74h
.text:00625DD0 var_D64 = dword ptr -0D64h
.text:00625DD0 ExitCode = dword ptr -0D60h
.text:00625DD0 var_D5C = dword ptr -0D5Ch
.text:00625DD0 var_D58 = dword ptr -0D58h
.text:00625DD0 var_D54 = dword ptr -0D54h
.text:00625DD0 var_D50 = dword ptr -0D50h
.text:00625DD0 FindFileData = _WIN32_FIND_DATAA ptr -0D4Ch
.text:00625DD0 var_C0C = dword ptr -0C0Ch
.text:00625DD0 Text = byte ptr -0B0Ch
.text:00625DD0 FileName = byte ptr -30Ch
.text:00625DD0 Caption = byte ptr -208h
.text:00625DD0 var_104 = dword ptr -104h
.text:00625DD0 var_4 = dword ptr -4
.text:00625DD0 arg_0 = dword ptr 8
.text:00625DD0 arg_4 = dword ptr 0Ch
.text:00625DD0 arg_8 = dword ptr 10h
.text:00625DD0 arg_C = dword ptr 14h
.text:00625DD0 arg_10 = dword ptr 18h
.text:00625DD0 uExitCode = dword ptr 1Ch
.text:00625DD0
.text:00625DD0 push ebp
.text:00625DD1 mov ebp, esp
.text:00625DD3 sub esp, 0D74h
.text:00625DD9 mov eax, dword_8AE4E8
.text:00625DDE xor eax, ebp
.text:00625DE0 mov [ebp+var_4], eax
.text:00625DE3 cmp dword_CBF70C, 0
.text:00625DEA mov eax, [ebp+arg_C]
.text:00625DED push edi
.text:00625DEE mov edi, [ebp+arg_4]
.text:00625DF1 mov [ebp+var_D58], eax
.text:00625DF7 jz short loc_625E0C
.text:00625DF9
.text:00625DF9 loc_625DF9: ; CODE XREF: sub_625DD0+84j
.text:00625DF9 xor eax, eax
.text:00625DFB pop edi
.text:00625DFC mov ecx, [ebp+var_4]
.text:00625DFF xor ecx, ebp
.text:00625E01 call sub_4096EA
.text:00625E06 mov esp, ebp
.text:00625E08 pop ebp
.text:00625E09 retn 18h
.text:00625E0C ; ---------------------------------------------------------------------------
.text:00625E0C
.text:00625E0C loc_625E0C: ; CODE XREF: sub_625DD0+27j
.text:00625E0C cmp dword_CBF9F4, 0
.text:00625E13 jz short loc_625E4D
.text:00625E15 cmp edi, dword_CBF9AC
.text:00625E1B jnz short loc_625E3E
.text:00625E1D mov ecx, [ebp+arg_8]
.text:00625E20 cmp ecx, dword_CBF9A8
.text:00625E26 jnz short loc_625E3E
.text:00625E28 mov eax, 1
.text:00625E2D pop edi
.text:00625E2E mov ecx, [ebp+var_4]
.text:00625E31 xor ecx, ebp
.text:00625E33 call sub_4096EA
.text:00625E38 mov esp, ebp
.text:00625E3A pop ebp
.text:00625E3B retn 18h
.text:00625E3E ; ---------------------------------------------------------------------------
.text:00625E3E
.text:00625E3E loc_625E3E: ; CODE XREF: sub_625DD0+4Bj
.text:00625E3E ; sub_625DD0+56j
.text:00625E3E mov edx, [ebp+arg_8]
.text:00625E41 mov dword_CBF9AC, edi
.text:00625E47 mov dword_CBF9A8, edx
.text:00625E4D
.text:00625E4D loc_625E4D: ; CODE XREF: sub_625DD0+43j
.text:00625E4D cmp dword_CBF6DC, 0
.text:00625E54 jnz short loc_625DF9
.text:00625E56 push 104h ; nSize
.text:00625E5B lea eax, [ebp+FileName]
.text:00625E61 push eax ; lpFilename
.text:00625E62 push 0 ; hModule
.text:00625E64 mov dword_CBF6DC, 1
.text:00625E6E mov [ebp+FileName], 0
.text:00625E75 mov [ebp+Caption], 0
.text:00625E7C call ds:GetModuleFileNameA
.text:00625E82 push 140h ; size_t
.text:00625E87 lea ecx, [ebp+FindFileData]
.text:00625E8D push 0 ; int
.text:00625E8F push ecx ; void *
.text:00625E90 call _memset
.text:00625E95 add esp, 0Ch
.text:00625E98 lea edx, [ebp+FindFileData]
.text:00625E9E push edx ; lpFindFileData
.text:00625E9F lea eax, [ebp+FileName]
.text:00625EA5 push eax ; lpFileName
.text:00625EA6 call ds:FindFirstFileA
.text:00625EAC test eax, eax
.text:00625EAE jz short loc_625EB7
.text:00625EB0 push eax ; hFindFile
.text:00625EB1 call ds:FindClose
.text:00625EB7
.text:00625EB7 loc_625EB7: ; CODE XREF: sub_625DD0+DEj
.text:00625EB7 push 104h
.text:00625EBC lea ecx, [ebp+FindFileData.cFileName]
.text:00625EC2 push ecx
.text:00625EC3 lea edx, [ebp+Caption]
.text:00625EC9 push edx
.text:00625ECA call sub_61B540
.text:00625ECF lea eax, [ebp+Caption]
.text:00625ED5 push 2Eh
.text:00625ED7 push eax
.text:00625ED8 call sub_61B480
.text:00625EDD add esp, 8
.text:00625EE0 test eax, eax
.text:00625EE2 jz short loc_625EF8
.text:00625EE4 lea ecx, [ebp+Caption]
.text:00625EEA push 2Eh
.text:00625EEC push ecx
.text:00625EED call sub_61B480
.text:00625EF2 add esp, 8
.text:00625EF5 mov byte ptr [eax], 0
.text:00625EF8
.text:00625EF8 loc_625EF8: ; CODE XREF: sub_625DD0+112j
.text:00625EF8 push esi
.text:00625EF9 mov esi, [ebp+arg_0]
.text:00625EFC push 100h ; nSize
.text:00625F01 lea edx, [ebp+var_104]
.text:00625F07 push edx ; int
.text:00625F08 push esi ; int
.text:00625F09 mov byte ptr [ebp+var_104], 0
.text:00625F10 call sub_625BC0
.text:00625F15 cmp byte ptr [ebp+var_104], 0
.text:00625F1C jnz short loc_625F47
.text:00625F1E mov ecx, esi
.text:00625F20 call sub_6255D0
.text:00625F25 push eax
.text:00625F26 movzx eax, si
.text:00625F29 push esi
.text:00625F2A push eax
.text:00625F2B xor esi, esi
.text:00625F2D call sub_625030
.text:00625F32 push eax
.text:00625F33 lea ecx, [ebp+var_104]
.text:00625F39 push 100h
.text:00625F3E push ecx
.text:00625F3F call sub_61B710
.text:00625F44 add esp, 18h
.text:00625F47
.text:00625F47 loc_625F47: ; CODE XREF: sub_625DD0+14Cj
.text:00625F47 test edi, edi
.text:00625F49 push ebx
.text:00625F4A mov [ebp+var_D64], edi
.text:00625F50 jz short loc_625F86
.text:00625F52 cmp byte ptr [edi], 0
.text:00625F55 jz short loc_625F86
.text:00625F57 mov eax, [ebp+arg_8]
.text:00625F5A cmp eax, 0FFFFFFFEh
.text:00625F5D jz short loc_625F64
.text:00625F5F cmp eax, 0FFFFFFFDh
.text:00625F62 jnz short loc_625F86
.text:00625F64
.text:00625F64 loc_625F64: ; CODE XREF: sub_625DD0+18Dj
.text:00625F64 push edi
.text:00625F65 mov ebx, 100h
.text:00625F6A lea esi, [ebp+var_C0C]
.text:00625F70 call sub_625B20
.text:00625F75 add esp, 4
.text:00625F78 test eax, eax
.text:00625F7A jz short loc_625F86
.text:00625F7C mov edx, esi
.text:00625F7E mov [ebp+var_D64], edx
.text:00625F84 mov edi, edx
.text:00625F86
.text:00625F86 loc_625F86: ; CODE XREF: sub_625DD0+180j
.text:00625F86 ; sub_625DD0+185j ...
.text:00625F86 test edi, edi
.text:00625F88 lea esi, [ebp+Text]
.text:00625F8E jz short loc_625FA5
.text:00625F90 push 800h
.text:00625F95 push edi
.text:00625F96 mov eax, esi
.text:00625F98 push eax
.text:00625F99 call sub_61B540
.text:00625F9E lea esi, [ebp+eax+Text]
.text:00625FA5
.text:00625FA5 loc_625FA5: ; CODE XREF: sub_625DD0+1BEj
.text:00625FA5 mov eax, [ebp+arg_8]
.text:00625FA8 test eax, eax
.text:00625FAA jle short loc_625FCC
.text:00625FAC push eax
.text:00625FAD lea ecx, [ebp+FileName]
.text:00625FB3 push offset aU_0 ; "(%u)"
.text:00625FB8 sub ecx, esi
.text:00625FBA push ecx
.text:00625FBB push esi
.text:00625FBC call sub_61B710
.text:00625FC1 add esp, 10h
.text:00625FC4 push esi
.text:00625FC5 call sub_61B5C0
.text:00625FCA add esi, eax
.text:00625FCC
.text:00625FCC loc_625FCC: ; CODE XREF: sub_625DD0+1DAj
.text:00625FCC movzx edx, word ptr [ebp+arg_0]
.text:00625FD0 push edx
.text:00625FD1 lea eax, [ebp+FileName]
.text:00625FD7 push offset aErrorU ; " : error %u: "
.text:00625FDC sub eax, esi
.text:00625FDE push eax
.text:00625FDF push esi
.text:00625FE0 call sub_61B710
.text:00625FE5 add esp, 10h
.text:00625FE8 push esi
.text:00625FE9 call sub_61B5C0
.text:00625FEE add esi, eax
.text:00625FF0 lea ecx, [ebp+FileName]
.text:00625FF6 sub ecx, esi
.text:00625FF8 push ecx
.text:00625FF9 lea edx, [ebp+var_104]
.text:00625FFF push edx
.text:00626000 push esi
.text:00626001 call sub_61B540
.text:00626006 lea eax, [ebp+Text]
.text:0062600C push eax ; char
.text:0062600D push offset aS_0 ; "%s\n"
.text:00626012 call sub_62E610
.text:00626017 lea ecx, [ebp+var_104]
.text:0062601D add esp, 8
.text:00626020 push ecx
.text:00626021 mov esi, 1
.text:00626026 call sub_625030
.text:0062602B push eax
.text:0062602C lea edx, [ebp+Text]
.text:00626032 push 800h
.text:00626037 push edx
.text:00626038 call sub_61B710
.text:0062603D add esp, 10h
.text:00626040 lea eax, [ebp+Text]
.text:00626046 push eax
.text:00626047 call sub_61B5C0
.text:0062604C lea ecx, [ebp+FileName]
.text:00626052 push ecx
.text:00626053 mov esi, 2
.text:00626058 lea ebx, [ebp+eax+Text]
.text:0062605F call sub_625030
.text:00626064
.text:00626064 loc_626064: ; DATA XREF: .rdata:00890378o
.text:00626064 push eax
.text:00626065 lea edx, [ebp+FileName]
.text:0062606B sub edx, ebx
.text:0062606D push edx
.text:0062606E push ebx
.text:0062606F call sub_61B710
.text:00626074 add esp, 10h
.text:00626077 push ebx
.text:00626078 call sub_61B5C0
.text:0062607D add ebx, eax
.text:0062607F test edi, edi
.text:00626081 jz loc_62615A
.text:00626087 cmp byte ptr [edi], 0
.text:0062608A jz loc_62615A
.text:00626090 mov eax, [ebp+arg_8]
.text:00626093 add eax, 5 ; switch 5 cases
.text:00626096 cmp eax, 4
.text:00626099 ja loc_626130 ; default
.text:0062609F jmp ds:off_626550[eax*4] ; switch jump
.text:006260A6
.text:006260A6 loc_6260A6: ; DATA XREF: .text:off_626550o
.text:006260A6 mov esi, 4 ; case -0x1
.text:006260AB
.text:006260AB loc_6260AB: ; CODE XREF: sub_625DD0+33Ej
.text:006260AB push edi
.text:006260AC call sub_625030
.text:006260B1 push eax
.text:006260B2 lea eax, [ebp+FileName]
.text:006260B8 sub eax, ebx
.text:006260BA push eax
.text:006260BB push ebx
.text:006260BC call sub_61B710
.text:006260C1 add esp, 10h
.text:006260C4 jmp loc_626152
.text:006260C9 ; ---------------------------------------------------------------------------
.text:006260C9
.text:006260C9 loc_6260C9: ; CODE XREF: sub_625DD0+2CFj
.text:006260C9 ; DATA XREF: .text:off_626550o
.text:006260C9 push edi ; case -0x2
.text:006260CA mov esi, 5
.text:006260CF call sub_625030
.text:006260D4 push eax
.text:006260D5 lea ecx, [ebp+FileName]
.text:006260DB sub ecx, ebx
.text:006260DD push ecx
.text:006260DE push ebx
.text:006260DF call sub_61B710
.text:006260E4 add esp, 10h
.text:006260E7 jmp short loc_626152
.text:006260E9 ; ---------------------------------------------------------------------------
.text:006260E9
.text:006260E9 loc_6260E9: ; CODE XREF: sub_625DD0+2CFj
.text:006260E9 ; DATA XREF: .text:off_626550o
.text:006260E9 push edi ; case -0x3
.text:006260EA mov esi, 6
.text:006260EF call sub_625030
.text:006260F4 push eax
.text:006260F5 lea edx, [ebp+FileName]
.text:006260FB sub edx, ebx
.text:006260FD push edx
.text:006260FE push ebx
.text:006260FF call sub_61B710
.text:00626104 add esp, 10h
.text:00626107 jmp short loc_626152
.text:00626109 ; ---------------------------------------------------------------------------
.text:00626109
.text:00626109 loc_626109: ; CODE XREF: sub_625DD0+2CFj
.text:00626109 ; DATA XREF: .text:off_626550o
.text:00626109 mov esi, 0Bh ; case -0x4
.text:0062610E jmp short loc_6260AB
.text:00626110 ; ---------------------------------------------------------------------------
.text:00626110
.text:00626110 loc_626110: ; CODE XREF: sub_625DD0+2CFj
.text:00626110 ; DATA XREF: .text:off_626550o
.text:00626110 push edi ; case -0x5
.text:00626111 mov esi, 0Eh
.text:00626116 call sub_625030
.text:0062611B push eax
.text:0062611C lea ecx, [ebp+FileName]
.text:00626122 sub ecx, ebx
.text:00626124 push ecx
.text:00626125 push ebx
.text:00626126 call sub_61B710
.text:0062612B add esp, 10h
.text:0062612E jmp short loc_626152
.text:00626130 ; ---------------------------------------------------------------------------
.text:00626130
.text:00626130 loc_626130: ; CODE XREF: sub_625DD0+2C9j
.text:00626130 mov edx, [ebp+arg_8] ; default
.text:00626133 push edx
.text:00626134 push edi
.text:00626135 mov esi, 3
.text:0062613A call sub_625030
.text:0062613F push eax
.text:00626140 lea eax, [ebp+FileName]
.text:00626146 sub eax, ebx
.text:00626148 push eax
.text:00626149 push ebx
.text:0062614A call sub_61B710
.text:0062614F add esp, 14h
.text:00626152
.text:00626152 loc_626152: ; CODE XREF: sub_625DD0+2F4j
.text:00626152 ; sub_625DD0+317j ...
.text:00626152 push ebx
.text:00626153 call sub_61B5C0
.text:00626158 add ebx, eax
.text:0062615A
.text:0062615A loc_62615A: ; CODE XREF: sub_625DD0+2B1j
.text:0062615A ; sub_625DD0+2BAj
.text:0062615A cmp [ebp+arg_0], 85100000h
.text:00626161 mov eax, [ebp+var_D58]
.text:00626167 jnz short loc_626189
.text:00626169 test eax, eax
.text:0062616B jnz short loc_626172
.text:0062616D mov eax, offset byte_834463
.text:00626172
.text:00626172 loc_626172: ; CODE XREF: sub_625DD0+39Bj
.text:00626172 push eax
.text:00626173 mov esi, 7
.text:00626178 call sub_625030
.text:0062617D lea ecx, [ebp+FileName]
.text:00626183 push eax
.text:00626184 sub ecx, ebx
.text:00626186 push ecx
.text:00626187 jmp short loc_6261A7
.text:00626189 ; ---------------------------------------------------------------------------
.text:00626189
.text:00626189 loc_626189: ; CODE XREF: sub_625DD0+397j
.text:00626189 test eax, eax
.text:0062618B jnz short loc_626192
.text:0062618D mov eax, offset byte_834463
.text:00626192
.text:00626192 loc_626192: ; CODE XREF: sub_625DD0+3BBj
.text:00626192 push eax
.text:00626193 mov esi, 8
.text:00626198 call sub_625030
.text:0062619D lea edx, [ebp+FileName]
.text:006261A3 push eax
.text:006261A4 sub edx, ebx
.text:006261A6 push edx
.text:006261A7
.text:006261A7 loc_6261A7: ; CODE XREF: sub_625DD0+3B7j
.text:006261A7 push ebx
.text:006261A8 call sub_61B710
.text:006261AD add esp, 10h
.text:006261B0 push ebx
.text:006261B1 call sub_61B5C0
.text:006261B6 add ebx, eax
.text:006261B8 cmp dword_CBF9E0, 0
.text:006261BF jnz loc_6262D1
.text:006261C5 call sub_632850
.text:006261CA push offset stru_CBF6C4 ; lpCriticalSection
.text:006261CF call sub_625140
.text:006261D4 mov esi, dword_CBF6C0
.text:006261DA add esp, 4
.text:006261DD mov eax, offset stru_CBF6C4
.text:006261E2 mov [ebp+var_D50], esi
.text:006261E8 mov dword_CBF6C0, 0
.text:006261F2 call sub_625190
.text:006261F7 test esi, esi
.text:006261F9 jz short loc_626200
.text:006261FB mov esi, [esi+4]
.text:006261FE jmp short loc_626202
.text:00626200 ; ---------------------------------------------------------------------------
.text:00626200
.text:00626200 loc_626200: ; CODE XREF: sub_625DD0+429j
.text:00626200 xor esi, esi
.text:00626202
.text:00626202 loc_626202: ; CODE XREF: sub_625DD0+42Ej
.text:00626202 lea eax, [ebp+SystemTime]
.text:00626208 push eax ; lpSystemTime
.text:00626209 call ds:GetLocalTime
.text:0062620F test esi, esi
.text:00626211 mov [ebp+var_D54], offset aCrash ; "Crash"
.text:0062621B jnz short loc_626227
.text:0062621D mov [ebp+var_D54], offset aError_1 ; "Error"
.text:00626227
.text:00626227 loc_626227: ; CODE XREF: sub_625DD0+44Bj
.text:00626227 lea ecx, [ebp+SystemTime]
.text:0062622D push ecx
.text:0062622E mov ecx, [ebp+var_D54]
.text:00626234 lea edx, [ebp+Text]
.text:0062623A call sub_6254B0
.text:0062623F mov edi, eax
.text:00626241 add esp, 4
.text:00626244 cmp edi, 0FFFFFFFFh
.text:00626247 jz short loc_626265
.text:00626249 mov ecx, esi
.text:0062624B neg ecx
.text:0062624D sbb ecx, ecx
.text:0062624F and ecx, 0FFFFFFFEh
.text:00626252 add ecx, 2
.text:00626255 mov eax, esi
.text:00626257 mov edx, edi
.text:00626259 call sub_6255A0
.text:0062625E mov eax, edi
.text:00626260 call sub_6255C0
.text:00626265
.text:00626265 loc_626265: ; CODE XREF: sub_625DD0+477j
.text:00626265 call sub_632CA0
.text:0062626A test eax, eax
.text:0062626C jz short loc_6262CC
.text:0062626E cmp dword_CBF89C, 0
.text:00626275 jnz short loc_6262CC
.text:00626277 mov ecx, [ebp+var_D54]
.text:0062627D push 104h
.text:00626282 push offset off_86FB2C
.text:00626287 lea edi, [ebp+SystemTime]
.text:0062628D lea edx, [ebp+FindFileData.cFileName+10h]
.text:00626293 call sub_6253A0
.text:00626298 mov edi, eax
.text:0062629A add esp, 8
.text:0062629D cmp edi, 0FFFFFFFFh
.text:006262A0 jz short loc_6262CC
.text:006262A2 mov eax, [ebp+var_D50]
.text:006262A8 lea edx, [ebp+var_D5C]
.text:006262AE push edx
.text:006262AF push 1
.text:006262B1 push eax
.text:006262B2 push edi
.text:006262B3 mov [ebp+var_D5C], offset unk_CBF718
.text:006262BD call sub_632C00
.text:006262C2 add esp, 10h
.text:006262C5 mov eax, edi
.text:006262C7 call sub_6255C0
.text:006262CC
.text:006262CC loc_6262CC: ; CODE XREF: sub_625DD0+49Cj
.text:006262CC ; sub_625DD0+4A5j ...
.text:006262CC call sub_632860
.text:006262D1
.text:006262D1 loc_6262D1: ; CODE XREF: sub_625DD0+3EFj
.text:006262D1 cmp dword_CBF9F4, 0
.text:006262D8 jz short loc_6262FC
.text:006262DA pop ebx
.text:006262DB pop esi
.text:006262DC mov dword_CBF6DC, 0
.text:006262E6 mov eax, 1
.text:006262EB pop edi
.text:006262EC mov ecx, [ebp+var_4]
.text:006262EF xor ecx, ebp
.text:006262F1 call sub_4096EA
.text:006262F6 mov esp, ebp
.text:006262F8 pop ebp
.text:006262F9 retn 18h
.text:006262FC ; ---------------------------------------------------------------------------
.text:006262FC
.text:006262FC loc_6262FC: ; CODE XREF: sub_625DD0+508j
.text:006262FC call sub_6251D0
.text:00626301 test eax, eax
.text:00626303 jz short loc_626383
.text:00626305 cmp [ebp+arg_10], 0
.text:00626309 jz short loc_626349
.text:0062630B lea ecx, [ebp+FileName]
.text:00626311 sub ecx, ebx
.text:00626313 push ecx
.text:00626314 mov esi, 0Dh
.text:00626319 call sub_625030
.text:0062631E push eax
.text:0062631F push ebx
.text:00626320 call sub_61B540
.text:00626325 lea ebx, [esi+23h]
.text:00626328 mov esi, 103h
.text:0062632D lea edi, [ebx-29h]
.text:00626330 mov [ebp+var_D50], 2
.text:0062633A mov [ebp+var_D54], 6
.text:00626344 jmp loc_6263F6
.text:00626349 ; ---------------------------------------------------------------------------
.text:00626349
.text:00626349 loc_626349: ; CODE XREF: sub_625DD0+539j
.text:00626349 lea edx, [ebp+FileName]
.text:0062634F sub edx, ebx
.text:00626351 push edx
.text:00626352 mov esi, 0Ch
.text:00626357 call sub_625030
.text:0062635C push eax
.text:0062635D push ebx
.text:0062635E call sub_61B540
.text:00626363 mov esi, 104h
.text:00626368 mov edi, 7
.text:0062636D mov [ebp+var_D50], 0
.text:00626377 mov [ebp+var_D54], 6
.text:00626381 jmp short loc_6263F1
.text:00626383 ; ---------------------------------------------------------------------------
.text:00626383
.text:00626383 loc_626383: ; CODE XREF: sub_625DD0+533j
.text:00626383 cmp [ebp+arg_10], 0
.text:00626387 jz short loc_6263C4
.text:00626389 lea eax, [ebp+FileName]
.text:0062638F sub eax, ebx
.text:00626391 push eax
.text:00626392 mov esi, 0Ah
.text:00626397 call sub_625030
.text:0062639C push eax
.text:0062639D push ebx
.text:0062639E call sub_61B540
.text:006263A3 lea ebx, [esi+26h]
.text:006263A6 mov esi, 101h
.text:006263AB lea edi, [ebx-2Eh]
.text:006263AE mov [ebp+var_D50], 1
.text:006263B8 mov [ebp+var_D54], 0
.text:006263C2 jmp short loc_6263F6
.text:006263C4 ; ---------------------------------------------------------------------------
.text:006263C4
.text:006263C4 loc_6263C4: ; CODE XREF: sub_625DD0+5B7j
.text:006263C4 lea ecx, [ebp+FileName]
.text:006263CA sub ecx, ebx
.text:006263CC push ecx
.text:006263CD mov esi, 9
.text:006263D2 call sub_625030
.text:006263D7 push eax
.text:006263D8 push ebx
.text:006263D9 call sub_61B540
.text:006263DE xor esi, esi
.text:006263E0 xor eax, eax
.text:006263E2 lea edi, [esi+1]
.text:006263E5 mov [ebp+var_D50], eax
.text:006263EB mov [ebp+var_D54], eax
.text:006263F1
.text:006263F1 loc_6263F1: ; CODE XREF: sub_625DD0+5B1j
.text:006263F1 mov ebx, 10h
.text:006263F6
.text:006263F6 loc_6263F6: ; CODE XREF: sub_625DD0+574j
.text:006263F6 ; sub_625DD0+5F2j
.text:006263F6 push offset stru_CBF6E0 ; lpCriticalSection
.text:006263FB call sub_625140
.text:00626400 or esi, ebx
.text:00626402 or esi, 52000h
.text:00626408 add esp, 4
.text:0062640B cmp [ebp+var_D50], 0
.text:00626412 mov [ebp+ExitCode], esi
.text:00626418 jz short loc_626428
.text:0062641A mov edx, [ebp+var_D50]
.text:00626420 mov [ebp+var_D5C], edx
.text:00626426 jmp short loc_62642E
.text:00626428 ; ---------------------------------------------------------------------------
.text:00626428
.text:00626428 loc_626428: ; CODE XREF: sub_625DD0+648j
.text:00626428 mov [ebp+var_D5C], edi
.text:0062642E
.text:0062642E loc_62642E: ; CODE XREF: sub_625DD0+656j
.text:0062642E mov ebx, dword_B42E20
.text:00626434 test bl, 1
.text:00626437 jnz short loc_62643D
.text:00626439 test ebx, ebx
.text:0062643B jnz short loc_62643F
.text:0062643D
.text:0062643D loc_62643D: ; CODE XREF: sub_625DD0+667j
.text:0062643D xor ebx, ebx
.text:0062643F
.text:0062643F loc_62643F: ; CODE XREF: sub_625DD0+66Bj
.text:0062643F mov edi, [ebp+var_D64]
.text:00626445 mov esi, [ebp+arg_0]
.text:00626448
.text:00626448 loc_626448: ; CODE XREF: sub_625DD0+6AAj
.text:00626448 test bl, 1
.text:0062644B mov eax, [ebp+var_D58]
.text:00626451 jnz short loc_62647C
.text:00626453 test ebx, ebx
.text:00626455 jz short loc_62647C
.text:00626457 test eax, eax
.text:00626459 jnz short loc_626460
.text:0062645B mov eax, offset byte_834463
.text:00626460
.text:00626460 loc_626460: ; CODE XREF: sub_625DD0+689j
.text:00626460 mov edx, [ebx+8]
.text:00626463 push eax
.text:00626464 mov eax, [ebp+arg_8]
.text:00626467 push eax
.text:00626468 push edi
.text:00626469 lea ecx, [ebp+var_104]
.text:0062646F push ecx
.text:00626470 push esi
.text:00626471 call edx
.text:00626473 test eax, eax
.text:00626475 jz short loc_6264C1
.text:00626477 mov ebx, [ebx+4]
.text:0062647A jmp short loc_626448
.text:0062647C ; ---------------------------------------------------------------------------
.text:0062647C
.text:0062647C loc_62647C: ; CODE XREF: sub_625DD0+681j
.text:0062647C ; sub_625DD0+685j
.text:0062647C call sub_632CD0
.text:00626481 mov edi, eax
.text:00626483 xor ebx, ebx
.text:00626485 cmp edi, ebx
.text:00626487 jz short loc_6264A1
.text:00626489 push edi ; hWnd
.text:0062648A call ds:IsWindow
.text:00626490 test eax, eax
.text:00626492 jz short loc_62649F
.text:00626494 push edi ; hWnd
.text:00626495 call ds:IsWindowVisible
.text:0062649B test eax, eax
.text:0062649D jnz short loc_6264A1
.text:0062649F
.text:0062649F loc_62649F: ; CODE XREF: sub_625DD0+6C2j
.text:0062649F xor edi, edi
.text:006264A1
.text:006264A1 loc_6264A1: ; CODE XREF: sub_625DD0+6B7j
.text:006264A1 ; sub_625DD0+6CDj
.text:006264A1 mov eax, [ebp+ExitCode]
.text:006264A7 push eax ; uType
.text:006264A8 lea ecx, [ebp+Caption]
.text:006264AE push ecx ; lpCaption
.text:006264AF lea edx, [ebp+Text]
.text:006264B5 push edx ; lpText
.text:006264B6 push edi ; hWnd
.text:006264B7 call ds:MessageBoxA
.text:006264BD mov esi, eax
.text:006264BF jmp short loc_6264C9
.text:006264C1 ; ---------------------------------------------------------------------------
.text:006264C1
.text:006264C1 loc_6264C1: ; CODE XREF: sub_625DD0+6A5j
.text:006264C1 mov esi, [ebp+var_D5C]
.text:006264C7 xor ebx, ebx
.text:006264C9
.text:006264C9 loc_6264C9: ; CODE XREF: sub_625DD0+6EFj
.text:006264C9 mov eax, offset stru_CBF6E0
.text:006264CE call sub_625190
.text:006264D3 cmp esi, [ebp+var_D54]
.text:006264D9 jnz short loc_6264E7
.text:006264DB call sub_6250E0
.text:006264E0
.text:006264E0 loc_6264E0: ; CODE XREF: sub_625DD0+71Dj
.text:006264E0 mov eax, 1
.text:006264E5 jmp short loc_626535
.text:006264E7 ; ---------------------------------------------------------------------------
.text:006264E7
.text:006264E7 loc_6264E7: ; CODE XREF: sub_625DD0+709j
.text:006264E7 cmp esi, [ebp+var_D50]
.text:006264ED jz short loc_6264E0
.text:006264EF push 1
.text:006264F1 call sub_625B00
.text:006264F6 call ds:GetVersion ; Get current version number of Windows
.text:006264F6 ; and information about the operating system platform
.text:006264FC test eax, eax
.text:006264FE mov edi, ds:GetCurrentProcess
.text:00626504 jns short loc_626526
.text:00626506 lea eax, [ebp+ExitCode]
.text:0062650C push eax ; lpExitCode
.text:0062650D call edi ; GetCurrentProcess
.text:0062650F push eax ; hProcess
.text:00626510 call ds:GetExitCodeProcess
.text:00626516 test eax, eax
.text:00626518 jz short loc_626526
.text:0062651A cmp [ebp+ExitCode], 103h
.text:00626524 jnz short loc_626533
.text:00626526
.text:00626526 loc_626526: ; CODE XREF: sub_625DD0+734j
.text:00626526 ; sub_625DD0+748j
.text:00626526 mov ecx, [ebp+uExitCode]
.text:00626529 push ecx ; uExitCode
.text:0062652A call edi ; GetCurrentProcess
.text:0062652C push eax ; hProcess
.text:0062652D call ds:TerminateProcess
.text:00626533
.text:00626533 loc_626533: ; CODE XREF: sub_625DD0+754j
.text:00626533 xor eax, eax
.text:00626535
.text:00626535 loc_626535: ; CODE XREF: sub_625DD0+715j
.text:00626535 mov ecx, [ebp+var_4]
.text:00626538 mov dword_CBF6DC, ebx
.text:0062653E pop ebx
.text:0062653F pop esi
.text:00626540 xor ecx, ebp
.text:00626542 pop edi
.text:00626543
.text:00626543 loc_626543: ; DATA XREF: .rdata:off_836AA4o
.text:00626543 ; .data:00B43418o
.text:00626543 call sub_4096EA
.text:00626548 mov esp, ebp
.text:0062654A pop ebp
.text:0062654B retn 18h
.text:0062654B sub_625DD0 endp
.text:0062654B
.text:0062654B ; ---------------------------------------------------------------------------