Function at 0x49aa4f
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x615bc8
push 0x5988b0
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0xcbc4
call fcn.005a41d0
mov eax, dword [0x61dc40]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xcbc4], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0xcbbc], eax
mov dword [ebp - 0xcbb8], 1
push eax
push edi
call fcn.0049a514
mov esi, eax
mov dword [ebp - 0xcbc0], esi
xor ebx, ebx
cmp esi, ebx
je 0x49b804
mov dword [ebp - 4], ebx
cmp dword [edi + 0x44], ebx
jne case.0x49af3a.106
mov eax, dword [esi]
cmp eax, 0x5d
ja 0x49af1b
je 0x49aeed
cmp eax, 0x3f
ja 0x49ad75
je 0x49ad68
cmp eax, 0x37
ja 0x49ac22
je 0x49abd5
sub eax, 0x33
je 0x49ab9e
dec eax
je 0x49ab68
dec eax
je 0x49ab50
dec eax
jne case.0x49af3a.106
push 0x106c
lea eax, [ebp - 0x18c4]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push dword [ebp - 0x18a8]
push dword [ebp - 0x18ac]
mov eax, edi
call fcn.0049caa5
and dword [ebp - 0xcbb8], 0
jmp case.0x49af3a.106
mov edx, dword [ebp - 0xcbbc]
mov ecx, edi
call fcn.0049c9a2
mov dword [ebp - 0xcbb8], eax
jmp case.0x49af3a.106
push 0x1054
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push dword [ebp - 0x18a4]
lea eax, [ebp - 0x18a0]
mov ecx, edi
call fcn.0049c883
jmp 0x49ab44
push 0x1008
lea eax, [ebp - 0x4b5c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push 0
push 1
lea edx, [ebp - 0x4b54]
mov ecx, edi
call fcn.0049c205
jmp 0x49ab44
push 0x100c
lea eax, [ebp - 0x5b6c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
cmp dword [edi + 0x666c], 1
jne 0x49ab44
lea eax, [ebp - 0x5b60]
push eax
push 0x17
push 0x3402
push dword [edi + 0x6654]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x49ab44
sub eax, 0x3b
je 0x49aca5
dec eax
je 0x49ac46
dec eax
dec eax
jne case.0x49af3a.106
push edi
mov edi, esi
call fcn.0049bb26
and dword [ebp - 0xcbb8], 0
jmp 0x49b7f2
push 0x1258
lea eax, [ebp - 0x1aac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push 0
call dword [sym.imp.USER32.dll_InSendMessageEx]
and al, 9
xor ecx, ecx
cmp al, 1
sete cl
mov eax, ecx
test eax, eax
je 0x49ac86
push 0
call dword [sym.imp.USER32.dll_ReplyMessage]
lea eax, [ebp - 0x1aac]
push eax
push 0x16
push 0x3402
push dword [edi + 0x6654]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x49af3a.106
and dword [ebp - 0x5b6c], 0
push 0x1008
push 0
lea eax, [ebp - 0x5b68]
push eax
call fcn.00596530
add esp, 0xc
push 0x100c
lea eax, [ebp - 0x5b6c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
mov ebx, dword [ebp - 0x4b64]
inc ebx
xor ecx, ecx
mov eax, ebx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0058e040
pop ecx
mov edx, eax
mov dword [ebp - 0xcbc4], edx
test edx, edx
je case.0x49af3a.106
lea eax, [ebp - 0x5b64]
push eax
mov ecx, ebx
call fcn.004054f9
push 0
call dword [sym.imp.USER32.dll_InSendMessageEx]
and al, 9
xor ecx, ecx
cmp al, 1
sete cl
mov eax, ecx
test eax, eax
je 0x49ad3e
push 0
call dword [sym.imp.USER32.dll_ReplyMessage]
push dword [ebp - 0xcbc4]
push 0xb
push 0x3402
push dword [edi + 0x6654]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp - 0xcbc4]
call fcn.0058f807
pop ecx
jmp case.0x49af3a.106
push edi
mov edi, esi
call fcn.0049b8e3
jmp 0x49ac3a
cmp eax, 0x4f
ja 0x49ae1a
je 0x49adcc
sub eax, 0x40
je 0x49adbd
sub eax, 9
je 0x49adb0
dec eax
dec eax
je 0x49ada7
dec eax
jne case.0x49af3a.106
push esi
push edi
call fcn.0049bc55
mov dword [ebp - 0xcbb8], ebx
jmp case.0x49af3a.106
push esi
push edi
call fcn.0049bf25
jmp 0x49ad9c
push edi
mov edi, esi
call fcn.0049b984
jmp 0x49ac3a
call fcn.0042eae6
push dword [esi + 8]
call fcn.0042f4db
jmp 0x49ad9c
and dword [ebp - 0xcbb4], 0
push 0x7004
push 0
lea eax, [ebp - 0xcbb0]
push eax
call fcn.00596530
add esp, 0xc
push 0x7008
lea eax, [ebp - 0xcbb4]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea esi, [ebp - 0xcbb4]
call fcn.0049c51e
jmp 0x49b7ec
sub eax, 0x55
je 0x49aedf
dec eax
je 0x49ae6f
dec eax
dec eax
jne case.0x49af3a.106
and dword [ebp - 0x2d14], eax
push 0x1264
push eax
lea eax, [ebp - 0x2d10]
push eax
call fcn.00596530
add esp, 0xc
push 0x1268
lea eax, [ebp - 0x2d14]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
jmp 0x49ab44
and dword [ebp - 0x18ac], 0
push 0x1050
push 0
lea eax, [ebp - 0x18a8]
push eax
call fcn.00596530
add esp, 0xc
push 0x1054
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x18a0]
push eax
push 0x5db9e0
push 0x823
lea eax, [edi + 0x20e4]
push eax
call fcn.0058f42f
add esp, 0x10
push dword [ebp - 0x18a4]
mov esi, edi
call fcn.0049cd2d
jmp 0x49b7f2
mov ecx, esi
mov edx, edi
call fcn.0049db55
jmp case.0x49af3a.106
push 0x1050
lea eax, [ebp - 0x5bac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push 0
call dword [sym.imp.USER32.dll_ReplyMessage]
jmp case.0x49af3a.106
mov ecx, 0x191
cmp eax, ecx
ja 0x49b4a9
je 0x49b471
sub eax, 0x64
cmp eax, 0x26
ja case.0x49af3a.106
jmp dword [eax*4 + 0x49b847]
push dword [edi + 0x665c]
call fcn.00505d80
push eax
mov esi, dword [ebp - 0xcbc0]
call fcn.005071cd
jmp 0x49ac3a
push dword [edi + 0x665c]
call fcn.004613fc
mov esi, dword [ebp - 0xcbc0]
call fcn.00461b7c
jmp 0x49ac3a
lea edi, [esi + 8]
call fcn.0042eae6
cmp edi, ebx
je 0x49ad9c
mov esi, edi
call fcn.0042f543
mov esi, dword [ebp - 0xcbc0]
xor ebx, ebx
jmp 0x49ad9c
mov ebx, esi
mov ecx, edi
call fcn.0049ba26
jmp case.0x49af3a.106
and dword [ebp - 0x23c], 0
push 0x210
push 0
lea eax, [ebp - 0x238]
push eax
call fcn.00596530
add esp, 0xc
push 0x214
lea eax, [ebp - 0x23c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
xor eax, eax
mov word [ebp - 0x854], ax
push 0x206
push eax
lea eax, [ebp - 0x852]
push eax
call fcn.00596530
add esp, 0xc
push 0x410
push 0
lea eax, [ebp - 0x64c]
push eax
call fcn.00596530
add esp, 0xc
call fcn.004def29
lea eax, [ebp - 0x854]
call fcn.004df994
test eax, eax
je case.0x49af3a.106
call fcn.004def29
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x234]
push eax
call fcn.004dfa2b
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x64c]
call fcn.0047640b
pop ecx
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x854]
push eax
push 0x5db9e0
push 0x103
mov edi, 0x6baf08
push edi
call fcn.0058f42f
add esp, 0x10
mov edx, edi
call fcn.0045d29a
lea ecx, [ebp - 0x64c]
call fcn.004d9ba2
jmp case.0x49af3a.106
mov eax, dword [edi + 0x663c]
lea ecx, [esi + 8]
push eax
push 0x1404
push dword [edi + 0x6654]
push 1
lea eax, [esi + 0x1050]
push eax
call fcn.0042598d
add esp, 0x14
cmp eax, ebx
je case.0x49af3a.106
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
jmp case.0x49af3a.106
and dword [ebp - 0x4564], 0
push 0xa0c
push 0
lea eax, [ebp - 0x4560]
push eax
call fcn.00596530
add esp, 0xc
push 0xa10
lea eax, [ebp - 0x4564]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push edi
lea ecx, [ebp - 0x4564]
call fcn.0049e14a
jmp case.0x49af3a.106
push 0x1054
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x18a4]
push eax
call fcn.0049e2ed
jmp case.0x49af3a.106
push 0x10
lea eax, [ebp - 0xcbdc]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push dword [ebp - 0xcbd0]
push dword [ebp - 0xcbd4]
push dword [edi + 0x663c]
call fcn.0044c7ea
mov ebx, dword [edi + 0x6658]
mov esi, eax
call fcn.0044c88a
jmp 0x49b7f2
push 0x210
lea eax, [ebp - 0x23c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
cmp dword [ebp - 0x234], 0
je 0x49b1f6
call fcn.0046cd13
push 1
lea ecx, [ebp - 0x230]
call fcn.0046cf1e
jmp case.0x49af3a.106
call fcn.0046cd13
lea eax, [ebp - 0x230]
push eax
call fcn.0046cfa6
jmp case.0x49af3a.106
push edi
mov ebx, esi
call fcn.0049bbcc
jmp 0x49ab44
call fcn.004541b4
mov ecx, eax
call fcn.00456290
mov dword [esi + 8], eax
jmp 0x49ad9c
push dword [esi + 8]
call fcn.004541b4
push eax
call fcn.004562e3
jmp 0x49ad9c
push ebx
push ebx
push ebx
lea edi, [esi + 0x1054]
lea eax, [esi + 0xc]
push eax
push dword [esi + 8]
call fcn.004541b4
mov ecx, edi
mov edx, eax
call fcn.004565d3
call fcn.004541b4
mov ecx, eax
call fcn.00456290
mov dword [esi + 0x125c], eax
jmp 0x49ad9c
push dword [esi + 8]
call fcn.004541b4
mov ecx, eax
call fcn.00456c0c
call fcn.004541b4
mov ecx, eax
call fcn.00456290
mov dword [esi + 0xc], eax
jmp 0x49ad9c
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.004541b4
push eax
call fcn.00456ffd
call fcn.004541b4
mov ecx, eax
call fcn.00456290
mov dword [esi + 0x10], eax
jmp 0x49ad9c
push dword [esi + 8]
call fcn.004541b4
push eax
call fcn.00457135
jmp 0x49b284
cmp dword [esi + 8], ebx
je 0x49b32b
mov ecx, dword [edi + 0x663c]
mov esi, dword [ebp - 0xcbc0]
add esi, 0x20
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xcbc0]
lea edx, [eax + 0x1082]
push edx
lea edx, [eax + 0x38]
push edx
push dword [eax + 0x34]
push dword [eax + 0x30]
push dword [eax + 0x18]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 0x1c]
mov eax, dword [ebp - 0xcbc4]
push dword [eax + 0x6658]
push ecx
call fcn.004b7eb7
mov ebx, eax
call fcn.004b7fba
jmp 0x49af8f
call fcn.004b7eb7
call fcn.004b7f76
jmp 0x49ad9c
cmp dword [esi + 0x28], ebx
je 0x49b351
call fcn.00441206
push eax
mov ebx, esi
call fcn.004413c8
jmp 0x49ab44
push dword [esi + 0x2c]
call fcn.0044129c
pop ecx
jmp 0x49ab44
mov eax, dword [edi + 0x6758]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x675c]
jmp 0x49b290
mov eax, dword [edi + 0x675c]
jmp 0x49b225
cmp dword [esi + 0x190], ebx
je 0x49b38e
mov edi, dword [edi + 0x663c]
jmp 0x49b391
or edi, 0xffffffff
lea eax, [esi + 0x194]
push eax
push edi
lea eax, [esi + 0x110]
push eax
lea eax, [esi + 0x90]
push eax
lea eax, [esi + 0x10]
push eax
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.004b4a73
mov ebx, eax
call fcn.004b4bc3
jmp 0x49ab44
push esi
push 0x4e
push 0x3402
push dword [edi + 0x6654]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x49ad9c
mov ebx, dword [edi + 0x663c]
lea edi, [esi + 8]
call fcn.004bb0da
test edi, edi
je 0x49ab44
push edi
mov ecx, ebx
call fcn.004bb105
jmp 0x49ab44
lea eax, [esi + 0x1a80]
push eax
lea eax, [esi + 0x1878]
push eax
lea eax, [esi + 0x1670]
push eax
lea eax, [esi + 0x1468]
push eax
lea eax, [esi + 0x218]
push eax
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x420]
push eax
call fcn.00505d80
push eax
call fcn.0050702a
jmp case.0x49af3a.106
lea edi, [esi + 0x420]
call fcn.00505d80
push eax
mov ecx, edi
call fcn.0050730e
jmp case.0x49af3a.106
mov esi, dword [ebp - 0xcbc0]
add esi, 0x420
call fcn.00505d80
mov ecx, eax
call fcn.00507996
jmp 0x49b7f2
push 0x1460
lea eax, [ebp - 0x2f0c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push dword [ebp - 0xcbbc]
push edi
lea esi, [ebp - 0x2f0c]
call fcn.0049d6d6
jmp 0x49b7ec
mov ecx, 0x24a
cmp eax, ecx
ja 0x49b6de
je 0x49b6aa
mov ecx, 0x19e
cmp eax, ecx
ja 0x49b611
je 0x49b593
cmp eax, 0x192
je 0x49b561
cmp eax, 0x19a
je 0x49b52e
add eax, 0xfffffe64
cmp eax, 1
ja case.0x49af3a.106
push 0x1054
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
xor eax, eax
cmp dword [ebp - 0x85c], eax
sete al
push eax
lea ecx, [ebp - 0x18ac]
mov esi, edi
call fcn.0049d836
jmp 0x49b7ec
push 0x1460
lea eax, [ebp - 0x2f0c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push 0
call dword [sym.imp.USER32.dll_ReplyMessage]
call fcn.004ab9aa
jmp 0x49ab44
push 0x1460
lea eax, [ebp - 0x2f0c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
push edi
lea eax, [ebp - 0x2f0c]
call fcn.0049d53a
jmp 0x49ab5d
push 0x20a8
lea eax, [ebp - 0x3b54]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
xor eax, eax
cmp dword [ebp - 0x1abc], eax
jne 0x49b5e8
cmp dword [ebp - 0x1ab0], eax
jne 0x49b5e8
cmp dword [ebp - 0x1ab4], eax
jne 0x49b5e8
push 1
lea eax, [ebp - 0x2b04]
push eax
push 1
lea edx, [ebp - 0x3b4c]
mov ecx, edi
call fcn.00499ec2
jmp 0x49b602
lea eax, [ebp - 0x3b54]
push eax
push 0x23
push 0x3402
push dword [edi + 0x6654]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0xcbb8], 1
jmp case.0x49af3a.106
sub eax, 0x1b0
je 0x49b69d
dec eax
je 0x49b66c
sub eax, 0x93
jne case.0x49af3a.106
lea eax, [esi + 0x1052]
push ebx
push eax
lea ebx, [esi + 8]
call fcn.004541b4
mov edx, ebx
mov ecx, eax
call fcn.004571f8
test eax, eax
jne 0x49ab44
push eax
lea eax, [esi + 0x1052]
push eax
add edi, 0x55d4
call fcn.004541b4
mov edx, edi
mov ecx, eax
call fcn.004571f8
jmp 0x49ab44
push 0x209c
lea eax, [ebp - 0x3b4c]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea ecx, [ebp - 0x3b4c]
call fcn.0049c62a
jmp 0x49ab5d
push edi
mov ebx, esi
call fcn.0049e3cb
jmp 0x49ab44
push 0x1058
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea eax, [ebp - 0x18ac]
push eax
mov esi, edi
call fcn.0049c70a
jmp 0x49b7ec
sub eax, 0x24b
je 0x49b7c2
dec eax
je 0x49b782
dec eax
je 0x49b73e
sub eax, 4
je 0x49b731
sub eax, 0xa
je 0x49b729
dec eax
dec eax
je 0x49b71b
dec eax
jne case.0x49af3a.106
call fcn.00505d80
mov ecx, esi
mov edx, eax
call fcn.00506cae
jmp 0x49ad9c
mov ecx, esi
mov edx, edi
call fcn.0049de53
jmp 0x49ad9c
push esi
push 0x48
jmp 0x49ac8f
push edi
mov ebx, esi
call fcn.0049c7fb
jmp 0x49ab44
push 0xc
lea eax, [ebp - 0xcbd8]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
mov eax, dword [edi + 0x663c]
mov dword [ebp - 0xcbc8], eax
mov eax, dword [ebp - 0xcbd0]
mov dword [ebp - 0xcbc4], eax
lea eax, [ebp - 0xcbc8]
push eax
push 0x3e
jmp 0x49ac0c
push 0xc
lea eax, [ebp - 0xcbcc]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
mov eax, dword [edi + 0x663c]
mov dword [ebp - 0xcbd4], eax
mov eax, dword [ebp - 0xcbc4]
mov dword [ebp - 0xcbd0], eax
lea eax, [ebp - 0xcbd4]
push eax
push 0x3d
jmp 0x49ac0c
push 0x1054
lea eax, [ebp - 0x18ac]
push eax
push dword [ebp - 0xcbbc]
mov ebx, edi
call fcn.0049a6ae
test eax, eax
je case.0x49af3a.106
lea ecx, [ebp - 0x18ac]
mov esi, edi
call fcn.0049c780
mov dword [ebp - 0xcbb8], eax
mov esi, dword [ebp - 0xcbc0]
mov dword [ebp - 4], 0xfffffffe
call fcn.0049b82c
mov eax, dword [ebp - 0xcbb8]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0058f3cf
leave
ret 4