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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43ac18
push eax
mov dword fs:[0], esp
sub esp, 0x34
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x50]
xor ebp, ebp
cmp ecx, ebp
push edi
jne 0x4095ff
xor al, al
jmp 0x4098c4
mov edi, dword [esp + 0x58]
cmp edi, ebp
je 0x4098c2
mov ebx, dword [esp + 0x5c]
cmp ebx, ebp
je 0x4098c2
test bl, 1
je 0x409621
dec ebx
mov dword [esp + 0x5c], ebx
cmp ebx, ebp
jne 0x40962c
xor al, al
jmp 0x4098c4
call fcn.00417df0
lea ecx, [esp + 0x30]
mov byte [esp + 0x13], al
mov dword [esp + 0x18], ebp
mov byte [esp + 0x12], 1
call fcn.00407230
cmp ebx, ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x14], ebp
jbe 0x4098ab
mov ebx, dword [esp + 0x60]
mov al, byte [esi + 0x81]
test al, al
je 0x4096c0
mov edx, dword [esp + 0x5c]
lea eax, [ebp + 3]
cmp edx, eax
jb 0x4096c0
cmp byte [edi + ebp], 0xfd
jne 0x4096c0
cmp byte [edi + ebp + 1], 0xef
jne 0x4096c0
add ebp, 2
xor eax, eax
mov dword [esp + 0x14], ebp
mov al, byte [edi + ebp]
cmp eax, 6
jae 0x4098a1
inc ebp
mov dword [esp + 0x14], ebp
lea ecx, [eax + ebp]
cmp edx, ecx
mov dword [esp + 0x60], ecx
jb 0x4098a1
add ebp, edi
push eax
push ebp
mov ecx, ebx
call fcn.00407af0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
mov ebp, ecx
jmp 0x4098a1
mov al, byte [esp + 0x13]
test al, al
je 0x4096f2
mov al, byte [edi + ebp + 1]
test al, al
jne 0x4096f2
mov cl, byte [edi + ebp]
lea eax, [edi + ebp]
cmp cl, 0x80
jae 0x4096f2
push 1
push eax
mov ecx, ebx
call fcn.00407af0
mov dword [esp + 0x18], 1
jmp 0x40989a
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x18]
lea eax, [esp + 0x24]
push edx
add edi, ebp
push eax
push 2
push edi
call fcn.00418290
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x409889
cmp byte [edi], 0
jne 0x409735
mov ecx, dword [esp + 0x58]
mov al, byte [ecx + ebp + 1]
test al, al
jne 0x409735
push 0
mov ecx, ebx
call fcn.00407aa0
jmp 0x409896
mov eax, dword [esi + 8]
test eax, eax
je 0x409882
mov cl, byte [esi + 0x81]
test cl, cl
je 0x409879
cmp eax, 1
jne 0x409774
mov eax, dword [esi + 0x10]
test eax, eax
je 0x409882
lea edx, [esi + 0x14]
push eax
push edx
mov ecx, ebx
call fcn.00407af0
mov byte [esp + 0x12], 0
jmp 0x409896
cmp eax, 7
jne 0x4097ba
mov ebp, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
push ebx
push 2
push edi
push ebp
push 0x4b0
mov ecx, esi
mov dword [esp + 0x74], eax
mov dword [esi + 8], 0
call fcn.0040b290
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x78], ebp
mov ebp, dword [esp + 0x14]
mov dword [esi + 8], 7
mov dword [esi + 0x7c], ecx
mov byte [esp + 0x12], 0
jmp 0x409896
cmp eax, 2
jne 0x409879
lea ecx, [esp + 0x30]
call fcn.00407120
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x20], ecx
push edx
push 2
push edi
push eax
push 0x4b0
mov ecx, esi
mov dword [esp + 0x30], eax
mov dword [esi + 8], 0
call fcn.0040b290
lea ecx, [esp + 0x30]
call fcn.00419a90
test eax, eax
je 0x40985d
lea ecx, [esp + 0x30]
call fcn.00419a90
push 0x26
mov ecx, ebx
mov ebp, eax
call fcn.00407aa0
push 0x23
mov ecx, ebx
call fcn.00407aa0
push 0x78
mov ecx, ebx
call fcn.00407aa0
xor edi, edi
test ebp, ebp
jle 0x409850
push ebx
push 1
push edi
lea ecx, [esp + 0x3c]
call fcn.00407140
push eax
mov ecx, esi
call fcn.00408f10
inc edi
cmp edi, ebp
jl 0x409836
push 0x3b
mov ecx, ebx
call fcn.00407aa0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esi + 8], eax
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
mov byte [esp + 0x12], 0
jmp 0x409896
push ebx
push edi
mov ecx, esi
call fcn.00408f80
mov byte [esp + 0x12], 0
jmp 0x409896
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00407af0
mov edi, dword [esp + 0x58]
add ebp, 2
mov dword [esp + 0x14], ebp
cmp ebp, dword [esp + 0x5c]
jb 0x40965b
lea ecx, [esp + 0x30]
mov dword [esp + 0x4c], 0xffffffff
call fcn.00407840
mov al, byte [esp + 0x12]
jmp 0x4098c4
mov al, 1
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x40
ret 0x10