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

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push esi
mov esi, dword [esp + 0x3c]
push eax
push ecx
push esi
mov dword [esp + 0x10], 0
call fcn.00443080
add esp, 0xc
test eax, eax
jl 0x444b16
call fcn.00444090
test eax, eax
jne 0x444b16
push ebx
push ebp
push edi
jmp 0x444780
lea ebp, [esi + 0xa0]
push 0
lea ecx, [esp + 0x28]
mov eax, ebp
call fcn.0043cf60
add esp, 4
test eax, eax
jle 0x4448cc
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x70]
lea edx, [esp + 0x24]
shl eax, 5
push edx
add eax, edi
push eax
call fcn.0043f910
mov ebx, eax
add esp, 8
test ebx, ebx
jge 0x4447d0
push 1
xor ecx, ecx
mov eax, ebp
call fcn.0043cf60
add esp, 4
jmp 0x444780
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4447ee
mov ecx, dword [esi + 0x78]
add eax, ebx
sar eax, 2
cdq
add ecx, eax
mov eax, dword [esi + 0x7c]
adc eax, edx
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], eax
mov edi, dword [edi + 0x1c]
test edi, edi
je 0x4447fa
mov eax, dword [edi + 4]
jmp 0x4447fd
or eax, 0xffffffff
mov ecx, dword [esi + 0x78]
mov edi, dword [esi + 0x7c]
add eax, ebx
sar eax, 2
cdq
add eax, ecx
mov ecx, dword [esp + 0x50]
adc edx, edi
cmp edx, ecx
jg 0x4449df
jl 0x444825
cmp eax, dword [esp + 0x4c]
jae 0x4449df
push 1
xor ecx, ecx
mov eax, ebp
call fcn.0043cf60
lea ecx, [esp + 0x28]
push ecx
lea edi, [esi + 0x278]
push edi
call fcn.0043e700
lea edx, [esi + 0x208]
push edi
push edx
call fcn.0043e7f0
mov eax, dword [esp + 0x4c]
add esp, 0x14
cmp eax, 0xffffffff
jl 0x4448c3
mov ecx, dword [esp + 0x34]
jg 0x444865
cmp ecx, 0xffffffff
jbe 0x4448c3
mov edi, dword [esi + 0x88]
mov edx, dword [esi + 0x6c]
mov ebp, edi
shl ebp, 4
sub ecx, dword [edx + ebp]
sbb eax, dword [edx + ebp + 4]
mov dword [esi + 0x78], ecx
xor ecx, ecx
cmp eax, ecx
mov dword [esi + 0x7c], eax
jg 0x444893
jl 0x44488d
cmp dword [esi + 0x78], ecx
jae 0x444893
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], ecx
cmp edi, ecx
jle 0x4448c3
lea eax, [edx + 8]
lea ebx, [ebx]
mov edx, dword [eax]
mov ebp, dword [esi + 0x78]
mov edi, dword [esi + 0x7c]
add ebp, edx
mov dword [esi + 0x78], ebp
mov edx, dword [eax + 4]
adc edi, edx
mov dword [esi + 0x7c], edi
mov edx, dword [esi + 0x88]
inc ecx
add eax, 0x10
cmp ecx, edx
jl 0x4448a0
mov dword [esp + 0x10], ebx
jmp 0x444780
jge 0x4448d7
cmp eax, 0xfffffffd
jne 0x4449df
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push 0xffffffffffffffff
push eax
mov eax, esi
call fcn.0043f9b0
add esp, 0xc
test edx, edx
jl 0x4449df
jg 0x4448fc
test eax, eax
jb 0x4449df
mov edi, dword [esp + 0x14]
movzx edx, byte [edi + 0xf]
movzx eax, byte [edi + 0xe]
xor ecx, ecx
mov ch, byte [edi + 0x11]
mov cl, byte [edi + 0x10]
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
cmp dword [esi + 0x84], ecx
je 0x444947
lea ecx, [esi + 0x208]
push ecx
call fcn.00440070
lea edx, [esi + 0x278]
push edx
call fcn.00440000
add esp, 8
mov dword [esi + 0x80], 2
mov eax, dword [esi + 0x80]
mov ebx, 3
cmp eax, ebx
jge 0x4449cc
movzx eax, byte [edi + 0xf]
movzx edx, byte [edi + 0xe]
xor ecx, ecx
mov ch, byte [edi + 0x11]
mov cl, byte [edi + 0x10]
mov edi, dword [esi + 0x5c]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, edx
xor eax, eax
test edi, edi
mov dword [esi + 0x84], ecx
jle 0x444991
mov edx, dword [esi + 0x68]
cmp dword [edx], ecx
je 0x444991
mov ebp, dword [esi + 0x5c]
inc eax
add edx, 4
cmp eax, ebp
jl 0x444982
cmp eax, edi
je 0x444b0e
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x84]
push eax
lea ebp, [esi + 0xa0]
push ebp
call fcn.0043cf00
add esp, 8
mov dword [esi + 0x80], ebx
call fcn.00444090
test eax, eax
jne 0x444b13
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x14]
push ecx
push ebp
call fcn.0043cba0
add esp, 8
jmp 0x444780
fld qword [0x460540]
mov edx, dword [esi + 0x7c]
mov eax, dword [esp + 0x50]
fstp qword [esi + 0x90]
cmp edx, eax
fld qword [0x460540]
fstp qword [esi + 0x98]
jg 0x444b04
jl 0x444a15
mov eax, dword [esi + 0x78]
cmp eax, dword [esp + 0x4c]
jae 0x444b04
mov edi, dword [esi + 0x78]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x220]
sub ebx, edi
mov edi, dword [esp + 0x50]
sbb edi, edx
cmp eax, 0xffffffff
jle 0x444a40
mov ecx, dword [esi + 0x21c]
cmp eax, ecx
jge 0x444a40
sub ecx, eax
jmp 0x444a42
xor ecx, ecx
mov eax, ecx
cdq
cmp edx, edi
jl 0x444a51
jg 0x444a4f
cmp eax, ebx
jbe 0x444a51
mov ecx, ebx
test ecx, ecx
je 0x444a67
mov edx, dword [esi + 0x220]
mov eax, dword [esi + 0x21c]
add edx, ecx
cmp edx, eax
jg 0x444a6d
add dword [esi + 0x220], ecx
mov ebp, dword [esi + 0x7c]
mov eax, ecx
mov ecx, dword [esi + 0x78]
cdq
add ecx, eax
adc ebp, edx
cmp edx, edi
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], ebp
jg 0x444ae8
jl 0x444a8a
cmp eax, ebx
jae 0x444ae8
push 1
push 1
push 0
mov eax, esi
call fcn.00444390
add esp, 0xc
test eax, eax
jg 0x444ae8
cmp dword [esi + 0x80], 2
jl 0x444ada
mov eax, dword [esi + 0x14]
test eax, eax
je 0x444ada
mov eax, dword [esi + 0x5c]
cmp eax, 0xffffffff
jle 0x444ada
xor ebx, ebx
xor ebp, ebp
xor edi, edi
test eax, eax
jle 0x444ad6
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 0x444ac0
mov eax, ebp
jmp 0x444ae2
mov ebx, 0xffffff7d
or eax, 0xffffffff
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
cmp eax, dword [esp + 0x50]
jl 0x444a15
jg 0x444b04
mov ecx, dword [esi + 0x78]
cmp ecx, dword [esp + 0x4c]
jb 0x444a15
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x34
ret
mov eax, 0xffffff77
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x34
ret