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

Disassembly:
sub esp, 0x26c
push ebx
mov ebx, dword [esp + 0x274]
push ebp
push esi
test ebx, ebx
push edi
je 0x44e55b
mov esi, dword [ebx + 0x70]
mov eax, dword [0x4992ac]
cmp esi, eax
jbe 0x44d8c6
mov eax, dword [0x49929c]
mov edi, esi
shl edi, 4
push edi
push eax
call fcn.0043ed70
mov ecx, dword [0x4992a0]
push edi
push ecx
mov dword [0x49929c], eax
call fcn.0043ed70
lea edx, [esi + esi*2]
mov dword [0x4992a0], eax
mov eax, dword [0x4992a4]
shl edx, 2
push edx
push eax
call fcn.0043ed70
mov edx, dword [0x4992a8]
lea ecx, [esi*8]
push ecx
push edx
mov dword [0x4992a4], eax
call fcn.0043ed70
add esp, 0x20
mov dword [0x4992a8], eax
mov dword [0x4992ac], esi
fld dword [esp + 0x28c]
fsub dword [0x46dad0]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x290]
fsub dword [0x46dad4]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x294]
fsub dword [0x46dad8]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x298]
fsub dword [0x46dad0]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x29c]
fsub dword [0x46dad4]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x2a0]
fsub dword [0x46dad8]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x2a4]
fsub dword [0x46dadc]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x2a8]
fsub dword [0x46dae0]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
fld dword [esp + 0x2ac]
fsub dword [0x46dae4]
fabs
fcomp qword [0x46c360]
fnstsw ax
test ah, 0x41
jp 0x44da71
mov eax, dword [ebx + 0x70]
xor edx, edx
test eax, eax
jbe 0x44da42
xor eax, eax
xor ecx, ecx
mov esi, 0x3f800000
mov edi, dword [ebx + 0x58]
mov ebp, dword [0x4992a0]
inc edx
add eax, 0x10
mov edi, dword [ecx + edi]
add ecx, 0xc
mov dword [eax + ebp - 0x10], edi
mov edi, dword [ebx + 0x58]
mov ebp, dword [0x4992a0]
mov edi, dword [ecx + edi - 8]
mov dword [eax + ebp - 0xc], edi
mov edi, dword [ebx + 0x58]
mov ebp, dword [0x4992a0]
mov edi, dword [ecx + edi - 4]
mov dword [eax + ebp - 8], edi
mov edi, dword [0x4992a0]
mov dword [eax + edi - 4], esi
mov edi, dword [ebx + 0x70]
cmp edx, edi
jb 0x44d9f8
test byte [ebx + 4], 4
je 0x44de02
mov eax, dword [ebx + 0x70]
mov esi, dword [ebx + 0x5c]
mov edi, dword [0x4992a4]
lea ecx, [eax + eax*2]
shl ecx, 2
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x44de02
mov edx, dword [esp + 0x2ac]
mov eax, dword [esp + 0x2a8]
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], 0x3f800000
push ecx
mov ecx, dword [esp + 0x2a8]
push edx
push eax
push ecx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0x3f800000
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0x3f800000
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0x3f800000
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x3f800000
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0x3f800000
call fcn.0043e390
mov esi, dword [esp + 0x2a8]
lea edx, [esp + 0xac]
push edx
push esi
call fcn.0043e110
mov edi, dword [esp + 0x2b4]
lea eax, [esp + 0xb4]
push eax
push edi
call fcn.0043e1f0
mov ebp, dword [esp + 0x2c0]
lea ecx, [esp + 0xbc]
push ecx
push ebp
call fcn.0043e2c0
mov eax, dword [esp + 0x2bc]
mov ecx, dword [esp + 0x2b8]
lea edx, [esp + 0xc4]
push edx
mov edx, dword [esp + 0x2b8]
push eax
push ecx
push edx
call fcn.0043e070
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.0043e110
add esp, 0x40
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.0043e1f0
lea edx, [esp + 0x2c]
push edx
push ebp
call fcn.0043e2c0
mov eax, dword [ebx + 0x70]
add esp, 0x10
xor edx, edx
test eax, eax
jbe 0x44dd55
xor eax, eax
xor esi, esi
mov ecx, dword [ebx + 0x58]
add eax, 0x10
add ecx, esi
inc edx
add esi, 0xc
fld dword [ecx]
fld dword [ecx + 4]
fld dword [ecx + 8]
fld dword [esp + 0xbc]
fmul st(1)
fld st(2)
fmul dword [esp + 0xac]
mov ecx, dword [0x4992a0]
faddp st(1)
fld st(3)
fmul dword [esp + 0x9c]
faddp st(1)
fadd dword [esp + 0xcc]
fstp dword [esp + 0x10]
fld dword [esp + 0xc0]
fmul st(1)
fld st(2)
fmul dword [esp + 0xb0]
faddp st(1)
fld st(3)
fmul dword [esp + 0xa0]
faddp st(1)
fadd dword [esp + 0xd0]
fstp dword [esp + 0x14]
fld dword [esp + 0xc4]
fmul st(1)
fld st(2)
fmul dword [esp + 0xb4]
faddp st(1)
fld st(3)
fmul dword [esp + 0xa4]
faddp st(1)
fadd dword [esp + 0xd4]
fstp dword [esp + 0x18]
fmul dword [esp + 0xc8]
fxch st(1)
fmul dword [esp + 0xb8]
faddp st(1)
fxch st(1)
fmul dword [esp + 0xa8]
faddp st(1)
fadd dword [esp + 0xd8]
fld dword [esp + 0x10]
fstp dword [eax + ecx - 0x10]
fld dword [esp + 0x14]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 0xc]
fld dword [esp + 0x18]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 8]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 4]
cmp edx, dword [ebx + 0x70]
jb 0x44dc62
test byte [ebx + 4], 4
je 0x44de02
mov eax, dword [ebx + 0x70]
xor edx, edx
test eax, eax
jbe 0x44de02
xor eax, eax
mov ecx, dword [ebx + 0x5c]
add ecx, eax
inc edx
add eax, 0xc
fld dword [ecx]
fld dword [ecx + 4]
fld dword [ecx + 8]
fld dword [esp + 0x44]
fmul st(1)
fld st(2)
fmul dword [esp + 0x34]
mov ecx, dword [0x4992a4]
faddp st(1)
fld st(3)
fmul dword [esp + 0x24]
faddp st(1)
fadd dword [esp + 0x54]
fstp dword [esp + 0x10]
fld dword [esp + 0x48]
fmul st(1)
fld st(2)
fmul dword [esp + 0x38]
faddp st(1)
fld st(3)
fmul dword [esp + 0x28]
faddp st(1)
fadd dword [esp + 0x58]
fstp dword [esp + 0x14]
fmul dword [esp + 0x4c]
fxch st(1)
fmul dword [esp + 0x3c]
faddp st(1)
fxch st(1)
fmul dword [esp + 0x2c]
faddp st(1)
fadd dword [esp + 0x5c]
fld dword [esp + 0x10]
fstp dword [eax + ecx - 0xc]
fld dword [esp + 0x14]
mov ecx, dword [0x4992a4]
fstp dword [eax + ecx - 8]
mov ecx, dword [0x4992a4]
fstp dword [eax + ecx - 4]
cmp edx, dword [ebx + 0x70]
jb 0x44dd6e
mov eax, dword [esp + 0x284]
test eax, eax
je 0x44de22
mov edx, dword [0x49929c]
mov ecx, dword [esp + 0x288]
push edx
mov edx, dword [eax + 4]
push ecx
push edx
jmp 0x44de33
mov ecx, dword [0x49929c]
mov edx, dword [esp + 0x288]
push ecx
push edx
push 0
mov eax, dword [0x4992a4]
mov ecx, dword [0x4992a0]
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx + 0x70]
push ecx
push edx
push eax
call fcn.0044f7b0
mov ecx, dword [0x49929c]
mov edx, dword [0x4992a0]
mov eax, dword [ebx + 0x70]
add esp, 0x1c
push ecx
push edx
push eax
call fcn.004500d0
mov eax, dword [ebx + 0x70]
add esp, 0xc
xor edx, edx
test eax, eax
jbe 0x44df9f
xor eax, eax
mov ecx, dword [0x4992a0]
inc edx
fld dword [eax + ecx]
add eax, 0x10
fstp dword [esp + 0x10]
fld dword [eax + ecx - 0xc]
fstp dword [esp + 0x14]
fld dword [eax + ecx - 8]
fstp dword [esp + 0x18]
fld dword [eax + ecx - 4]
fst dword [esp + 0x1c]
fmul dword [0x4993e0]
fld dword [esp + 0x18]
fmul dword [0x4993d0]
faddp st(1)
fld dword [esp + 0x14]
fmul dword [0x4993c0]
faddp st(1)
fld dword [esp + 0x10]
fmul dword [0x4993b0]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [0x4993e4]
fld dword [esp + 0x18]
fmul dword [0x4993d4]
faddp st(1)
fld dword [esp + 0x14]
fmul dword [0x4993c4]
faddp st(1)
fld dword [esp + 0x10]
fmul dword [0x4993b4]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [0x4993e8]
fld dword [esp + 0x18]
fmul dword [0x4993d8]
faddp st(1)
fld dword [esp + 0x14]
fmul dword [0x4993c8]
faddp st(1)
fld dword [esp + 0x10]
fmul dword [0x4993b8]
faddp st(1)
fstp dword [esp + 0xe4]
fld dword [0x4993ec]
fmul dword [esp + 0x1c]
fld dword [esp + 0x18]
fmul dword [0x4993dc]
faddp st(1)
fld dword [esp + 0x14]
fmul dword [0x4993cc]
faddp st(1)
fld dword [esp + 0x10]
fmul dword [0x4993bc]
faddp st(1)
fstp dword [esp + 0xe8]
fxch st(1)
fstp dword [eax + ecx - 0x10]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 0xc]
fld dword [esp + 0xe4]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 8]
fld dword [esp + 0xe8]
mov ecx, dword [0x4992a0]
fstp dword [eax + ecx - 4]
cmp edx, dword [ebx + 0x70]
jb 0x44de79
mov eax, dword [ebx + 0x78]
lea eax, [eax + eax*2]
test eax, eax
jbe 0x44e55b
lea edx, [eax - 1]
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
inc edx
mov esi, 8
mov dword [esp + 0x20], edx
mov ecx, dword [ebx + 0x74]
mov edx, dword [0x4992a0]
mov edi, dword [0x49929c]
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edx]
fstp dword [esp + 0x24]
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edx + 4]
fstp dword [esp + 0x28]
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edx + 8]
fstp dword [esp + 0x2c]
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edx + 0xc]
fstp dword [esp + 0x30]
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edi]
lea ebp, [eax + edi]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e042
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e042
fld dword [ebp]
fstp dword [esp + 0x34]
jmp 0x44e062
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x34], 0
fnstsw ax
test ah, 5
jnp 0x44e062
mov dword [esp + 0x34], 0x3f800000
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edi + 4]
lea ebp, [eax + edi + 4]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e099
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e099
fld dword [ebp]
fstp dword [esp + 0x38]
jmp 0x44e0b9
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x38], 0
fnstsw ax
test ah, 5
jnp 0x44e0b9
mov dword [esp + 0x38], 0x3f800000
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edi + 8]
lea ebp, [eax + edi + 8]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e0f0
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e0f0
fld dword [ebp]
fstp dword [esp + 0x3c]
jmp 0x44e110
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x3c], 0
fnstsw ax
test ah, 5
jnp 0x44e110
mov dword [esp + 0x3c], 0x3f800000
mov eax, dword [ecx + esi - 8]
shl eax, 4
fld dword [eax + edi + 0xc]
lea ebp, [eax + edi + 0xc]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e147
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e147
fld dword [ebp]
fstp dword [esp + 0x40]
jmp 0x44e167
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x40], 0
fnstsw ax
test ah, 5
jnp 0x44e167
mov dword [esp + 0x40], 0x3f800000
mov ebp, dword [ecx + esi - 8]
mov eax, dword [0x4992a8]
fld dword [eax + ebp*8]
fstp dword [esp + 0x44]
mov ebp, dword [ecx + esi - 8]
fld dword [eax + ebp*8 + 4]
fstp dword [esp + 0x48]
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edx]
fstp dword [esp + 0x4c]
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edx + 4]
fstp dword [esp + 0x50]
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edx + 8]
fstp dword [esp + 0x54]
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edx + 0xc]
fstp dword [esp + 0x58]
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edi]
lea ebp, [eax + edi]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e1f3
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e1f3
fld dword [ebp]
fstp dword [esp + 0x5c]
jmp 0x44e213
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x5c], 0
fnstsw ax
test ah, 5
jnp 0x44e213
mov dword [esp + 0x5c], 0x3f800000
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edi + 4]
lea ebp, [eax + edi + 4]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e24a
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e24a
fld dword [ebp]
fstp dword [esp + 0x60]
jmp 0x44e26a
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x60], 0
fnstsw ax
test ah, 5
jnp 0x44e26a
mov dword [esp + 0x60], 0x3f800000
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edi + 8]
lea ebp, [eax + edi + 8]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e2a1
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e2a1
fld dword [ebp]
fstp dword [esp + 0x64]
jmp 0x44e2c1
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x64], 0
fnstsw ax
test ah, 5
jnp 0x44e2c1
mov dword [esp + 0x64], 0x3f800000
mov eax, dword [ecx + esi - 4]
shl eax, 4
fld dword [eax + edi + 0xc]
lea ebp, [eax + edi + 0xc]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e2f8
fld dword [ebp]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e2f8
fld dword [ebp]
fstp dword [esp + 0x68]
jmp 0x44e318
fld dword [ebp]
fcomp dword [0x46c334]
mov dword [esp + 0x68], 0
fnstsw ax
test ah, 5
jnp 0x44e318
mov dword [esp + 0x68], 0x3f800000
mov eax, dword [ecx + esi - 4]
mov ebp, dword [0x4992a8]
fld dword [ebp + eax*8]
fstp dword [esp + 0x6c]
mov eax, dword [ecx + esi - 4]
fld dword [ebp + eax*8 + 4]
fstp dword [esp + 0x70]
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edx]
fstp dword [esp + 0x74]
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edx + 4]
fstp dword [esp + 0x78]
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edx + 8]
fstp dword [esp + 0x7c]
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edx + 0xc]
fstp dword [esp + 0x80]
mov edx, dword [ecx + esi]
shl edx, 4
add edx, edi
fld dword [edx]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e3a3
fld dword [edx]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e3a3
fld dword [edx]
fstp dword [esp + 0x84]
jmp 0x44e3c8
fld dword [edx]
fcomp dword [0x46c334]
mov dword [esp + 0x84], 0
fnstsw ax
test ah, 5
jnp 0x44e3c8
mov dword [esp + 0x84], 0x3f800000
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edi + 4]
lea edx, [eax + edi + 4]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e3ff
fld dword [edx]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e3ff
fld dword [edx]
fstp dword [esp + 0x88]
jmp 0x44e424
fld dword [edx]
fcomp dword [0x46c334]
mov dword [esp + 0x88], 0
fnstsw ax
test ah, 5
jnp 0x44e424
mov dword [esp + 0x88], 0x3f800000
mov edx, dword [ecx + esi]
shl edx, 4
fld dword [edx + edi + 8]
lea edx, [edx + edi + 8]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e45b
fld dword [edx]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e45b
fld dword [edx]
fstp dword [esp + 0x8c]
jmp 0x44e480
fld dword [edx]
fcomp dword [0x46c334]
mov dword [esp + 0x8c], 0
fnstsw ax
test ah, 5
jnp 0x44e480
mov dword [esp + 0x8c], 0x3f800000
mov eax, dword [ecx + esi]
shl eax, 4
fld dword [eax + edi + 0xc]
lea edi, [eax + edi + 0xc]
fcomp dword [0x46c334]
fnstsw ax
test ah, 5
jnp 0x44e4b7
fld dword [edi]
fcomp dword [0x46c38c]
fnstsw ax
and eax, 0x4100
je 0x44e4b7
fld dword [edi]
fstp dword [esp + 0x90]
jmp 0x44e4dc
fld dword [edi]
fcomp dword [0x46c334]
mov dword [esp + 0x90], 0
fnstsw ax
test ah, 5
jnp 0x44e4dc
mov dword [esp + 0x90], 0x3f800000
mov edx, dword [ecx + esi]
fld dword [ebp + edx*8]
lea edx, [esp + 0x24]
fstp dword [esp + 0x94]
mov eax, dword [ecx + esi]
lea ecx, [esp + 0xec]
push ecx
push edx
fld dword [ebp + eax*8 + 4]
fstp dword [esp + 0xa0]
call fcn.0045fdd0
add esp, 8
test eax, eax
je 0x44e549
cmp eax, 3
jne 0x44e536
lea eax, [esp + 0x13c]
lea ecx, [esp + 0x114]
push eax
lea edx, [esp + 0xf0]
push ecx
push edx
call dword [0x499248]
jmp 0x44e549
lea ecx, [esp + 0xec]
push 0x28
push ecx
push eax
push 3
call dword [0x499288]
mov eax, dword [esp + 0x20]
add esi, 0xc
dec eax
mov dword [esp + 0x20], eax
jne 0x44dfc3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret