Function at 0x4028a0
Capabilities:
Get file system object information
Resolve function by parsing pe exports
Set current directory

Disassembly:
sub esp, 0x578
push ebx
push ebp
push esi
mov esi, dword [esp + 0x588]
push edi
push 0x4e006c
push esi
call fcn.004be9b0
add esp, 8
test eax, eax
jne 0x403730
push 0x80
mov dword [esp + 0x34], 0x4cc6f4
call fcn.004be967
mov dword [esp + 0x38], eax
mov al, byte [0x4eb858]
mov ebx, 0x40
mov byte [esp + 0x488], al
mov ecx, ebx
xor eax, eax
lea edi, [esp + 0x489]
lea edx, [esp + 0x8c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x118]
xor ebp, ebp
push ecx
push edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], 0x1f
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], 1
mov dword [esp + 0x74], ebp
mov dword [esp + 0x98], ebp
stosb byte es:[edi], al
mov dword [esp + 0x94], esi
call fcn.004020b0
add esp, 0xc
mov edi, 2
test eax, eax
je 0x402b29
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea eax, [esp + 0x114]
push 0x4e015c
push eax
mov ebx, 1
call esi
test eax, eax
jne 0x402976
mov dword [esp + 0x68], ebx
jmp 0x402b04
lea ecx, [esp + 0x114]
push 0x4e0158
push ecx
call esi
test eax, eax
jne 0x402999
mov dword [esp + 0x68], ebx
mov dword [esp + 0x8c], ebx
jmp 0x402b04
lea edx, [esp + 0x114]
push str._fullscreen
push edx
call esi
test eax, eax
jne 0x4029b7
mov dword [0x4eb3e8], ebx
jmp 0x402b04
lea eax, [esp + 0x114]
push 0x4e0148
push eax
call esi
test eax, eax
jne 0x4029d5
mov dword [0x4eb400], edi
jmp 0x402b04
lea ecx, [esp + 0x114]
push str._seq:forward
push ecx
call esi
test eax, eax
jne 0x4029f3
mov dword [0x4eb45c], ebp
jmp 0x402b04
lea edx, [esp + 0x114]
push str._seq:reverse
push edx
call esi
test eax, eax
jne 0x402a11
mov dword [0x4eb45c], ebx
jmp 0x402b04
lea eax, [esp + 0x114]
push str._seq:random
push eax
call esi
test eax, eax
jne 0x402a2f
mov dword [0x4eb45c], edi
jmp 0x402b04
lea ecx, [esp + 0x114]
push str._sync
push ecx
call esi
test eax, eax
jne 0x402a67
lea edx, [esp + 0x484]
lea eax, [esp + 0x88]
push edx
push eax
call fcn.004020b0
add esp, 8
test eax, eax
je 0x403848
jmp 0x402b04
lea ecx, [esp + 0x114]
push ecx
call fcn.0044a200
mov ebx, eax
add esp, 4
cmp ebx, ebp
je 0x402b04
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x402af0
mov ecx, dword [esp + 0x44]
add eax, ecx
lea edx, [eax*4 + 4]
push edx
call fcn.004be967
mov ebp, eax
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 + 0x38]
push eax
call fcn.004be975
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
add eax, ecx
add esp, 8
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], eax
xor ebp, ebp
mov edi, 2
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x114]
lea edx, [esp + 0x88]
push ecx
push edx
call fcn.004020b0
add esp, 8
test eax, eax
jne 0x402955
mov ebx, 0x40
mov esi, 0x4cc6f4
push 0x80
mov dword [esp + 0x18], esi
call fcn.004be967
mov edi, 0x1f
push 0x80
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x54], esi
call fcn.004be967
mov dword [esp + 0x58], eax
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
add esp, 8
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x10], ebp
jle 0x402e09
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jge 0x402baa
test ecx, ecx
jl 0x402baa
mov eax, dword [esp + 0x34]
mov eax, dword [eax + ecx*4]
jmp 0x402bac
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x274]
push eax
push ecx
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [esp + 0x274]
push edx
call esi
cmp byte [esp + eax + 0x273], 0x5c
jne 0x402bf8
lea eax, [esp + 0x274]
push eax
call esi
cmp eax, 3
jle 0x402bf8
lea ecx, [esp + 0x274]
push ecx
call esi
mov byte [esp + eax + 0x273], 0
lea edx, [esp + 0x274]
push 0
push edx
lea eax, [esp + 0x27c]
push 0x105
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea ecx, [esp + 0x37c]
lea edx, [esp + 0x274]
push ecx
push edx
call fcn.0044c400
add esp, 8
test eax, eax
jne 0x402c43
lea eax, [esp + 0x274]
lea ecx, [esp + 0x37c]
push eax
push ecx
call edi
lea edx, [esp + 0x37c]
push 0x2a
push edx
call fcn.004bea70
add esp, 8
test eax, eax
jne 0x402d64
lea eax, [esp + 0x37c]
push 0x3f
push eax
call fcn.004bea70
add esp, 8
test eax, eax
jne 0x402d64
push 0x800
lea ecx, [esp + 0x118]
push 0x160
push ecx
lea edx, [esp + 0x388]
push eax
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x402d4a
mov eax, dword [esp + 0x11c]
shr eax, 0x1d
and eax, 1
test eax, eax
je 0x402d64
lea ecx, [esp + 0x37c]
push ecx
call fcn.0044a200
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x402df0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x402d31
mov ecx, dword [esp + 0x60]
add eax, ecx
lea edx, [eax*4 + 4]
push edx
call fcn.004be967
mov ebp, eax
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x54]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 + 0x54]
push eax
call fcn.004be975
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
add esp, 8
add eax, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
jmp 0x402df0
lea eax, [esp + 0x37c]
push 0
push eax
call fcn.004becfa
add esp, 8
test eax, eax
jne 0x402df0
lea ecx, [esp + 0x37c]
push ecx
call fcn.0044a200
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x402df0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x402ddc
mov ecx, dword [esp + 0x28]
add eax, ecx
lea edx, [eax*4 + 4]
push edx
call fcn.004be967
mov ebp, eax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 + 0x1c]
push eax
call fcn.004be975
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
add esp, 8
add eax, ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
inc ecx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jl 0x402b95
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x40331c
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x402e41
mov ecx, dword [str.ACDSee_32]
mov edx, dword [0x4eb828]
push 0
push ecx
push 0x1fd
push 0
push edx
call fcn.0044ace0
add esp, 0x14
jmp 0x403242
push 0x80
mov dword [esp + 0x70], 0x4cc6f4
call fcn.004be967
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
add esp, 4
xor edi, edi
test eax, eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0x1f
mov dword [esp + 0x80], 0x40
mov dword [esp + 0x7c], 1
mov dword [esp + 0x68], edi
jle 0x40315a
jmp 0x402e95
mov edi, dword [esp + 0x68]
cmp edi, eax
jge 0x402ea6
test edi, edi
jl 0x402ea6
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edi*4]
jmp 0x402ea8
xor esi, esi
push 0x2a
push esi
call fcn.004bea70
add esp, 8
test eax, eax
jne 0x402f7a
push 0x3f
push esi
call fcn.004bea70
add esp, 8
test eax, eax
jne 0x402f7a
cmp edi, dword [esp + 0x1c]
jge 0x402ee1
test edi, edi
jl 0x402ee1
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + edi*4]
jmp 0x402ee3
xor eax, eax
push eax
call fcn.0044a200
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x403145
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x402f61
mov ecx, dword [esp + 0x80]
add eax, ecx
lea edx, [eax*4 + 4]
push edx
call fcn.004be967
mov ebp, eax
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
mov edi, ebp
lea ecx, [eax*4 + 4]
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 + 0x74]
push eax
call fcn.004be975
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
add esp, 8
add eax, ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x74], eax
jmp 0x403145
lea ecx, [esp + 0x94]
call fcn.00424d70
lea ecx, [esp + 0x90]
lea edx, [esp + 0x114]
push ecx
push edx
push 0x104
push esi
mov dword [esp + 0xb4], 1
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x402fd1
push eax
lea eax, [esp + 0x380]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x90]
mov byte [ecx], 0
lea edx, [esp + 0x37c]
push 0
lea eax, [esp + 0x118]
push edx
push eax
lea ecx, [esp + 0xa0]
mov dword [0x4e08ac], 0
call fcn.00424f70
mov ecx, dword [esp + 0x9c]
cmp ecx, 2
jl 0x403024
push 0x403c40
push 4
push ecx
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.004beb2c
mov ecx, dword [esp + 0xac]
add esp, 0x10
xor eax, eax
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x403139
jmp 0x403038
mov eax, dword [esp + 0x10]
cmp eax, ecx
jge 0x40304c
test eax, eax
jl 0x40304c
mov edx, dword [esp + 0x98]
mov eax, dword [edx + eax*4]
jmp 0x40304e
xor eax, eax
mov edx, dword [eax + 8]
test edx, edx
jne 0x403128
mov eax, dword [esp + 0x10]
cmp eax, ecx
jge 0x403071
test eax, eax
jl 0x403071
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp 0x403073
xor eax, eax
mov edx, dword [eax + 0x68]
lea eax, [esp + 0x114]
push edx
lea ecx, [esp + 0x278]
push eax
push ecx
call fcn.0044a2d0
lea edx, [esp + 0x280]
push edx
call fcn.0044a200
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x403121
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
lea ecx, [eax + 1]
cmp edx, ecx
jne 0x40310d
mov edx, dword [esp + 0x80]
add eax, edx
lea eax, [eax*4 + 4]
push eax
call fcn.004be967
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
mov ebp, eax
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 + 0x74]
push eax
call fcn.004be975
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
add esp, 8
add eax, ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x403034
lea ecx, [esp + 0x94]
call fcn.00424ec0
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
inc ecx
cmp ecx, eax
mov dword [esp + 0x68], ecx
jl 0x402e91
lea ecx, [esp + 0xb4]
call fcn.0044d120
mov ecx, dword [0x4eb828]
mov eax, dword [0x4eb530]
mov dword [esp + 0xb4], ecx
xor ebx, ebx
mov ecx, 0xc
mov esi, 0x4eb4c1
lea edi, [esp + 0xbc]
mov dword [esp + 0xb8], ebx
cmp eax, ebx
rep movsd dword es:[edi], dword [esi]
je 0x4031ae
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x108], 1
cmp eax, ebx
je 0x4031b5
mov dword [esp + 0x108], ebx
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x6c]
lea ecx, [esp + 0xb4]
push eax
push ecx
mov dword [esp + 0x114], edx
call fcn.004525f0
mov ecx, 0xc
lea esi, [esp + 0xc4]
mov edi, 0x4eb4c1
push 0x1e
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.00406790
mov eax, dword [esp + 0x8c]
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x6c], 0x4cc6f4
je 0x403235
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, ebx
jle 0x403235
cmp esi, eax
jge 0x403221
cmp esi, ebx
jl 0x403221
mov edx, dword [esp + 0x70]
mov eax, dword [edx + esi*4]
jmp 0x403223
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x78]
add esp, 4
inc esi
cmp esi, eax
jl 0x403214
mov eax, dword [esp + 0x70]
push eax
call fcn.004be975
add esp, 4
mov eax, dword [esp + 0x5c]
mov edi, 0x4cc6f4
test eax, eax
mov dword [esp + 0x4c], edi
je 0x403282
mov eax, dword [esp + 0x54]
xor esi, esi
test eax, eax
jle 0x403282
cmp esi, eax
jge 0x40326e
test esi, esi
jl 0x40326e
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + esi*4]
jmp 0x403270
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x58]
add esp, 4
inc esi
cmp esi, eax
jl 0x403261
mov edx, dword [esp + 0x50]
push edx
call fcn.004be975
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x14], edi
je 0x4032ca
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x4032ca
cmp esi, eax
jge 0x4032b6
test esi, esi
jl 0x4032b6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + esi*4]
jmp 0x4032b8
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
cmp esi, eax
jl 0x4032a9
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004be975
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x403312
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
jle 0x403312
cmp esi, eax
jge 0x4032fe
test esi, esi
jl 0x4032fe
mov edx, dword [esp + 0x34]
mov eax, dword [edx + esi*4]
jmp 0x403300
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x4032f1
mov eax, dword [esp + 0x34]
push eax
jmp 0x4038a8
mov al, byte [esp + 0x484]
test al, al
je 0x403512
lea ecx, [esp + 0x484]
push ecx
mov ecx, dword [0x4eb824]
call fcn.00444d60
test eax, eax
je 0x403435
cmp dword [0x4eb400], 2
jne 0x40335a
mov ecx, dword [0x4eb824]
call fcn.00441ab0
mov edx, dword [0x4eb824]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esp + 0x5c]
mov edi, 0x4cc6f4
test eax, eax
mov dword [esp + 0x4c], edi
je 0x4033aa
mov eax, dword [esp + 0x54]
xor esi, esi
test eax, eax
jle 0x4033aa
cmp esi, eax
jge 0x403396
test esi, esi
jl 0x403396
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + esi*4]
jmp 0x403398
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x58]
add esp, 4
inc esi
cmp esi, eax
jl 0x403389
mov edx, dword [esp + 0x50]
push edx
call fcn.004be975
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x14], edi
je 0x4033e9
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x4033e9
push esi
lea ecx, [esp + 0x18]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
cmp esi, eax
jl 0x4033cd
mov eax, dword [esp + 0x18]
push eax
call fcn.004be975
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x403723
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
jle 0x403723
push esi
lea ecx, [esp + 0x34]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x403414
jmp 0x403723
mov edx, dword [str.ACDSee_32]
mov eax, dword [0x4eb828]
push 0
push edx
push 0x22c
push 0
push eax
call fcn.0044ace0
mov eax, dword [esp + 0x70]
add esp, 0x14
mov edi, 0x4cc6f4
test eax, eax
mov dword [esp + 0x4c], edi
je 0x40348a
mov eax, dword [esp + 0x54]
xor esi, esi
test eax, eax
jle 0x40348a
push esi
lea ecx, [esp + 0x50]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x58]
add esp, 4
inc esi
cmp esi, eax
jl 0x40346e
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004be975
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x14], edi
je 0x4034c9
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x4034c9
push esi
lea ecx, [esp + 0x18]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
cmp esi, eax
jl 0x4034ad
mov edx, dword [esp + 0x18]
push edx
call fcn.004be975
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x403508
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
jle 0x403508
push esi
lea ecx, [esp + 0x34]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x4034ec
mov eax, dword [esp + 0x34]
push eax
jmp 0x4038a8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x40360a
mov ebp, dword [0x4eb338]
xor eax, eax
test ebp, ebp
setne al
push eax
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
mov ecx, dword [0x4eb824]
call fcn.00440190
test eax, eax
je 0x40361b
mov eax, dword [esp + 0x5c]
mov edi, 0x4cc6f4
test eax, eax
mov dword [esp + 0x4c], edi
je 0x40357f
mov eax, dword [esp + 0x54]
xor esi, esi
test eax, eax
jle 0x40357f
push esi
lea ecx, [esp + 0x50]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x58]
add esp, 4
inc esi
cmp esi, eax
jl 0x403563
mov edx, dword [esp + 0x50]
push edx
call fcn.004be975
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x14], edi
je 0x4035be
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x4035be
push esi
lea ecx, [esp + 0x18]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
cmp esi, eax
jl 0x4035a2
mov eax, dword [esp + 0x18]
push eax
call fcn.004be975
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x403723
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
jle 0x403723
push esi
lea ecx, [esp + 0x34]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x4035e9
jmp 0x403723
mov al, byte [0x4eb485]
test al, al
jne 0x403657
test ecx, ecx
jne 0x403740
mov edi, dword [esp + 0x58c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x50
push eax
call fcn.004be967
mov edx, dword [0x4eb828]
push edi
mov esi, eax
push 0x1fe
push edx
push esi
call fcn.0044c380
mov eax, dword [str.ACDSee_32]
add esp, 0x14
push 0x30
push eax
jmp 0x4037e3
test ecx, ecx
je 0x40366e
jle 0x403665
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
jmp 0x403667
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [esp + 0x5c]
mov edi, 0x4cc6f4
test eax, eax
mov dword [esp + 0x4c], edi
je 0x4036a5
mov eax, dword [esp + 0x54]
xor esi, esi
test eax, eax
jle 0x4036a5
push esi
lea ecx, [esp + 0x50]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x58]
add esp, 4
inc esi
cmp esi, eax
jl 0x403689
mov edx, dword [esp + 0x50]
push edx
call fcn.004be975
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
mov dword [esp + 0x14], edi
je 0x4036e4
mov eax, dword [esp + 0x1c]
xor esi, esi
test eax, eax
jle 0x4036e4
push esi
lea ecx, [esp + 0x18]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
cmp esi, eax
jl 0x4036c8
mov eax, dword [esp + 0x18]
push eax
call fcn.004be975
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
mov dword [esp + 0x30], edi
je 0x403723
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
jle 0x403723
push esi
lea ecx, [esp + 0x34]
call fcn.0042cac0
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x403707
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004be975
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x578
ret
mov ecx, dword [0x4eb824]
push 1
call fcn.00441950
mov eax, dword [0x4eb820]
test eax, eax
jne 0x403790
push 0x9b8
call fcn.004be967
add esp, 4
test eax, eax
je 0x403782
mov edx, dword [0x4eb83c]
mov ecx, dword [0x4eb828]
push 0xa
push edx
push 0
push ecx
mov ecx, eax
call fcn.004010b0
jmp 0x403784
xor eax, eax
mov dword [0x4eb820], eax
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14]
push 0
push 1
push 0
lea ecx, [esp + 0x58]
call fcn.0042cac0
push eax
call fcn.00401490
add esp, 0xc
test eax, eax
jne 0x40381d
mov edi, dword [esp + 0x58c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x50
push eax
call fcn.004be967
mov esi, eax
mov eax, dword [0x4eb828]
push edi
push 0x1fe
push eax
push esi
call fcn.0044c380
mov ecx, dword [str.ACDSee_32]
add esp, 0x14
push 0x30
push ecx
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call fcn.004be975
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00403b80
lea ecx, [esp + 0x14]
call fcn.00403b80
lea ecx, [esp + 0x30]
call fcn.00403b80
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x578
ret
lea ecx, [esp + 0x4c]
call fcn.00403b80
lea ecx, [esp + 0x14]
call fcn.00403b80
lea ecx, [esp + 0x30]
call fcn.00403b80
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x578
ret
mov edx, dword [str.ACDSee_32]
mov eax, dword [0x4eb828]
push ebp
push edx
push 0x22b
push ebp
push eax
call fcn.0044ace0
mov eax, dword [esp + 0x54]
add esp, 0x14
cmp eax, ebp
mov dword [esp + 0x30], 0x4cc6f4
je 0x4038a3
mov eax, dword [esp + 0x38]
xor esi, esi
cmp eax, ebp
jle 0x4038a3
cmp esi, eax
jge 0x40388f
cmp esi, ebp
jl 0x40388f
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + esi*4]
jmp 0x403891
xor eax, eax
push eax
call fcn.004be975
mov eax, dword [esp + 0x3c]
add esp, 4
inc esi
cmp esi, eax
jl 0x403882
mov edx, dword [esp + 0x34]
push edx
call fcn.004be975
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x578
ret