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

Disassembly:
sub esp, 0x60
push esi
push edi
mov dword [esp + 0x24], 1
call fcn.0045a8b0
mov esi, eax
xor edi, edi
cmp dword [esi + 0x218], edi
je 0x45eef6
pop edi
xor eax, eax
pop esi
add esp, 0x60
ret
mov edx, dword [esi + 0x1c]
inc edx
mov eax, edx
mov dword [esi + 0x1c], edx
cmp eax, 0x18
jge 0x45ef1b
mov dword [esi + eax*4 + 0x20], 0x1e
mov eax, dword [esi + 0x22c]
cmp eax, edi
je 0x45ef1b
call fcn.0045aaf0
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esp + 0x6c]
push ebx
push ebp
push eax
push ecx
call fcn.0045b800
mov edx, dword [esi + 0x1c8]
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0045b800
mov ecx, dword [esi + 0x1c4]
push ecx
call fcn.0045b600
mov edx, dword [esi + 0x1c4]
mov dword [esp + 0x48], eax
push edx
push 1
call fcn.0045b620
mov eax, dword [esi + 0x1c8]
push eax
push 1
call fcn.0045b620
mov ecx, dword [esi + 0x1cc]
push ecx
push 1
call fcn.0045ac50
mov edx, dword [esi + 0x1d0]
push edx
call fcn.0045ac20
mov eax, dword [esi + 0x1c8]
xor ebx, ebx
push eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x48], edi
xor ebp, ebp
mov dword [esp + 0x4c], ebx
call fcn.0045ba20
add esp, 0x34
test eax, eax
je 0x45f65a
jmp 0x45efbd
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x45f04e
mov ecx, dword [esi + 0x1d4]
mov edx, dword [esi + 0x1c8]
mov eax, dword [esi + 0x1c4]
push ecx
push edx
push eax
call fcn.0045da60
mov eax, dword [esi + 0x1c4]
mov ecx, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1c0]
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0x1c4], ecx
mov ecx, dword [esi + 0x1d0]
push edx
push eax
push ecx
call fcn.0045d530
mov eax, dword [esi + 0x1cc]
mov edx, dword [esi + 0x1c0]
push eax
push edx
push eax
call fcn.0045d160
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], eax
mov eax, dword [esp + 0x3c]
add esp, 0x24
inc eax
mov dword [esi + 0x1cc], ecx
mov dword [esp + 0x18], eax
jmp 0x45f17e
mov edx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1c4]
push edx
push ebp
push eax
call fcn.0045bf90
mov eax, dword [esi + 0x1c4]
push eax
push edi
push eax
call fcn.0045bf90
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esi + 0x1c8]
push ecx
push ebx
push edx
call fcn.0045bf90
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push eax
call fcn.0045bf90
mov eax, dword [esp + 0x5c]
add esp, 0x30
test eax, eax
mov eax, dword [esi + 0x1c4]
push eax
jne 0x45f0c5
mov edx, dword [esi + 0x1c0]
push eax
push edx
call fcn.0045d040
mov eax, dword [esi + 0x1c8]
push eax
push eax
mov eax, dword [esi + 0x1d4]
jmp 0x45f0e0
mov ecx, dword [esi + 0x1c0]
push ecx
push eax
call fcn.0045d040
mov eax, dword [esi + 0x1c8]
mov edx, dword [esi + 0x1d4]
push eax
push edx
push eax
call fcn.0045d040
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1cc]
add esp, 0x18
push eax
push ebp
push ecx
call fcn.0045bf90
mov eax, dword [esi + 0x1cc]
push eax
push edi
push eax
call fcn.0045bf90
mov edx, dword [esi + 0x1c0]
mov eax, dword [esi + 0x1d0]
push edx
push ebx
push eax
call fcn.0045bf90
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push eax
call fcn.0045bf90
add esp, 0x30
test edi, edi
jne 0x45f150
mov edx, dword [esi + 0x1cc]
mov eax, dword [esi + 0x1c0]
push edx
push eax
call fcn.0045b800
add esp, 8
jmp 0x45f167
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1c0]
push eax
push ecx
push eax
call fcn.0045cef0
add esp, 0xc
mov eax, dword [esi + 0x1d0]
mov edx, dword [esi + 0x1d4]
push eax
push edx
push eax
call fcn.0045cef0
add esp, 0xc
mov eax, dword [esi + 0x218]
test eax, eax
jne 0x45f65a
mov eax, dword [esi + 0x1c8]
push eax
call fcn.0045ba20
add esp, 4
test eax, eax
je 0x45f65a
mov eax, dword [esi + 0x1c4]
mov edi, dword [eax]
cmp edi, 1
mov dword [esp + 0x2c], edi
jne 0x45f1d3
mov edx, dword [esi + 0x1c8]
mov ecx, dword [eax + 4]
xor ebx, ebx
mov dword [esp + 0x30], edi
mov eax, dword [edx + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x3c], ebx
mov edi, dword [eax]
jmp 0x45f3d8
mov ecx, dword [eax + 4]
mov edx, dword [esi]
test edx, edx
mov eax, dword [ecx + edi*4 - 4]
mov dword [esp + 0x24], ecx
lea ebx, [eax + 1]
mov dword [esp + 0x28], ebx
jne 0x45f2aa
cmp edi, 2
jle 0x45f281
test ebx, ebx
je 0x45f281
mov ecx, dword [ecx + edi*4 - 8]
lea edx, [esp + 0x10]
push edx
push ebx
push ecx
push eax
call fcn.0045ced0
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x1c4]
lea edx, [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x20]
push edx
push ebx
mov edx, dword [ecx + edi*4 - 0xc]
push edx
push eax
call fcn.0045ced0
mov ecx, dword [esi + 0x1c8]
mov ebp, eax
lea edx, [esp + 0x30]
mov eax, dword [ecx + 4]
push edx
push ebx
mov ecx, dword [eax + edi*4 - 8]
mov edx, dword [eax + edi*4 - 4]
push ecx
push edx
call fcn.0045ced0
mov edx, dword [esi + 0x1c8]
mov ecx, dword [esp + 0x58]
mov ebx, eax
lea eax, [esp + 0x40]
push eax
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [eax + edi*4 - 0xc]
push ecx
push edx
call fcn.0045ced0
add esp, 0x40
mov edi, eax
jmp 0x45f3d8
mov ebp, dword [ecx + edi*4 - 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x1c8]
mov eax, dword [eax + 4]
mov ebx, dword [eax + edi*4 - 4]
mov edi, dword [eax + edi*4 - 8]
cmp dword [esp + 0x2c], 2
jne 0x45f3d8
jmp 0x45f3d0
cmp edi, 2
jle 0x45f37f
mov ecx, dword [ecx + edi*4 - 8]
lea ebp, [esp + 0x10]
push ebp
push ebx
push ecx
push edx
push eax
call fcn.0045ceb0
mov edx, dword [esi]
mov ecx, dword [esi + 0x1c4]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 4]
mov ecx, dword [esi]
lea eax, [esp + 0x24]
push eax
mov eax, dword [edx + edi*4 - 0xc]
mov edx, dword [esp + 0x28]
push ebx
push eax
push ecx
push edx
call fcn.0045ceb0
mov ecx, dword [esp + 0x54]
add esp, 0x28
mov ebp, eax
xor eax, eax
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0
push ecx
call fcn.0046ca50
mov ecx, dword [esi + 0x1c8]
add ebp, eax
mov eax, 0
adc eax, edx
lea edx, [esp + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 4]
push edx
mov edx, dword [esp + 0x30]
mov ecx, dword [eax + edi*4 - 8]
mov eax, dword [eax + edi*4 - 4]
push ebx
push ecx
push edx
push eax
call fcn.0045ceb0
mov edx, dword [esi + 0x1c8]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x24]
mov eax, dword [edx + 4]
mov edx, dword [esi]
push ecx
push ebx
mov ecx, dword [eax + edi*4 - 0xc]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.0045ceb0
mov edx, dword [esp + 0x88]
mov ecx, dword [esi]
add esp, 0x28
mov edi, eax
xor eax, eax
xor ebx, ebx
push eax
push edx
push eax
push ecx
call fcn.0046ca50
add edi, eax
adc ebx, edx
jmp 0x45f3d8
xor ebx, ebx
push ebx
push edx
push ebx
push eax
call fcn.0046ca50
mov ebp, eax
mov eax, dword [esp + 0x24]
push ebx
mov ecx, dword [eax + edi*4 - 8]
xor eax, eax
add ebp, ecx
mov ecx, dword [esi + 0x1c8]
adc edx, eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], eax
mov edx, dword [eax + edi*4 - 4]
mov eax, dword [esi]
push eax
push ebx
push edx
call fcn.0046ca50
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x30]
mov ebx, edx
mov edx, dword [eax + ecx*4 - 8]
xor eax, eax
add edi, edx
adc ebx, eax
mov dword [esp + 0x30], 1
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45f426
mov ecx, edi
or ecx, ebx
je 0x45f62e
mov edx, dword [esp + 0x3c]
push ebx
push edi
push edx
push ebp
call fcn.0045f740
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x45f62e
jmp 0x45f55b
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x45f4c6
mov eax, edi
xor edx, edx
sub eax, ecx
mov ecx, ebx
sbb ecx, edx
mov edx, eax
or edx, ecx
mov dword [esp + 0x6c], ecx
je 0x45f62e
mov ecx, dword [esp + 0x14]
mov edx, 0
add ecx, edi
adc edx, ebx
mov dword [esp + 0x40], ecx
or ecx, edx
mov dword [esp + 0x44], edx
je 0x45f62e
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x40]
push eax
xor eax, eax
add edx, ebp
adc eax, ecx
push eax
push edx
call fcn.0045f740
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x45f62e
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
mov edx, dword [esp + 0x24]
mov ecx, ebp
xor eax, eax
sub ecx, edx
mov edx, dword [esp + 0x44]
sbb edx, eax
push edx
push ecx
call fcn.0045f740
mov ecx, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x45f62e
jmp 0x45f55b
mov eax, ecx
mov ecx, 0
add eax, edi
adc ecx, ebx
mov dword [esp + 0x48], eax
or eax, ecx
mov dword [esp + 0x4c], ecx
je 0x45f62e
mov ecx, dword [esp + 0x14]
mov eax, edi
xor edx, edx
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x50], eax
sbb ecx, edx
or eax, ecx
mov dword [esp + 0x54], ecx
je 0x45f62e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
mov ecx, dword [esp + 0x28]
mov eax, ebp
sub eax, ecx
mov ecx, dword [esp + 0x44]
sbb ecx, edx
push ecx
push eax
call fcn.0045f740
add esp, 0x10
mov dword [esp + 0x24], eax
test eax, eax
je 0x45f62e
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x44]
xor edx, edx
add ecx, ebp
adc edx, eax
push edx
push ecx
call fcn.0045f740
mov ecx, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x45f62e
cmp dword [esp + 0x24], 1
jne 0x45f5ac
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
add ecx, eax
cmp ecx, 0x80000000
jae 0x45f62e
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
sub eax, edi
sbb ecx, ebx
mov ebp, edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x1c], edx
mov edi, eax
mov ebx, ecx
jmp 0x45f60d
mov ecx, dword [esp + 0x1c]
mov eax, 0x80000000
sub eax, ecx
xor edx, edx
div dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jae 0x45f62e
mov edx, dword [esp + 0x28]
mov eax, ecx
imul eax, edx
add eax, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
push ebx
mov dword [esp + 0x2c], eax
mov eax, ecx
imul eax, edx
add eax, dword [esp + 0x20]
push edi
push 0
push ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
call fcn.0046ca50
mov ecx, ebp
mov ebp, edi
sub ecx, eax
mov eax, dword [esp + 0x3c]
sbb eax, edx
mov dword [esp + 0x3c], ebx
mov edi, ecx
mov ebx, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
inc edx
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], edx
sete al
mov dword [esp + 0x2c], eax
jmp 0x45f3f3
mov ecx, dword [esp + 0x18]
and ecx, 0x80000001
jns 0x45f63f
dec ecx
or ecx, 0xfffffffe
inc ecx
mov edx, dword [esi + 0x1c8]
mov dword [esp + 0x18], ecx
push edx
call fcn.0045ba20
add esp, 4
test eax, eax
jne 0x45efb1
cmp dword [esp + 0x34], 0xffffffff
jne 0x45f665
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
and eax, 0x80000001
jns 0x45f675
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x45f68f
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esp + 0x78]
push eax
push eax
push ecx
call fcn.0045d310
add esp, 0xc
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
cmp ebx, edi
je 0x45f6e9
mov edx, dword [esi + 0x1c8]
mov eax, dword [esp + 0x74]
push edx
push eax
call fcn.0045b870
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esp + 0x80]
mov edx, dword [esi + 0x1c4]
push eax
push eax
mov eax, dword [esi + 0x1cc]
push ecx
mov ecx, dword [esi + 0x1c8]
push edx
push eax
push ecx
call fcn.0045e400
mov edx, dword [esi + 0x1d0]
push edi
push edx
call fcn.0045b800
add esp, 0x28
mov eax, dword [esi + 0x1cc]
push ebx
push eax
call fcn.0045b800
mov eax, dword [esp + 0x8c]
add esp, 8
cmp eax, ebx
pop ebp
pop ebx
je 0x45f71a
cmp eax, edi
je 0x45f71a
mov ecx, dword [esi + 0x1c4]
push eax
push ecx
call fcn.0045b800
add esp, 8
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x1c4]
dec edi
push edx
mov dword [esi + 0x1c], edi
call fcn.0045ba20
add esp, 4
pop edi
pop esi
add esp, 0x60
ret