Function at 0x425920
Capabilities:
Delete file
Get file attributes
Hide graphical window

Disassembly:
sub esp, 0x914
push ebx
mov ebx, dword [esp + 0x91c]
push ebp
push esi
mov eax, dword [ebx + 8]
push edi
cmp eax, 2
jne 0x42597b
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov esi, dword [sym.imp.USER32.dll_SetCursor]
push eax
call esi
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov edi, eax
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push eax
call fcn.004269e0
add esp, 0x10
mov ebx, eax
push edi
call esi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x914
ret
mov esi, dword [esp + 0x928]
xor ebx, ebx
mov eax, dword [esi + 0xc]
mov ebp, dword [esi + 0x14]
cmp eax, ebx
mov dword [esp + 0x18], ebp
je 0x42669b
cmp byte [eax], 0
je 0x42669b
mov ebx, dword [esi + 0x18]
push 0x4e20
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x84], 0x4aa744
mov dword [esp + 0x8c], 0x1388
call fcn.004985f0
mov ecx, dword [esp + 0x8c]
mov edi, eax
xor eax, eax
mov dword [esp + 0x88], edi
rep stosd dword es:[edi], eax
xor edi, edi
add esp, 4
cmp ebx, edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x80], 0x4aa740
jne 0x425ac1
mov ecx, dword [ebp + 8]
shl ecx, 2
push ecx
call fcn.004985f0
mov edx, dword [str.descript.ion]
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0xc]
push edx
lea ecx, [esp + 0x610]
push eax
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0xb0], ebx
call fcn.0043c6e0
mov edx, dword [0x4caa58]
add esp, 0xc
lea eax, [esp + 0x60c]
lea ecx, [esp + 0x80]
push edx
push eax
call fcn.0041cb40
cmp dword [esp + 0x8c], edi
je 0x425aa9
mov eax, dword [ebp + 8]
xor esi, esi
cmp eax, edi
jle 0x425ac1
cmp esi, eax
jge 0x425a8d
cmp esi, edi
jl 0x425a8d
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + esi*4]
jmp 0x425a8f
xor eax, eax
push eax
lea ecx, [esp + 0x84]
call fcn.0041d100
mov dword [ebx + esi*4], eax
mov eax, dword [ebp + 8]
inc esi
cmp esi, eax
jl 0x425a81
jmp 0x425ac1
mov ecx, dword [ebp + 8]
xor eax, eax
shl ecx, 2
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov esi, dword [esp + 0x928]
push 0
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
lea edx, [esp + 0x70]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 4]
push edx
push 0x423770
push ecx
push 0x3e9
push eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov ebx, eax
mov eax, dword [ebp + 8]
and eax, 0xffff
mov dword [esp + 0xac], ebx
shl eax, 0x10
push eax
push 0
push 0x401
push 0x150
push ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0
push 0x151
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4e20
mov dword [esp + 0x58], 0x4aa744
mov dword [esp + 0x60], 0x1388
call fcn.004985f0
mov ecx, dword [esp + 0x60]
mov edi, eax
xor eax, eax
mov dword [esp + 0x5c], edi
add esp, 4
rep stosd dword es:[edi], eax
mov edx, dword [str.descript.ion]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x10]
push edx
lea ecx, [esp + 0x508]
push eax
push ecx
mov dword [esp + 0x60], 0x4aa740
call fcn.0043c6e0
add esp, 0xc
mov edx, dword [0x4cabd8]
lea eax, [esp + 0x464]
xor ecx, ecx
push 0x50
push eax
mov eax, dword [esi + 8]
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
cmp eax, 1
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x7c]
setne cl
add ecx, 0x70
push ecx
push edx
call edi
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x4b4]
push 0x50
push eax
push 0x72
push ecx
call edi
xor ecx, ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], ecx
test eax, eax
jle 0x42646e
jmp 0x425c08
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x928]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x42646e
cmp ecx, eax
jge 0x425c28
test ecx, ecx
jl 0x425c28
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x10]
mov esi, dword [edx + ecx*4]
jmp 0x425c2e
mov ecx, dword [esp + 0x10]
xor esi, esi
cmp ecx, eax
jge 0x425c3e
test ecx, ecx
jl 0x425c3e
mov edx, dword [ebp + 4]
mov edi, dword [edx + ecx*4]
jmp 0x425c40
xor edi, edi
cmp eax, 1
jne 0x425c5a
mov eax, dword [esp + 0x928]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x425c5a
cmp byte [eax], 0
je 0x425c5a
mov edi, eax
lea ecx, [esp + 0x714]
push 0x105
push ecx
push esi
call sub.comdlg32.dll_GetFileTitleA
lea edx, [esp + 0x714]
lea eax, [esp + 0x464]
push edx
lea ecx, [esp + 0x33c]
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x338]
push edx
push 0x67
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebp + 8]
mov ebp, dword [esp + 0x10]
sub eax, ebp
lea ecx, [esp + 0x4b4]
push eax
lea edx, [esp + 0x33c]
push ecx
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x338]
push eax
push 0xf2
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push ebx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push ebp
push 0x402
push 0x150
push ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push esi
mov esi, dword [esp + 0x92c]
lea edx, [esp + 0x1e4]
mov ecx, dword [esi + 0xc]
push ecx
push edx
call fcn.0043c6e0
mov eax, dword [esi + 0x10]
add esp, 0xc
lea ecx, [esp + 0xd8]
push edi
push eax
push ecx
call fcn.0043c6e0
mov eax, dword [esp + 0x7c]
add esp, 0xc
test eax, eax
mov dword [esp + 0xa0], 0
jne 0x42629c
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
push 1
push 0
push 0
lea edx, [esp + 0xbc]
push ebx
push edx
call esi
test eax, eax
je 0x425d9c
mov ebp, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_IsDialogMessageA]
lea eax, [esp + 0xb0]
push eax
push ebx
call edi
test eax, eax
jne 0x425d87
lea ecx, [esp + 0xb0]
push ecx
call ebp
lea edx, [esp + 0xb0]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
lea eax, [esp + 0xbc]
push ebx
push eax
call esi
test eax, eax
jne 0x425d60
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x1e0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov edi, dword [esp + 0x928]
test eax, eax
jne 0x425ea5
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x425ea5
mov ecx, dword [esp + 0x74]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [esp + 0x2e8]
push 0x28
push eax
push 0x73
push ecx
call esi
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x310]
push 0x28
push edx
push 0x74
push eax
call esi
mov eax, dword [edi + 8]
test eax, eax
je 0x42629c
lea ecx, [esp + 0xd8]
push ecx
call fcn.0043d350
add esp, 4
lea edx, [esp + 0x1e0]
mov esi, eax
push edx
call fcn.0043d350
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 4
push eax
lea eax, [esp + 0x2ec]
push eax
push esi
call ebp
add esp, 0xc
lea ecx, [esp + 0xd8]
mov esi, 2
push 0
push ecx
call fcn.00498c50
add esp, 8
test eax, eax
jne 0x425ea5
lea edx, [esp + 0xd8]
push edx
call fcn.0043d350
add esp, 4
mov edi, eax
lea eax, [esp + 0x1e0]
push eax
call fcn.0043d350
add esp, 4
lea ecx, [esp + 0x310]
push eax
push esi
push ecx
push edi
call ebp
add esp, 0x10
lea edx, [esp + 0xd8]
inc esi
push 0
push edx
call fcn.00498c50
add esp, 8
test eax, eax
je 0x425e55
mov edi, dword [esp + 0x928]
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x425fca
lea eax, [esp + 0xd8]
push 0
push eax
call fcn.00498c50
add esp, 8
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xa8], eax
je 0x425fca
mov eax, dword [0x4cabd8]
mov ebp, 1
cmp eax, ebp
je 0x42629c
mov al, byte [0x4cabdc]
test al, al
je 0x425f1e
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x1e0]
push ecx
push edx
call fcn.00423840
add esp, 8
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0xa8], eax
jne 0x426270
mov al, byte [0x4caee0]
lea ecx, [esp + 0x81c]
push eax
lea edx, [esp + 0xdc]
push ecx
push edx
call fcn.0043e150
mov eax, dword [0x4cabd8]
add esp, 0xc
cmp eax, 2
jne 0x425f5e
lea eax, [esp + 0x81c]
lea ecx, [esp + 0xd8]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x425fcf
push 4
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
lea edx, [esp + 0x81c]
mov esi, ebp
push edx
call fcn.0043d350
mov edx, dword [edi]
add esp, 4
lea ecx, [esp + 0x1e0]
push eax
lea eax, [esp + 0xdc]
push eax
push ecx
push ebx
push edx
call fcn.004250d0
add esp, 0x14
cmp eax, 2
jne 0x425fa3
xor esi, esi
mov dword [esp + 0x70], ebp
jmp 0x425fc0
cmp eax, 0x109
jne 0x425fae
xor esi, esi
jmp 0x425fc0
cmp eax, 0x107
jne 0x425fc0
mov dword [esp + 0x9c], 0
test esi, esi
je 0x42629c
jmp 0x425fcf
mov ebp, 1
mov eax, dword [edi + 0x20]
test eax, eax
je 0x426010
mov esi, dword [esp + 0x928]
lea ecx, [esp + 0x70]
mov eax, dword [esi + 0x24]
push eax
push ecx
push 0x151
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, dword [esi + 8]
push eax
lea edx, [esp + 0xe4]
push ebx
lea eax, [esp + 0x1f0]
push edx
push eax
push ecx
call dword [esi + 0x20]
add esp, 0x1c
jmp 0x426073
lea edx, [esp + 0x1e0]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x426048
mov edx, dword [esp + 0x928]
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x1e4]
mov eax, dword [edx + 8]
push ecx
push eax
push ebx
call fcn.00425840
add esp, 0x10
jmp 0x426073
mov eax, dword [edi + 8]
lea ecx, [esp + 0xd8]
cmp eax, ebp
lea edx, [esp + 0x1e0]
push ecx
lea eax, [esp + 0x74]
push edx
push eax
jne 0x42606b
call fcn.00425190
jmp 0x426070
call fcn.00425220
add esp, 0xc
mov ebp, eax
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x42629c
xor esi, esi
cmp ebp, esi
je 0x426287
cmp dword [esp + 0x60], esi
je 0x4261be
push 0x4e20
mov dword [esp + 0x3c], 0x4aa744
mov dword [esp + 0x44], 0x1388
call fcn.004985f0
mov ecx, dword [esp + 0x44]
mov edi, eax
xor eax, eax
mov dword [esp + 0x40], edi
rep stosd dword es:[edi], eax
mov ecx, dword [0x4caa58]
add esp, 4
lea edx, [esp + 0x504]
mov dword [esp + 0x44], esi
push ecx
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x40], 0x4aa740
mov dword [esp + 0x50], 1
call fcn.0041cb40
lea eax, [esp + 0x54]
lea ecx, [esp + 0x38]
push eax
call fcn.0041cfe0
mov ecx, dword [0x4caa58]
mov edx, dword [0x4caa54]
push ecx
lea eax, [esp + 0x508]
push edx
push eax
lea ecx, [esp + 0x44]
call fcn.0041cca0
cmp dword [esp + 0x64], esi
je 0x426158
mov eax, dword [esp + 0x5c]
xor edi, edi
cmp eax, esi
jle 0x426158
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x42614f
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x426149
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov ecx, esi
jne 0x42613c
mov eax, dword [esp + 0x5c]
inc edi
cmp edi, eax
jl 0x426131
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x48]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x38], 0x4aa744
je 0x4261af
cmp dword [esp + 0x40], edi
jle 0x4261af
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x4261a6
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x4261a0
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov ecx, esi
jne 0x426193
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x426188
mov eax, dword [esp + 0x3c]
push eax
call fcn.00498600
add esp, 4
xor esi, esi
lea ecx, [esp + 0x714]
push 0x105
lea edx, [esp + 0xdc]
push ecx
push edx
call sub.comdlg32.dll_GetFileTitleA
push 5
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [esp + 0x714]
lea ecx, [esp + 0x338]
push eax
push str.__s_:
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x338]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edx
call esi
mov ecx, 0x12c
lea edx, [esp + 0x33c]
sub ecx, eax
push ecx
push edx
call esi
lea eax, [esp + eax + 0x340]
push eax
push 0x400
push ebp
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov ecx, dword [str.ACDSee_32]
push 0x102
lea edx, [esp + 0x33c]
push ecx
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 3
je 0x426294
cmp eax, 5
je 0x42629c
mov eax, dword [esp + 0x70]
test eax, eax
je 0x425d39
jmp 0x42629c
mov eax, dword [edi + 8]
test eax, eax
jne 0x42629c
lea eax, [esp + 0x1e0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x42629c
mov dword [esp + 0xa0], 1
jmp 0x42629c
mov dword [esp + 0x70], 1
mov ebp, dword [esp + 0xa0]
test ebp, ebp
je 0x42644f
mov esi, dword [esp + 0xa4]
test esi, esi
je 0x42633c
mov edi, dword [esp + 0x10]
cmp dword [esi + edi*4], 0
je 0x42633c
push 0x14
call fcn.004985f0
add esp, 4
test eax, eax
je 0x4262e1
mov ecx, dword [esi + edi*4]
push ecx
mov ecx, eax
call fcn.0041c700
mov esi, eax
jmp 0x4262e3
xor esi, esi
mov eax, dword [0x4ca940]
test eax, eax
jne 0x4262f7
push 0
push 0x41
mov ecx, esi
call fcn.0041c800
lea edx, [esp + 0xd8]
push edx
call fcn.0043d350
add esp, 4
mov ecx, esi
push eax
call fcn.0041c920
test esi, esi
je 0x42633c
mov eax, dword [esp + 0x5c]
mov ecx, esi
push eax
call fcn.0041c950
mov ecx, dword [esp + 0x58]
shl eax, 2
mov edx, dword [ecx + eax]
mov dword [esi + 4], edx
mov ecx, dword [esp + 0x58]
mov dword [ecx + eax], esi
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
test ebp, ebp
je 0x42644f
mov edx, dword [esp + 0x928]
mov eax, dword [edx + 8]
test eax, eax
jne 0x42644f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x42644f
lea eax, [esp + 0xd8]
push eax
call fcn.0043d350
add esp, 4
lea ecx, [esp + 0x1c]
push 0
push eax
call fcn.0041c6a0
lea ecx, [esp + 0x1c]
test ecx, ecx
jne 0x42638a
xor edi, edi
jmp 0x4263c2
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x1c]
push edx
call fcn.0041c950
mov ecx, dword [esp + 0x84]
mov esi, dword [ecx + eax*4]
test esi, esi
je 0x4263c0
lea edx, [esp + 0x1c]
mov ecx, esi
push edx
call fcn.0041c780
test eax, eax
jne 0x4263c0
mov esi, dword [esi + 4]
test esi, esi
jne 0x4263a9
mov edi, esi
test edi, edi
je 0x426439
mov eax, dword [esp + 0x88]
mov ecx, edi
push eax
call fcn.0041c950
mov ecx, dword [esp + 0x84]
lea ebx, [eax*4]
xor ebp, ebp
mov esi, dword [ecx + ebx]
test esi, esi
je 0x426439
push edi
mov ecx, esi
call fcn.0041c780
test eax, eax
jne 0x426401
mov ebp, esi
mov esi, dword [esi + 4]
test esi, esi
jne 0x4263ec
test esi, esi
je 0x426439
test ebp, ebp
je 0x426411
mov edx, dword [esi + 4]
mov dword [ebp + 4], edx
jmp 0x42641f
mov eax, dword [esp + 0x84]
mov dword [eax + ebx], 0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x426432
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
dec dword [esp + 0x8c]
lea ecx, [esp + 0x1c]
call fcn.0041c750
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xac]
jmp 0x426453
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 8]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x425bfd
mov esi, dword [esp + 0x928]
mov eax, dword [esi + 4]
push 1
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [esi + 4]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x426496
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x42657d
mov ebx, 0x4aa744
push 0x4e20
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], 0x1388
call fcn.004985f0
mov ecx, dword [esp + 0x44]
mov edi, eax
xor eax, eax
mov dword [esp + 0x40], edi
add esp, 4
rep stosd dword es:[edi], eax
mov edx, dword [0x4caa58]
lea eax, [esp + 0x504]
xor edi, edi
push edx
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x40], 0x4aa740
mov dword [esp + 0x50], 1
call fcn.0041cb40
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x3c]
call fcn.0041cfe0
mov edx, dword [0x4caa58]
mov eax, dword [0x4caa54]
push edx
lea ecx, [esp + 0x508]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.0041cca0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
cmp eax, edi
je 0x426570
cmp dword [esp + 0x40], edi
jle 0x426570
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + edi*4]
test ecx, ecx
je 0x426560
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x42655a
mov eax, dword [ecx]
push 1
call dword [eax]
test esi, esi
mov ecx, esi
jne 0x42654d
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x426542
mov esi, dword [esp + 0x928]
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00498600
add esp, 4
mov eax, dword [esi + 8]
test eax, eax
jne 0x4265c8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4265c8
mov edx, dword [str.descript.ion]
mov eax, dword [esi + 0xc]
push edx
lea ecx, [esp + 0x610]
push eax
push ecx
call fcn.0043c6e0
mov edx, dword [0x4caa58]
mov eax, dword [0x4caa54]
add esp, 0xc
lea ecx, [esp + 0x60c]
push edx
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.0041cca0
mov edx, dword [esp + 0x14]
push edx
call fcn.00498600
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x68]
add esp, 4
xor ebx, ebx
test ecx, ecx
sete bl
test eax, eax
mov dword [esp + 0x54], 0x4aa744
je 0x426621
mov eax, dword [esp + 0x5c]
xor edi, edi
test eax, eax
jle 0x426621
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x426618
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x426612
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov ecx, esi
jne 0x426605
mov eax, dword [esp + 0x5c]
inc edi
cmp edi, eax
jl 0x4265fa
mov eax, dword [esp + 0x58]
push eax
call fcn.00498600
mov eax, dword [esp + 0x94]
add esp, 4
test eax, eax
mov dword [esp + 0x80], 0x4aa744
je 0x42667e
mov eax, dword [esp + 0x88]
xor edi, edi
test eax, eax
jle 0x42667e
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x426672
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x42666c
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov ecx, esi
jne 0x42665f
mov eax, dword [esp + 0x88]
inc edi
cmp edi, eax
jl 0x426651
mov eax, dword [esp + 0x84]
push eax
call fcn.00498600
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x914
ret
push 0x80
mov dword [esp + 0x20], 0x4aa684
call fcn.004985f0
mov dl, byte [0x4caf4c]
mov dword [esp + 0x24], eax
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1e5]
mov dword [esp + 0x34], ecx
mov byte [esp + 0x1e4], dl
add esp, 4
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], ebx
cmp eax, ebx
mov dword [esp + 0x28], 0x1f
mov dword [esp + 0x2c], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
jle 0x426902
mov ebp, ebx
mov ecx, dword [esp + 0x10]
xor ebx, ebx
cmp ecx, ebx
jne 0x426902
cmp ebp, eax
jge 0x426723
cmp ebp, ebx
jl 0x426723
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + ebp*4]
jmp 0x426725
xor eax, eax
lea edx, [esp + 0xd8]
push edx
push eax
call fcn.0043c7b0
add esp, 8
lea eax, [esp + 0xd8]
lea ecx, [esp + 0x1e0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x426842
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x4267c9
mov edx, dword [esp + 0x928]
mov ecx, 0xa
mov esi, edx
lea edi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0xbc], ecx
mov ecx, dword [edx + 0x18]
cmp ecx, ebx
je 0x426798
mov edx, ebp
sub edx, eax
lea eax, [ecx + edx*4]
mov dword [esp + 0xc8], eax
jmp 0x42679f
mov dword [esp + 0xc8], ebx
lea edx, [esp + 0xb0]
lea ecx, [esp + 0x1c]
push edx
mov dword [esp + 0xc8], ecx
call fcn.00425920
add esp, 4
xor ecx, ecx
cmp eax, ebx
mov eax, dword [esp + 0x24]
sete cl
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x2c], ebx
je 0x4267fa
xor esi, esi
cmp eax, ebx
jle 0x4267fa
cmp esi, eax
jge 0x4267e6
cmp esi, ebx
jl 0x4267e6
mov edx, dword [esp + 0x20]
mov eax, dword [edx + esi*4]
jmp 0x4267e8
xor eax, eax
push eax
call fcn.00498600
mov eax, dword [esp + 0x28]
add esp, 4
inc esi
cmp esi, eax
jl 0x4267d9
mov eax, dword [esp + 0x20]
push eax
call fcn.00498600
add esp, 4
push 0x80
call fcn.004985f0
add esp, 4
lea ecx, [esp + 0xd8]
lea edx, [esp + 0x1e0]
mov dword [esp + 0x20], eax
push ecx
push edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x1f
mov dword [esp + 0x38], 0x40
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esp + 0x18]
cmp ebp, dword [eax + 8]
jge 0x426857
cmp ebp, ebx
jl 0x426857
mov eax, dword [eax + 4]
mov eax, dword [eax + ebp*4]
jmp 0x426859
xor eax, eax
push eax
call fcn.0043d350
add esp, 4
push eax
call fcn.0043c610
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4268ee
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
lea ecx, [eax + 1]
cmp edx, ecx
jne 0x4268da
mov edx, dword [esp + 0x30]
add edx, eax
lea eax, [edx*4 + 4]
push eax
call fcn.004985f0
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov ebp, eax
add esp, 4
lea ecx, [ecx*4 + 4]
mov edi, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
push eax
call fcn.00498600
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add esp, 4
add eax, ecx
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x14], ebp
mov eax, dword [ecx + 8]
cmp ebp, eax
jl 0x426701
mov edx, dword [esp + 0x24]
test edx, edx
je 0x426979
mov eax, dword [esp + 0x928]
mov ecx, 0xa
mov esi, eax
lea edi, [esp + 0xb0]
mov eax, dword [eax + 0x18]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1e0]
test eax, eax
mov dword [esp + 0xbc], ecx
je 0x426948
mov ecx, dword [esp + 0x14]
sub ecx, edx
lea edx, [eax + ecx*4]
mov dword [esp + 0xc8], edx
jmp 0x426953
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0xb0]
lea eax, [esp + 0x1c]
push ecx
mov dword [esp + 0xc8], eax
call fcn.00425920
add esp, 4
xor edx, edx
test eax, eax
sete dl
mov eax, edx
jmp 0x42697d
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x1c], 0x4aa684
test eax, eax
mov eax, dword [esp + 0x2c]
sete cl
test eax, eax
mov edi, ecx
je 0x4269c5
mov eax, dword [esp + 0x24]
xor esi, esi
test eax, eax
jle 0x4269c5
cmp esi, eax
jge 0x4269b1
test esi, esi
jl 0x4269b1
mov edx, dword [esp + 0x20]
mov eax, dword [edx + esi*4]
jmp 0x4269b3
xor eax, eax
push eax
call fcn.00498600
mov eax, dword [esp + 0x28]
add esp, 4
inc esi
cmp esi, eax
jl 0x4269a4
mov eax, dword [esp + 0x20]
push eax
call fcn.00498600
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x914
ret