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

Disassembly:
sub esp, 0x74
push ebx
push ebp
push esi
mov esi, dword [esp + 0x84]
mov eax, dword [esi + 0x80]
cmp eax, 2
push edi
mov ecx, 0xffffff7d
jl 0x4430d7
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4430d7
mov eax, dword [esi + 0x5c]
cmp eax, 0xffffffff
jle 0x4430d7
xor ebx, ebx
xor ebp, ebp
xor edi, edi
test eax, eax
jle 0x4430cd
push edi
push esi
call fcn.0043bdb0
add esp, 8
add ebx, eax
mov eax, dword [esi + 0x5c]
adc ebp, edx
inc edi
cmp edi, eax
jl 0x4430b7
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
jmp 0x4430e9
mov dword [esp + 0x20], 0xffffffff
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
mov ebx, ecx
cmp dword [esi + 0x80], 2
jl 0x4437fb
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x44310a
pop edi
pop esi
pop ebp
mov eax, 0xffffff76
pop ebx
add esp, 0x74
ret
mov edx, dword [esp + 0x90]
test edx, edx
jl 0x4437fb
mov eax, dword [esp + 0x8c]
jg 0x44312a
test eax, eax
jb 0x4437fb
cmp edx, ebp
jg 0x4437fb
jl 0x44313c
cmp eax, ebx
ja 0x4437fb
mov ecx, dword [esi + 0x5c]
dec ecx
mov dword [esp + 0x10], ecx
js 0x44317e
mov edi, dword [esi + 0x6c]
mov eax, ecx
shl eax, 4
lea eax, [edi + eax + 8]
mov edi, dword [eax]
sub ebx, edi
mov edi, dword [eax + 4]
sbb ebp, edi
cmp edx, ebp
jg 0x443172
jl 0x44316a
cmp dword [esp + 0x8c], ebx
jae 0x443172
dec ecx
sub eax, 0x10
test ecx, ecx
jge 0x443152
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
mov edx, dword [esi + 0x60]
mov ebp, dword [edx + ecx*8]
mov ebx, dword [edx + ecx*8 + 4]
lea eax, [edx + ecx*8]
mov edx, dword [eax + 8]
shl ecx, 4
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0xc]
mov eax, dword [esi + 0x6c]
mov edi, dword [eax + ecx]
add eax, ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
add edx, edi
adc eax, ecx
mov dword [esp + 0x50], eax
mov eax, edi
mov dword [esp + 0x3c], edi
sub eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], ecx
sbb ecx, edx
mov edx, dword [esp + 0x90]
add eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
adc ecx, edx
cmp ebx, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebx
jg 0x4434fe
jl 0x443210
cmp ebp, dword [esp + 0x24]
jae 0x4434fe
jmp 0x443210
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
sub ecx, ebp
sbb eax, ebx
test eax, eax
jg 0x443261
jl 0x44322e
cmp ecx, 0x2134
jae 0x443261
mov edi, dword [esp + 0x2c]
mov ebp, ebx
xor ecx, ecx
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x4432f0
test byte [esi], 1
je 0x4432cf
mov edx, dword [esi + 0x18]
push 0
push 0
add edx, edi
push edx
push eax
call dword [0x45e060]
mov eax, edi
xor ecx, ecx
jmp 0x4432d4
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
sub edx, edi
sbb ebp, dword [esp + 0x40]
push eax
push ecx
push ebp
push edx
call fcn.004509f0
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x40]
sub ecx, edi
mov edi, dword [esp + 0x50]
sbb edi, ebp
push edi
push ecx
push edx
push eax
call fcn.00450b90
mov ecx, dword [esp + 0x2c]
mov edi, eax
add edi, ecx
mov ebp, edx
adc ebp, ebx
sub edi, 0x2134
sbb ebp, 0
cmp ebp, ebx
jg 0x443234
jl 0x4432ba
mov eax, ecx
cmp edi, eax
ja 0x443234
mov edi, dword [esp + 0x2c]
add edi, 1
mov ebp, ebx
mov ecx, 0
adc ebp, ecx
jmp 0x443236
mov eax, dword [esi + 0x18]
add eax, edi
cdq
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ebp
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x30]
mov eax, dword [esp + 0x24]
mov edx, dword [esi + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x28]
sbb ecx, edx
push ecx
push eax
lea edx, [esp + 0x6c]
push edx
mov eax, esi
call fcn.0043f9b0
add esp, 0xc
cmp eax, 0xffffff80
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jne 0x44332b
mov eax, edx
cmp eax, 0xffffffff
je 0x4437c1
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x44338b
jl 0x44333d
mov eax, dword [esp + 0x14]
test eax, eax
jae 0x44338b
mov ecx, dword [esp + 0x2c]
add ecx, 1
mov eax, ebx
adc eax, 0
cmp ebp, eax
jl 0x4434fe
jg 0x44335b
cmp edi, ecx
jbe 0x4434fe
mov edx, edi
or edx, ebp
je 0x4437c1
add edi, 0xffffdecc
adc ebp, 0xffffffff
cmp ebp, ebx
jg 0x44346d
jl 0x443382
cmp edi, dword [esp + 0x2c]
ja 0x44346d
mov edi, ecx
mov ebp, eax
jmp 0x44346d
lea edx, [esp + 0x64]
push edx
call fcn.0043ca20
mov ecx, eax
and ecx, edx
add esp, 4
cmp ecx, 0xffffffff
je 0x4434b1
cmp edx, dword [esp + 0x38]
jg 0x4433fe
jl 0x4433b3
cmp eax, dword [esp + 0x34]
jae 0x4433fe
mov ecx, dword [esp + 0x14]
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
sbb eax, edx
test eax, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edx
jg 0x4434e4
jl 0x4433f7
cmp ecx, 0xac44
ja 0x4434e4
mov ebp, ebx
jmp 0x4434b1
mov ecx, dword [esp + 0x2c]
add ecx, 1
mov dword [esp + 0x54], ecx
mov ecx, ebx
adc ecx, 0
cmp ebp, ecx
mov dword [esp + 0x58], ecx
jl 0x4434fe
jg 0x443426
cmp edi, dword [esp + 0x54]
jbe 0x4434fe
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esi + 0x30]
jne 0x4434cc
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esi + 0x34]
jne 0x4434cc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add edi, 0xffffdecc
adc ebp, 0xffffffff
cmp ebp, ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jg 0x44346d
jl 0x443465
cmp edi, dword [esp + 0x2c]
ja 0x44346d
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4434b1
test byte [esi], 1
je 0x44348e
mov ecx, dword [esi + 0x18]
push 0
push 0
add ecx, edi
push ecx
push eax
call dword [0x45e060]
mov eax, edi
jmp 0x443493
mov eax, dword [esi + 0x18]
add eax, edi
cdq
mov dword [esi + 0x20], eax
xor eax, eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x34], ebp
mov dword [esi + 0x30], edi
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
cmp ebx, dword [esp + 0x28]
jg 0x4434fe
jl 0x4432f0
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jae 0x4434fe
jmp 0x4432f0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
cmp ebx, dword [esp + 0x28]
jl 0x443210
jg 0x4434fe
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x2c], edx
jb 0x443210
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
push eax
push ebx
call fcn.0043e5c0
or eax, 0xffffffff
push eax
push eax
lea ecx, [esp + 0x64]
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], eax
push ecx
mov eax, esi
call fcn.0043f9b0
xor ebp, ebp
add esp, 0x14
cmp edx, ebp
jg 0x443540
jl 0x443533
cmp eax, ebp
jae 0x443540
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x74
ret
mov edi, dword [esp + 0x10]
cmp edi, dword [esi + 0x88]
je 0x4435a7
lea edx, [esi + 0x208]
push edx
call fcn.00440070
lea eax, [esi + 0x278]
push eax
call fcn.00440000
mov eax, dword [esp + 0x5c]
xor ecx, ecx
mov dword [esi + 0x80], 2
mov dword [esi + 0x88], edi
mov ch, byte [eax + 0x11]
movzx edx, byte [eax + 0xf]
add esp, 8
mov cl, byte [eax + 0x10]
movzx eax, byte [eax + 0xe]
mov dword [esi + 0x80], 3
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
mov dword [esi + 0x84], ecx
jmp 0x4435b6
lea ecx, [esi + 0x208]
push ecx
call fcn.0043be50
add esp, 4
mov edx, dword [esi + 0x84]
lea edi, [esi + 0xa0]
push edx
push edi
call fcn.0043cf00
lea eax, [esp + 0x5c]
push eax
push edi
call fcn.0043cba0
push ebp
lea ecx, [esp + 0x78]
mov eax, edi
call fcn.0043cf60
cdq
mov ecx, eax
add esp, 0x14
or ecx, edx
je 0x443638
lea ebx, [ebx]
cmp edx, ebp
jl 0x44370b
jg 0x443602
cmp eax, ebp
jb 0x44370b
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x443718
push 1
xor ecx, ecx
mov eax, edi
call fcn.0043cf60
push ebp
lea ecx, [esp + 0x6c]
mov eax, edi
call fcn.0043cf60
cdq
mov ecx, eax
add esp, 8
or ecx, edx
jne 0x4435f0
mov eax, dword [esi + 0x10]
cmp eax, ebp
je 0x44367c
test byte [esi], 1
je 0x443657
mov edx, dword [esi + 0x18]
push ebp
push ebp
add edx, ebx
push edx
push eax
call dword [0x45e060]
mov eax, ebx
jmp 0x44365c
mov eax, dword [esi + 0x18]
add eax, ebx
cdq
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x24], edx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], eax
mov dword [esi + 0x48], ebp
mov dword [esi + 0x4c], ebp
mov dword [esi + 0x50], ebp
mov dword [esi + 0x54], ebp
mov dword [esi + 0x58], ebp
lea ecx, [esp + 0x54]
push ecx
mov eax, esi
call fcn.00441860
mov edi, edx
add esp, 4
cmp edi, ebp
mov ebx, eax
mov dword [esp + 0x14], ebx
jl 0x4437c1
jg 0x4436a5
cmp ebx, ebp
jb 0x4437c1
lea edx, [esp + 0x54]
push edx
call fcn.0043ca20
add esp, 4
cmp edx, 0xffffffff
jg 0x4436f4
jl 0x4436be
cmp eax, 0xffffffff
ja 0x4436f4
mov eax, dword [esp + 0x54]
test byte [eax + 5], 1
je 0x4436f4
lea ecx, [esp + 0x54]
push ecx
mov eax, esi
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], edi
call fcn.00441860
mov edi, edx
add esp, 4
cmp edi, ebp
mov ebx, eax
jg 0x4436a5
jl 0x4436eb
cmp ebx, ebp
jae 0x4436a5
mov dword [esp + 0x14], ebx
jmp 0x4437c1
push edi
push ebx
push esi
mov dword [esp + 0x20], ebx
call fcn.00442b80
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
mov dword [esp + 0x14], 0xffffff78
jmp 0x4437b9
mov edx, dword [esi + 0x88]
mov edi, dword [esi + 0x6c]
shl edx, 4
sub eax, dword [edx + edi]
sbb ecx, dword [edx + edi + 4]
mov dword [esi + 0x78], eax
mov eax, ecx
cmp eax, ebp
mov dword [esi + 0x7c], ecx
jg 0x443744
jl 0x44373e
cmp dword [esi + 0x78], ebp
jae 0x443744
mov dword [esi + 0x78], ebp
mov dword [esi + 0x7c], ebp
mov edi, dword [esi + 0x78]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x7c]
mov ecx, dword [esp + 0x20]
add edi, eax
mov dword [esi + 0x78], edi
mov edi, dword [esp + 0x90]
adc edx, ecx
cmp edx, edi
mov dword [esi + 0x7c], edx
jg 0x4437b1
jl 0x443775
mov eax, dword [esi + 0x78]
cmp eax, dword [esp + 0x8c]
ja 0x4437b1
push 0xffffffffffffffff
push esi
call fcn.0043bdb0
add esp, 8
cmp edi, edx
jg 0x4437b1
jl 0x44378f
cmp dword [esp + 0x8c], eax
ja 0x4437b1
fld qword [0x460540]
pop edi
fstp qword [esi + 0x90]
xor eax, eax
fld qword [0x460540]
fstp qword [esi + 0x98]
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
mov dword [esp + 0x14], 0xffffff7f
mov dword [esp + 0x18], 0xffffffff
or eax, 0xffffffff
lea ecx, [esi + 0x208]
push ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], eax
call fcn.00440070
lea edx, [esi + 0x278]
push edx
call fcn.00440000
mov eax, dword [esp + 0x1c]
add esp, 8
pop edi
mov dword [esi + 0x80], 2
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7d
pop ebx
add esp, 0x74
ret