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

Disassembly:
sub esp, 0x44
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x18], ebp
cmp esi, ebp
je 0x45fa67
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [eax], ebp
cmp dword [edi], ebp
jne 0x45fa8c
mov byte [edi + 4], 0
mov ecx, dword [ebx + 0x74]
call fcn.004651c0
mov dword [edi], eax
cmp eax, ebp
jne 0x45fa8c
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret 0x24
mov eax, dword [esp + 0x68]
mov dword [esp + 0x38], eax
cmp eax, ebp
je 0x45faa0
mov dword [esp + 0x34], 0x45f340
cmp esi, ebp
jne 0x45fabc
cmp dword [ebx + 0x70], ebp
jne 0x45fabc
mov ecx, dword [ebx + 0x74]
mov eax, dword [ecx]
mov edx, 0x10010
call eax
mov dword [ebx + 0x70], eax
cmp eax, ebp
je 0x45fa7d
cmp byte [edi + 4], 0
jne 0x45fb00
mov ecx, dword [edi]
lea edx, [ebx + 8]
mov dword [esp + 0x14], 5
call fcn.00462950
cmp eax, ebp
jne 0x45fd56
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [edi]
lea edx, [esp + 0x20]
call fcn.004662e0
cmp eax, ebp
jne 0x45fd56
mov dl, byte [esp + 0x1c]
mov byte [edi + 5], dl
mov byte [edi + 4], 1
nop
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebp
mov word [edi + 6], 0x101
mov eax, dword [ebx + 0x50]
mov edx, dword [ebx + 0x54]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
cmp dword [esp + 0x68], ebp
je 0x45fbaa
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x6c]
mov ebx, eax
and ebx, ecx
or esi, 0xffffffff
or ebp, 0xffffffff
cmp ebx, 0xffffffff
je 0x45fb5f
cmp ecx, dword [esp + 0x28]
jb 0x45fb5f
ja 0x45fb53
cmp eax, dword [esp + 0x24]
jb 0x45fb5f
sub eax, dword [esp + 0x24]
sbb ecx, dword [esp + 0x28]
mov esi, eax
mov ebp, ecx
mov ebx, dword [esp + 0x58]
mov eax, dword [ebx + 0x50]
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x45fb7d
cmp ebp, edx
jb 0x45fb7d
ja 0x45fb79
cmp esi, eax
jbe 0x45fb7d
mov esi, eax
xor ebp, ebp
mov ecx, dword [edi]
push ebp
push esi
call fcn.00462aa0
mov edx, dword [ebx + 0x78]
mov eax, dword [ebx + 0x74]
mov ecx, dword [edi]
push edx
push eax
push 0x200000
lea edx, [esp + 0x40]
call fcn.00466060
test eax, eax
jne 0x45fd56
xor ebp, ebp
jmp 0x45fbf6
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x24]
mov ecx, eax
and ecx, edx
mov dword [esp + 0x10], esi
cmp ecx, 0xffffffff
je 0x45fbd1
xor ecx, ecx
cmp ecx, edx
jb 0x45fbd1
ja 0x45fbcb
cmp esi, eax
jbe 0x45fbd1
mov dword [esp + 0x10], eax
mov esi, eax
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x74]
mov edx, dword [esp + 0x6c]
add edx, dword [esp + 0x24]
push eax
push ecx
mov ecx, dword [edi]
push 0x200000
push esi
call fcn.00466080
cmp eax, ebp
jne 0x45fd56
mov edx, dword [esp + 0x60]
mov ecx, edx
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], ecx
lea ebx, [ebx]
mov dword [esp + 0x14], 0x10010
cmp edx, ebp
je 0x45fc2e
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
sub esi, eax
mov dword [esp + 0x14], esi
add eax, edx
jmp 0x45fc31
mov eax, dword [ebx + 0x70]
push ecx
lea ecx, [esp + 0x18]
push ecx
push eax
call fcn.0045f3c0
mov esi, eax
cmp esi, ebp
jne 0x45fca6
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
add esi, ebp
adc dword [esp + 0x30], 0
cmp dword [esp + 0x60], 0
mov dword [esp + 0x2c], esi
je 0x45fc63
mov edx, dword [esp + 0x64]
mov dword [edx], esi
mov eax, dword [edi + 8]
add eax, dword [esp + 0x24]
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x78]
adc ecx, dword [esp + 0x28]
test edx, edx
je 0x45fc8a
push dword [esp + 0x30]
push esi
push ecx
push eax
mov eax, dword [edx]
mov ecx, edx
call eax
test eax, eax
jne 0x45fc9f
xor esi, esi
test ebp, ebp
je 0x45fca4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
xor ebp, ebp
jmp 0x45fc10
mov esi, 0xa
xor ebp, ebp
mov ecx, dword [edi]
call fcn.004660d0
mov eax, dword [edi + 8]
add dword [esp + 0x24], eax
mov ecx, dword [edi + 0xc]
adc dword [esp + 0x28], ecx
cmp esi, ebp
jne 0x45fd32
cmp dword [esp + 0x68], ebp
je 0x45fccf
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
jmp 0x45fcd5
mov edx, dword [esp + 0x10]
xor esi, esi
cmp eax, edx
jne 0x45fd3e
cmp ecx, esi
jne 0x45fd3e
cmp dword [esp + 0x68], ebp
jne 0x45fd26
mov ecx, dword [esp + 0x70]
xor eax, eax
cmp dword [esp + 0x24], ecx
jne 0x45fb00
cmp dword [esp + 0x28], eax
jne 0x45fb00
cmp dword [esp + 0x74], ebp
je 0x45fd54
mov edx, dword [esp + 0x60]
cmp edx, ebp
je 0x45fd60
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x18]
jb 0x45fd4d
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x44
ret 0x24
cmp dword [esp + 0x4c], ebp
je 0x45fb00
jmp 0x45fcfd
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
add esp, 0x44
ret 0x24
mov byte [eax + edx], 0
inc eax
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x24
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx]
push 1
lea edx, [esp + 0x64]
mov byte [esp + 0x64], 0
call eax
cmp eax, 1
je 0x45fd54
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x44
ret 0x24