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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d1f27
push eax
mov dword fs:[0], esp
sub esp, 0x75c
push ebx
push ebp
mov ebp, dword [esp + 0x774]
xor ebx, ebx
push esi
push edi
cmp byte [ebp], 0
jne 0x41e8ae
call fcn.00404160
mov eax, dword [eax + 0x1c]
push ebx
push ebx
push 0x40e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x41fb7f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x4ee098
push ebp
call esi
test eax, eax
jne 0x41e8e2
call fcn.00404270
mov esi, eax
mov ecx, esi
call fcn.0046e690
mov ecx, dword [esi + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, 1
jmp 0x41fb7f
push str._dde
push ebp
call esi
test eax, eax
je 0x41f991
push str._kill
push ebp
call esi
test eax, eax
jne 0x41e90a
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x41fb7d
mov ecx, 9
mov edi, str._setassoc
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x41e985
push 0x3a
push ebp
mov edi, 1
call fcn.004a8f30
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x41e970
push str.:auto
push esi
call fcn.004a8ea0
add esp, 8
test eax, eax
je 0x41e946
xor edi, edi
push str.:unused
push esi
call fcn.004a8ea0
add esp, 8
test eax, eax
je 0x41e95b
or edi, 2
push str.:all
push esi
call fcn.004a8ea0
add esp, 8
test eax, eax
je 0x41e970
or edi, 4
mov eax, dword [0x4f5e08]
push edi
push ebx
push eax
call fcn.00457690
add esp, 0xc
jmp 0x41fb7d
push 0x80
mov dword [esp + 0x30], vtable.Table_char_.0
call fcn.004bd49b
mov esi, 0x1f
mov ecx, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], ecx
mov dl, byte [0x4f55a8]
xor eax, eax
lea edi, [esp + 0x569]
mov byte [esp + 0x568], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0xf8]
lea ecx, [esp + 0x8c]
push eax
push ecx
mov dword [esp + 0x780], ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x74], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], ebp
call fcn.00402da0
mov edi, dword [0x4f83ec]
mov ebp, dword fs:[0x2c]
add esp, 0xc
test eax, eax
je 0x41ec1b
jmp 0x41ea2b
mov edi, dword [0x4f83ec]
mov ebp, dword fs:[0x2c]
xor ebx, ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea edx, [esp + 0xf4]
push 0x4ee074
push edx
call esi
test eax, eax
jne 0x41ea51
mov dword [esp + 0x68], 1
jmp 0x41ebf4
lea eax, [esp + 0xf4]
push 0x4ee070
push eax
call esi
test eax, eax
jne 0x41ea79
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x8c], eax
jmp 0x41ebf4
lea ecx, [esp + 0xf4]
push str._fullscreen
push ecx
call esi
test eax, eax
jne 0x41ea9c
mov edx, dword [ebp + edi*4]
mov byte [edx + 0x289], 1
jmp 0x41ebf4
lea eax, [esp + 0xf4]
push 0x4ee060
push eax
call esi
test eax, eax
jne 0x41eac2
mov ecx, dword [ebp + edi*4]
mov dword [ecx + 0x290], 2
jmp 0x41ebf4
lea edx, [esp + 0xf4]
push str._seq:forward
push edx
call esi
test eax, eax
jne 0x41eae4
mov eax, dword [ebp + edi*4]
mov dword [eax + 0x2c4], ebx
jmp 0x41ebf4
lea ecx, [esp + 0xf4]
push str._seq:reverse
push ecx
call esi
test eax, eax
jne 0x41eb0a
mov edx, dword [ebp + edi*4]
mov dword [edx + 0x2c4], 1
jmp 0x41ebf4
lea eax, [esp + 0xf4]
push str._seq:random
push eax
call esi
test eax, eax
jne 0x41eb30
mov ecx, dword [ebp + edi*4]
mov dword [ecx + 0x2c4], 2
jmp 0x41ebf4
lea edx, [esp + 0xf4]
push str._sync
push edx
call esi
test eax, eax
jne 0x41eb68
lea eax, [esp + 0x564]
lea ecx, [esp + 0x88]
push eax
push ecx
call fcn.00402da0
add esp, 8
test eax, eax
je 0x41fb09
jmp 0x41ebf4
lea edx, [esp + 0xf4]
push edx
call fcn.00470f80
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41ebf4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
lea ecx, [eax + 1]
cmp edx, ecx
jne 0x41ebe0
mov edx, dword [esp + 0x40]
add edx, eax
lea eax, [edx*4 + 4]
push eax
call fcn.004bd49b
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
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 + 0x34]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
add esp, 8
add eax, ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x88]
push ecx
push edx
call fcn.00402da0
add esp, 8
test eax, eax
jne 0x41ea1c
mov esi, 0x1f
xor ebx, ebx
mov edi, vtable.Table_char_.0
push 0x80
mov dword [esp + 0x14], edi
call fcn.004bd49b
mov ebp, 0x40
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
push 0x80
mov byte [esp + 0x77c], 1
mov dword [esp + 0x50], edi
call fcn.004bd49b
xor ecx, ecx
add esp, 8
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x5c], ebp
mov eax, 1
mov byte [esp + 0x774], 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], ebx
cmp eax, ebx
jle 0x41ef0b
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x41ecac
test ecx, ecx
jl 0x41ecac
mov eax, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
jmp 0x41ecae
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x2fc]
push eax
push ecx
call esi
lea edx, [esp + 0x2fc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 3
jle 0x41ece4
lea eax, [esp + 0x2fc]
push 0
push eax
call fcn.004710a0
add esp, 8
lea ecx, [esp + 0x2fc]
push 0
push ecx
lea edx, [esp + 0x304]
push 0x105
push edx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea eax, [esp + 0x1f4]
lea ecx, [esp + 0x2fc]
push eax
push ecx
call fcn.00472a60
add esp, 8
test eax, eax
jne 0x41ed2f
lea edx, [esp + 0x2fc]
lea eax, [esp + 0x1f4]
push edx
push eax
call esi
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, 0x4f55f8
call fcn.0049b430
test eax, eax
jne 0x41edb7
lea edx, [esp + 0x1f4]
push 0x2a
push edx
call fcn.004a8857
add esp, 8
test eax, eax
jne 0x41ee66
lea eax, [esp + 0x1f4]
push 0x3f
push eax
call fcn.004a8f30
add esp, 8
test eax, eax
jne 0x41ee66
push 0x800
lea ecx, [esp + 0x408]
push 0x160
push ecx
lea edx, [esp + 0x200]
push eax
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x41ee4c
mov eax, dword [esp + 0x40c]
shr eax, 0x1d
and eax, 1
test eax, eax
je 0x41ee66
lea ecx, [esp + 0x1f4]
push ecx
call fcn.00470f80
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41eef2
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x41ee33
mov ecx, dword [esp + 0x5c]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004bd49b
mov ebp, eax
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x50]
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 + 0x50]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
add esp, 8
add eax, ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
jmp 0x41eef2
lea eax, [esp + 0x1f4]
push 0
push eax
call fcn.004a8e56
add esp, 8
test eax, eax
jne 0x41eef2
lea ecx, [esp + 0x1f4]
push ecx
call fcn.00470f80
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41eef2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x41eede
mov ecx, dword [esp + 0x24]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004bd49b
mov ebp, eax
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
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 + 0x18]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add esp, 8
add eax, ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x34]
inc ecx
cmp ecx, eax
mov dword [esp + 0x64], ecx
jl 0x41ec97
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x41f424
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41ef43
mov ecx, dword [str.ACDSee]
mov edx, dword [0x4f5e08]
push 0
push ecx
push 0x1fd
push 0
push edx
call fcn.00471450
add esp, 0x14
jmp 0x41f32f
push 0x80
mov dword [esp + 0x70], vtable.Table_char_.0
call fcn.004bd49b
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0x1f
mov dword [esp + 0x80], 0x40
mov eax, dword [esp + 0x18]
xor edi, edi
test eax, eax
mov byte [esp + 0x774], 3
mov dword [esp + 0x7c], 1
mov dword [esp + 0x64], edi
jle 0x41f238
jmp 0x41ef9f
mov edi, dword [esp + 0x64]
cmp edi, eax
jge 0x41efb0
test edi, edi
jl 0x41efb0
mov eax, dword [esp + 0x14]
mov esi, dword [eax + edi*4]
jmp 0x41efb2
xor esi, esi
push 0x2a
push esi
call fcn.004a8857
add esp, 8
test eax, eax
jne 0x41f084
push 0x3f
push esi
call fcn.004a8f30
add esp, 8
test eax, eax
jne 0x41f084
cmp edi, dword [esp + 0x18]
jge 0x41efeb
test edi, edi
jl 0x41efeb
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + edi*4]
jmp 0x41efed
xor eax, eax
push eax
call fcn.00470f80
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41f223
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x41f06b
mov ecx, dword [esp + 0x80]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004bd49b
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.004bd4c4
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 0x41f223
lea ecx, [esp + 0x90]
lea edx, [esp + 0x668]
push ecx
push edx
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [esp + 0x90]
test eax, eax
je 0x41f0c4
push eax
lea eax, [esp + 0x300]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x90]
mov byte [ecx], 0
lea edx, [esp + 0x668]
lea ecx, [esp + 0x404]
push edx
push 0
mov dword [0x4ee380], 0
call fcn.0042a360
lea eax, [esp + 0x2fc]
push 1
push eax
lea ecx, [esp + 0x40c]
mov byte [esp + 0x77c], 4
call fcn.0042a4c0
lea ecx, [esp + 0x410]
call fcn.0041fc20
mov ecx, dword [esp + 0x418]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x68], eax
jle 0x41f20f
jmp 0x41f129
mov eax, dword [esp + 0x68]
cmp eax, ecx
jge 0x41f13d
test eax, eax
jl 0x41f13d
mov ecx, dword [esp + 0x414]
mov eax, dword [ecx + eax*4]
jmp 0x41f13f
xor eax, eax
test byte [eax + 0x2c], 1
je 0x41f1f7
mov eax, dword [eax + 0x34]
lea edx, [esp + 0x668]
push eax
lea eax, [esp + 0x1f8]
push edx
push eax
call fcn.00471100
lea ecx, [esp + 0x200]
push ecx
call fcn.00470f80
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x41f1f7
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
lea edx, [eax + 1]
cmp ecx, edx
jne 0x41f1e3
mov ecx, dword [esp + 0x80]
add ecx, eax
lea edx, [ecx*4 + 4]
push edx
call fcn.004bd49b
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.004bd4c4
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 eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x418]
inc eax
cmp eax, ecx
mov dword [esp + 0x68], eax
jl 0x41f125
lea ecx, [esp + 0x404]
mov byte [esp + 0x774], 3
call fcn.0042a4b0
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
inc ecx
cmp ecx, eax
mov dword [esp + 0x64], ecx
jl 0x41ef9b
lea ecx, [esp + 0x94]
call fcn.00475b80
mov edx, dword fs:[0x2c]
mov eax, dword [0x4f83ec]
mov ecx, dword [0x4f5e08]
xor ebx, ebx
mov ebp, dword [edx + eax*4]
mov dword [esp + 0x94], ecx
mov ecx, 0xc
lea edi, [esp + 0x9c]
mov al, byte [ebp + 0x2e5]
mov esi, dword [ebp + 0x794]
mov dword [esp + 0x98], ebx
test al, al
rep movsd dword es:[edi], dword [esi]
je 0x41f29d
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xe8], 1
cmp eax, ebx
je 0x41f2a4
mov dword [esp + 0xe8], ebx
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x6c]
lea eax, [esp + 0x94]
push edx
push eax
mov dword [esp + 0xf4], ecx
call fcn.0047a970
mov edi, dword [ebp + 0x794]
mov ecx, 0xc
lea esi, [esp + 0xa4]
add esp, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x774], 2
cmp eax, ebx
mov dword [esp + 0x6c], vtable.Table_char_.0
je 0x41f322
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, ebx
jle 0x41f322
cmp esi, eax
jge 0x41f30e
cmp esi, ebx
jl 0x41f30e
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + esi*4]
jmp 0x41f310
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x78]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f301
mov edx, dword [esp + 0x70]
push edx
call fcn.004bd4c4
add esp, 4
mov eax, dword [esp + 0x58]
mov edi, vtable.Table_char_.0
test eax, eax
mov byte [esp + 0x774], 1
mov dword [esp + 0x48], edi
je 0x41f377
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41f377
cmp esi, eax
jge 0x41f363
test esi, esi
jl 0x41f363
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + esi*4]
jmp 0x41f365
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f356
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41f3c7
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41f3c7
cmp esi, eax
jge 0x41f3b3
test esi, esi
jl 0x41f3b3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
jmp 0x41f3b5
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f3a6
mov eax, dword [esp + 0x14]
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x40]
add esp, 4
test eax, eax
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], edi
je 0x41f41a
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x41f41a
cmp esi, eax
jge 0x41f406
test esi, esi
jl 0x41f406
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + esi*4]
jmp 0x41f408
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f3f9
mov edx, dword [esp + 0x30]
push edx
jmp 0x41fb75
mov al, byte [esp + 0x564]
test al, al
je 0x41f6a1
mov eax, dword fs:[0x2c]
mov ecx, dword [0x4f83ec]
xor edx, edx
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi + 0x2bc]
test ecx, ecx
setne dl
push edx
call fcn.004042a0
add esp, 4
mov esi, eax
lea eax, [edi + 8]
mov ecx, esi
push eax
call fcn.00469ca0
lea ecx, [esp + 0x564]
push ecx
mov ecx, esi
call fcn.00469c10
test eax, eax
je 0x41f5a8
mov edx, dword [esi + 0x1c]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x41f496
push 5
mov ecx, esi
call fcn.004c0814
cmp dword [edi + 0x290], 2
jne 0x41f4a6
mov ecx, esi
call fcn.00465780
mov eax, dword [esi + 0x1c]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [esp + 0x58]
mov edi, vtable.Table_char_.0
test eax, eax
mov byte [esp + 0x774], 1
mov dword [esp + 0x48], edi
je 0x41f4f8
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41f4f8
cmp esi, eax
jge 0x41f4e4
test esi, esi
jl 0x41f4e4
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + esi*4]
jmp 0x41f4e6
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f4d7
mov edx, dword [esp + 0x4c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41f548
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41f548
cmp esi, eax
jge 0x41f534
test esi, esi
jl 0x41f534
mov eax, dword [esp + 0x14]
mov eax, dword [eax + esi*4]
jmp 0x41f536
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f527
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004bd4c4
mov eax, dword [esp + 0x40]
add esp, 4
test eax, eax
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], edi
je 0x41f984
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x41f984
cmp esi, eax
jge 0x41f58f
test esi, esi
jl 0x41f58f
mov edx, dword [esp + 0x30]
mov eax, dword [edx + esi*4]
jmp 0x41f591
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f582
jmp 0x41f984
mov ecx, dword [str.ACDSee]
mov edx, dword [0x4f5e08]
push 0
push ecx
push 0x22c
push 0
push edx
call fcn.00471450
mov eax, dword [esp + 0x6c]
add esp, 0x14
mov edi, vtable.Table_char_.0
mov byte [esp + 0x774], 1
test eax, eax
mov dword [esp + 0x48], edi
je 0x41f606
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41f606
push esi
lea ecx, [esp + 0x4c]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f5ea
mov eax, dword [esp + 0x4c]
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41f64d
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41f64d
push esi
lea ecx, [esp + 0x14]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f631
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004bd4c4
mov eax, dword [esp + 0x40]
add esp, 4
test eax, eax
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], edi
je 0x41f697
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x41f697
push esi
lea ecx, [esp + 0x30]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f67b
mov edx, dword [esp + 0x30]
push edx
jmp 0x41fb75
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, dword fs:[0x2c]
je 0x41f806
mov ecx, dword [0x4f83ec]
xor edx, edx
mov esi, dword [eax + ecx*4]
mov ebx, dword [esi + 0x2bc]
test ebx, ebx
setne dl
push edx
call fcn.004042a0
add esp, 4
mov edi, eax
lea eax, [esi + 8]
mov ecx, edi
push eax
call fcn.00469ca0
cmp dword [esp + 0x18], 1
jne 0x41f6fa
mov al, byte [esi + 0x224]
test al, al
je 0x41f6fa
mov eax, 1
jmp 0x41f6fc
xor eax, eax
push eax
push 0
lea ecx, [esp + 0x18]
push 0
push ecx
mov ecx, edi
call fcn.00462ef0
test eax, eax
je 0x41f821
mov edx, dword [edi + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [esp + 0x58]
mov edi, vtable.Table_char_.0
test eax, eax
mov byte [esp + 0x774], 1
mov dword [esp + 0x48], edi
je 0x41f75e
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41f75e
push esi
lea ecx, [esp + 0x4c]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f742
mov eax, dword [esp + 0x4c]
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41f7a5
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41f7a5
push esi
lea ecx, [esp + 0x14]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f789
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004bd4c4
mov eax, dword [esp + 0x40]
add esp, 4
test eax, eax
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], edi
je 0x41f7ef
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x41f7ef
push esi
lea ecx, [esp + 0x30]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f7d3
mov edx, dword [esp + 0x30]
push edx
call fcn.004bd4c4
add esp, 4
mov eax, 1
jmp 0x41fb7f
mov edx, dword [0x4f83ec]
mov eax, dword [eax + edx*4]
mov al, byte [eax + 0x2d4]
test al, al
jne 0x41f89d
test ecx, ecx
jne 0x41f895
mov edi, dword [esp + 0x77c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x50
push eax
call fcn.004bd49b
mov ecx, dword [0x4f5e08]
add esp, 4
mov esi, eax
push edi
push 0x1fe
push ecx
push esi
call fcn.00472a10
mov edx, dword [str.ACDSee]
add esp, 0x10
push 0x30
push edx
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call fcn.004bd4c4
add esp, 4
lea ecx, [esp + 0x48]
mov byte [esp + 0x774], 1
call fcn.00407a30
lea ecx, [esp + 0x10]
mov byte [esp + 0x774], 0
call fcn.00407a30
jmp 0x41fab3
test al, al
je 0x41f99b
test ecx, ecx
je 0x41f8b4
jle 0x41f8ab
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
jmp 0x41f8ad
xor eax, eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [esp + 0x58]
mov edi, vtable.Table_char_.0
test eax, eax
mov byte [esp + 0x774], 1
mov dword [esp + 0x48], edi
je 0x41f8f3
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41f8f3
push esi
lea ecx, [esp + 0x4c]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f8d7
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41f93a
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41f93a
push esi
lea ecx, [esp + 0x14]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f91e
mov edx, dword [esp + 0x14]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x40]
add esp, 4
test eax, eax
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], edi
je 0x41f984
mov eax, dword [esp + 0x34]
xor esi, esi
test eax, eax
jle 0x41f984
push esi
lea ecx, [esp + 0x30]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41f968
mov eax, dword [esp + 0x30]
push eax
call fcn.004bd4c4
add esp, 4
mov eax, 1
jmp 0x41fb7f
call fcn.00404160
mov edi, eax
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x41f9b2
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
jmp 0x41f9b4
xor eax, eax
mov edx, dword [edi + 0x1c]
push eax
push 0
push 0x40e
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x41facc
mov ebx, dword [esp + 0x77c]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0x50
push eax
call fcn.004bd49b
add esp, 4
mov esi, eax
mov eax, dword [0x4f5e08]
push ebx
push 0x1fe
push eax
push esi
call fcn.00472a10
add esp, 0x10
test edi, edi
je 0x41fa06
mov edi, dword [edi + 0x1c]
mov ecx, dword [str.ACDSee]
push 0x30
push ecx
push esi
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push esi
call fcn.004bd4c4
mov eax, dword [esp + 0x5c]
add esp, 4
mov edi, vtable.Table_char_.0
mov byte [esp + 0x774], 1
test eax, eax
mov dword [esp + 0x48], edi
je 0x41fa5f
mov eax, dword [esp + 0x50]
xor esi, esi
test eax, eax
jle 0x41fa5f
push esi
lea ecx, [esp + 0x4c]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
add esp, 4
inc esi
cmp esi, eax
jl 0x41fa43
mov edx, dword [esp + 0x4c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
mov byte [esp + 0x774], 0
mov dword [esp + 0x10], edi
je 0x41faa6
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
jle 0x41faa6
push esi
lea ecx, [esp + 0x14]
call fcn.0049c140
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
inc esi
cmp esi, eax
jl 0x41fa8a
mov eax, dword [esp + 0x14]
push eax
call fcn.004bd4c4
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x774], 0xffffffff
call fcn.00407a30
jmp 0x41fb7d
lea ecx, [esp + 0x48]
mov byte [esp + 0x774], 1
call fcn.00407a30
lea ecx, [esp + 0x10]
mov byte [esp + 0x774], 0
call fcn.00407a30
lea ecx, [esp + 0x2c]
mov dword [esp + 0x774], 0xffffffff
call fcn.00407a30
mov eax, 1
jmp 0x41fb7f
mov ecx, dword [str.ACDSee]
mov edx, dword [0x4f5e08]
push ebx
push ecx
push 0x22b
push ebx
push edx
call fcn.00471450
mov eax, dword [esp + 0x50]
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x774], 0xffffffff
mov dword [esp + 0x2c], vtable.Table_char_.0
je 0x41fb70
mov eax, dword [esp + 0x34]
xor esi, esi
cmp eax, ebx
jle 0x41fb70
cmp esi, eax
jge 0x41fb5c
cmp esi, ebx
jl 0x41fb5c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + esi*4]
jmp 0x41fb5e
xor eax, eax
push eax
call fcn.004bd4c4
mov eax, dword [esp + 0x38]
add esp, 4
inc esi
cmp esi, eax
jl 0x41fb4f
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004bd4c4
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x76c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x768
ret