Function at 0x4126d0
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x124
push ebx
push ebp
push esi
mov esi, dword [esp + 0x134]
xor ebx, ebx
push edi
cmp esi, ebx
mov ebp, ecx
je 0x412960
mov eax, dword [esi]
lea ecx, [esp + 0x20]
push ecx
push 0xe0
push ebx
push esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ebx
call dword [eax + 0x10]
test eax, eax
jne 0x412952
jmp 0x412723
mov esi, dword [esp + 0x138]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ebx
push ecx
mov edx, dword [eax]
push 1
push eax
call dword [edx + 0xc]
cmp eax, ebx
jne 0x412952
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
lea eax, [esp + 0x2c]
push eax
push ebx
push ecx
push esi
call dword [edx + 0x2c]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
sub esp, 0x108
mov ecx, 0x42
lea esi, [esp + 0x13c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
call fcn.00412000
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1c], ebx
cmp eax, ebx
je 0x412814
mov ecx, dword [esp + 0x13c]
mov edx, dword [ebp + 0x1c]
push ecx
push 4
push 0x110a
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
cmp esi, ebx
je 0x412814
jmp 0x4127ab
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
jne 0x412925
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x28]
push esi
push eax
mov ecx, ebp
call fcn.004a2976
mov eax, dword [eax]
push edi
push eax
call fcn.0043805f
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete bl
call fcn.004a9169
test bl, bl
je 0x4127ee
mov dword [esp + 0x1c], 1
jmp 0x412802
mov ecx, dword [ebp + 0x1c]
push esi
push 1
push 0x110a
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
test esi, esi
jne 0x4127a9
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x412923
xor ebx, ebx
mov edi, dword [esp + 0x140]
cmp edi, ebx
jne 0x41284a
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x14]
push 0xffff0002
push edx
push ebx
push ebx
push ebx
push eax
push ebx
push ecx
push 0x23
mov ecx, ebp
call fcn.004a2aff
mov esi, eax
jmp 0x412891
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x14]
push 0xffff0003
push edx
push ebx
push ebx
push ebx
push eax
push edi
push ecx
push 0x23
mov ecx, ebp
call fcn.004a2aff
cmp edi, 2
mov esi, eax
jne 0x412891
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x138]
lea edx, [esp + 0x10]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.00412140
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x412925
mov edx, dword [ebp + 0x44]
lea ecx, [ebp + 0x3c]
push eax
push edx
call fcn.004a4062
mov eax, dword [ebp + 0x44]
mov ecx, ebp
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push 4
push esi
call fcn.004a2ab1
mov ecx, dword [esp + 0x10]
push 5
push str.file:
push ecx
mov dword [esp + 0x30], ebx
call fcn.00438200
add esp, 0xc
test eax, eax
je 0x41290f
mov eax, dword [esp + 0x10]
push ebx
push ebx
push ebx
lea edx, [esp + 0x30]
push ebx
push edx
push ebx
push eax
call dword [sym.imp.WININET.dll_GetUrlCacheEntryInfoExA]
test eax, eax
jne 0x41290f
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 2
jne 0x41290f
push ebx
push 4
push 4
push ebx
push ebx
push ebx
push 8
push esi
mov ecx, ebp
call fcn.004a2ab1
mov eax, dword [ebp + 0x5c]
mov edx, dword [esp + 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov dword [esp + 0x10], ebx
jmp 0x412925
xor ebx, ebx
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x412937
mov eax, dword [ebp + 0x5c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
je 0x41271c
mov eax, dword [ebp + 0x5c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
jmp 0x41271c
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x412960
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret 0x14