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

Disassembly:
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, edx
lea edx, [eax + ebp]
mov eax, dword [esp + 0x78]
push edi
mov dword [esp + 0x80], eax
add eax, ecx
mov ecx, dword [esi + 0x2850]
mov dword [esp + 0x24], edx
sub edx, ebp
push edx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2854]
add eax, ecx
push ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x2814]
lea ebx, [esi + 0x1004]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2810]
lea edi, [esi + 0x1808]
mov dword [esp + 0x3c], ecx
push edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x2818]
push esi
push ecx
lea edx, [esp + 0x38]
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], eax
call fcn.0045ad10
add esp, 0x18
cmp eax, 0xffffff88
ja 0x45b5e6
lea edx, [eax + ebp]
mov ebp, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
add eax, ebp
mov ecx, 4
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], ecx
sub eax, edx
lea ecx, [esp + 0x44]
call fcn.00459230
cmp eax, 0xffffff88
jbe 0x45b45b
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov ebp, dword [esp + 0x48]
movzx edx, word [esi]
mov eax, dword [esp + 0x44]
mov ecx, ebp
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add ebp, edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x54], eax
call fcn.00459320
movzx edx, word [ebx]
mov eax, dword [esp + 0x44]
add esi, 4
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x48]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add esi, edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], esi
mov dword [esp + 0x5c], eax
call fcn.00459320
mov esi, dword [esp + 0x48]
movzx edx, word [edi]
mov eax, dword [esp + 0x44]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add esi, edx
add ebx, 4
lea ecx, [esp + 0x44]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x64], eax
call fcn.00459320
add edi, 4
mov dword [esp + 0x68], edi
call fcn.00459320
cmp eax, 2
jg 0x45b585
mov edi, dword [esp + 0x28]
test edi, edi
je 0x45b585
lea edx, [esp + 0x38]
push edx
lea esi, [esp + 0x48]
dec edi
call fcn.0045afe0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
mov edx, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x50]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0xa4]
call fcn.0045b1c0
add esp, 0x24
cmp eax, 0xffffff88
ja 0x45b5e6
add dword [esp + 0x80], eax
mov ecx, esi
call fcn.00459320
cmp eax, 2
jle 0x45b511
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x50]
jne 0x45b44e
cmp dword [esp + 0x48], 0x20
jne 0x45b44e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, ecx
sub esi, eax
cmp eax, ecx
ja 0x45b44e
mov edi, dword [esp + 0x80]
lea edx, [esi + edi]
cmp edx, dword [esp + 0x18]
jbe 0x45b5cf
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
cmp edi, eax
je 0x45b5de
push esi
push eax
push edi
call fcn.005e2280
add esp, 0xc
mov eax, esi
sub eax, dword [esp + 0x7c]
add eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret