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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebp, ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x10]
push edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x28], ebp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x4c], ebp
mov dword [esi + 0x58], ebp
movsx eax, word [edi]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x24]
cmp eax, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esi]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x34], edx
jbe 0x45a15f
lea ebx, [eax + 3]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esi + 0x2c]
push eax
and ebx, 0xfffffffc
push ebx
push ecx
push 4
push edx
call fcn.0042a290
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp eax, ebp
jne 0x45a49c
mov dword [esi + 0x24], ebx
movsx eax, word [edi + 2]
mov ecx, dword [esi + 0x18]
add eax, 2
cmp eax, ecx
jbe 0x45a19f
lea ebx, [eax + 9]
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push eax
and ebx, 0xfffffff8
push ebx
push ecx
mov ecx, dword [esp + 0x44]
push 0x28
push ecx
call fcn.0042a290
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp eax, ebp
jne 0x45a49c
mov dword [esi + 0x18], ebx
movsx edx, word [edi + 2]
mov dword [esi + 0x1c], edx
movsx eax, word [edi]
push edi
mov dword [esi + 0x28], eax
mov dword [esi + 0x48], 2
mov dword [esi + 0x64], 0xffffffff
call fcn.004272d0
add esp, 4
cmp eax, 1
jne 0x45a1d2
mov dword [esi + 0x48], 0xfffffffe
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x1c]
cmp eax, ebp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x74], ebp
mov dword [esi + 0x78], ebp
je 0x45a498
mov ecx, dword [edi + 0xc]
mov ebp, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
movsx eax, word [ecx]
lea edx, [ebx + edx*8]
cmp ebx, edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 0
mov edi, ebx
jae 0x45a308
lea esp, [esp]
mov cx, word [ebp]
mov eax, dword [esp + 0x20]
mov word [edi + 0xc], cx
mov dx, word [ebp + 4]
mov word [edi + 0xe], dx
mov ecx, dword [ebp]
push eax
push ecx
call fcn.00425d10
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [edi + 0x10], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
push eax
push ecx
call fcn.00425d10
mov edx, dword [esp + 0x3c]
add eax, edx
mov dword [edi + 0x14], eax
mov dword [edi + 8], eax
mov eax, dword [esp + 0x28]
movsx eax, byte [eax]
and eax, 3
add esp, 0x10
sub eax, 0
je 0x45a2a9
sub eax, 2
je 0x45a2a2
mov word [edi], 0
jmp 0x45a2ae
mov word [edi], 2
jmp 0x45a2ae
mov word [edi], 1
mov eax, dword [esp + 0x14]
mov dword [edi + 0x24], eax
mov dword [eax + 0x20], edi
cmp edi, dword [esp + 0x34]
mov dword [esp + 0x14], edi
jne 0x45a2eb
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
movsx edx, word [ecx]
inc eax
cmp eax, edx
mov dword [esp + 0x30], eax
jge 0x45a2eb
mov ecx, dword [ecx + 0xc]
movsx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add edi, 0x28
add ebp, 8
inc ecx
cmp edi, eax
mov dword [esp + 0x18], ecx
jb 0x45a240
mov edx, eax
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
lea edi, [eax + ecx*4]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0xc]
xor ecx, ecx
cmp eax, edi
jae 0x45a33c
mov edi, edi
movsx ecx, cx
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [eax], ecx
xor ecx, ecx
mov cx, word [esi]
add eax, 4
inc cx
add esi, 2
cmp eax, edi
jb 0x45a320
xor ebp, ebp
cmp ebx, edx
mov esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], 4
jae 0x45a498
add ebx, 0xc
jmp 0x45a361
mov esi, dword [esp + 0x34]
lea edx, [ebx - 0xc]
cmp edx, esi
jne 0x45a3d6
mov edi, dword [esi + 0x24]
movsx eax, word [edi + 0xc]
movsx ecx, word [esi + 0xc]
movsx edx, word [edi + 0xe]
movsx ebp, word [esi + 0xe]
sub ecx, eax
mov eax, ecx
sub ebp, edx
neg eax
cmp ebp, ecx
mov dword [esp + 0x18], ecx
jl 0x45a39d
cmp ebp, eax
jl 0x45a396
mov edx, 2
jmp 0x45a3b1
or edx, 0xffffffff
mov ecx, ebp
jmp 0x45a3b3
cmp ebp, eax
jl 0x45a3ac
mov eax, ecx
mov edx, 1
mov ecx, ebp
jmp 0x45a3b3
mov edx, 0xfffffffe
mov eax, ebp
imul ecx, ecx, 0xe
test eax, eax
jge 0x45a3bc
neg eax
test ecx, ecx
jge 0x45a3c2
neg ecx
cmp eax, ecx
jg 0x45a3cb
mov edx, 4
add edi, 0x28
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], edi
mov cl, byte [esp + 0x3c]
mov eax, dword [ebx + 0x14]
movsx edx, word [ebx]
mov byte [ebx - 0xa], cl
movsx edi, word [eax + 0xc]
movsx ecx, word [ebx + 2]
movsx esi, word [eax + 0xe]
sub edi, edx
sub esi, ecx
cmp esi, edi
jl 0x45a40d
mov eax, edi
neg eax
cmp esi, eax
jl 0x45a406
mov edx, 2
jmp 0x45a425
or edx, 0xffffffff
mov ecx, esi
jmp 0x45a429
mov edx, edi
neg edx
cmp esi, edx
jl 0x45a420
mov edx, 1
mov eax, edi
mov ecx, esi
jmp 0x45a429
mov edx, 0xfffffffe
mov eax, esi
mov ecx, edi
imul ecx, ecx, 0xe
test eax, eax
jge 0x45a432
neg eax
test ecx, ecx
jge 0x45a438
neg ecx
cmp eax, ecx
jg 0x45a441
mov edx, 4
test byte [ebx - 0xc], 3
mov dword [esp + 0x3c], edx
mov byte [ebx - 9], dl
jne 0x45a47c
mov al, byte [ebx - 0xa]
cmp dl, al
jne 0x45a470
cmp dl, 4
jne 0x45a47c
mov eax, dword [esp + 0x18]
push esi
push edi
push ebp
push eax
call fcn.00425f10
add esp, 0x10
test eax, eax
jne 0x45a47c
jmp 0x45a480
movsx ecx, dl
movsx edx, al
neg ecx
cmp edx, ecx
jne 0x45a480
or byte [ebx - 0xb], 1
mov ecx, dword [esp + 0x1c]
add ebx, 0x28
lea eax, [ebx - 0xc]
cmp eax, ecx
mov dword [esp + 0x18], edi
mov ebp, esi
jb 0x45a35d
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret