Function at 0x40f0d5
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xdc
mov eax, dword [0x439740]
xor eax, esp
mov dword [esp + 0xd4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xf4]
mov ebp, edx
mov edx, dword [esp + 0xf0]
mov esi, ecx
push ecx
lea ecx, [esp + 0xb8]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
call fcn.0040f731
xor ebx, ebx
pop ecx
cmp dword [esp + 0xc4], ebx
je 0x40f585
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], ebx
jb 0x40f131
mov eax, dword [edi]
jmp 0x40f133
mov eax, edi
mov byte [eax], bl
mov eax, dword [esi]
mov esi, dword [eax]
mov dword [esp + 0x18], esi
cmp esi, eax
je 0x40f2ae
mov ebp, dword [esp + 0x20]
lea eax, [esp + 0xb4]
mov edx, 0x436744
push 0x435f70
push eax
lea ecx, [esp + 0x5c]
call fcn.0040f9ed
pop ecx
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.0040cec2
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408f1a
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004094bf
push ecx
lea edx, [esi + 0x28]
lea ecx, [esp + 0x58]
call fcn.0040f731
lea edx, [esi + 0x10]
lea ecx, [esp + 0x70]
call fcn.0040f731
mov dword [esp], 0x436750
call fcn.00401278
pop ecx
push eax
push ecx
push ecx
lea ecx, [esp + 0x78]
call fcn.0040fa3a
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00408ecf
mov esi, 0x436748
push esi
call fcn.00401278
pop ecx
push eax
push esi
lea ecx, [esp + 0x44]
call fcn.00408fc0
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00408ecf
lea eax, [esp + 0x54]
push 0x435f70
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0xa4]
call fcn.0040ceeb
pop ecx
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.0040cec2
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408f1a
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x2c]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x44]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004094bf
lea ecx, [esp + 0x18]
call fcn.00409ca3
mov esi, dword [esp + 0x18]
cmp esi, dword [ebp]
jne 0x40f149
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp]
mov esi, dword [eax]
mov dword [esp + 0x18], esi
cmp esi, eax
je 0x40f4d5
lea edx, [esp + 0x24]
mov dword [esp + 0x24], ebx
lea ecx, [esi + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
call fcn.0040f58b
test al, al
je 0x40f575
push ecx
lea edx, [esi + 0x28]
lea ecx, [esp + 0x70]
call fcn.0040f731
pop ecx
cmp dword [esp + 0x7c], ebx
je 0x40f569
push ecx
lea edx, [esi + 0x10]
lea ecx, [esp + 0x58]
call fcn.0040f731
pop ecx
cmp dword [esp + 0x64], ebx
je 0x40f55d
mov ebp, 0x435f70
lea eax, [esp + 0xb4]
push ebp
push eax
mov edx, 0x436744
lea ecx, [esp + 0x8c]
call fcn.0040f9ed
pop ecx
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.0040cec2
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408f1a
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004094bf
lea eax, [esp + 0x54]
mov edx, 0x436750
push 0x43677c
push eax
lea ecx, [esp + 0xd4]
call fcn.0040f9ed
pop ecx
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.0040cec2
pop ecx
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call fcn.00408f1a
push 0xf
pop esi
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.00408ecf
push 0x436778
call fcn.00401278
pop ecx
push eax
push 0x436778
lea ecx, [esp + 0x8c]
call fcn.00408fc0
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00408ecf
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.00408f1a
push ebx
push 1
lea ecx, [esp + 0x44]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x8c]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0xd4]
call fcn.004094bf
mov esi, 0x43678c
push esi
call fcn.00401278
pop ecx
push eax
push esi
mov ecx, edi
call fcn.00408fc0
push ebp
call fcn.00401278
pop ecx
push eax
push ebp
mov ecx, edi
call fcn.00408fc0
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
cmp esi, eax
je 0x40f47d
sub eax, esi
mov ecx, edi
push eax
push esi
call fcn.00408fc0
push ebp
call fcn.00401278
pop ecx
push eax
push ebp
mov ecx, edi
call fcn.00408fc0
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004094bf
test esi, esi
je 0x40f4bc
push esi
call fcn.00411e25
pop ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x18]
call fcn.00409ca3
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
cmp esi, dword [eax]
jne 0x40f2bf
lea eax, [esp + 0xb4]
mov edx, 0x436744
push 0x4367b8
push eax
lea ecx, [esp + 0xa4]
call fcn.0040f9ed
pop ecx
mov edx, eax
lea ecx, [esp + 0xd0]
call fcn.0040cec2
pop ecx
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.00408f1a
push ebx
push 1
lea ecx, [esp + 0xd4]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0xa4]
call fcn.004094bf
mov byte [esp + 0x17], 1
push ebx
push 1
lea ecx, [esp + 0xbc]
call fcn.004094bf
mov ecx, dword [esp + 0xe4]
mov al, byte [esp + 0x17]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00410549
add esp, 0xdc
ret
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.004094bf
push ebx
push 1
lea ecx, [esp + 0x74]
call fcn.004094bf
cmp dword [esp + 0x24], ebx
je 0x40f585
push dword [esp + 0x24]
call fcn.00411e25
pop ecx
mov byte [esp + 0x17], bl
jmp 0x40f531