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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x544
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esi + 0x3ec]
call fcn.10933040
mov ebx, dword [esi + 0x3c8]
xor edi, edi
cmp ebx, edi
mov dword [esp + 0x44], edi
je 0x10ad6cff
mov ecx, dword [esi + 0x138]
cmp ecx, edi
jl 0x10ad46fd
mov eax, dword [ebx + 0x384]
dec eax
cmp ecx, eax
jge 0x10ad46f7
mov eax, ecx
mov dword [esi + 0x138], eax
mov ecx, dword [esi + 0x390]
cmp ecx, edi
jl 0x10ad471a
mov eax, dword [ebx + 0x384]
dec eax
cmp ecx, eax
jge 0x10ad4714
mov eax, ecx
mov dword [esi + 0x390], eax
mov ecx, dword [esi + 0x7c]
cmp ecx, edi
jl 0x10ad4731
mov eax, dword [ebx + 0x384]
dec eax
cmp ecx, eax
jge 0x10ad472e
mov eax, ecx
mov dword [esi + 0x7c], eax
test byte [esi + 0x38c], 1
jne 0x10ad476d
lea ecx, [esi + 0x374]
mov edx, dword [ecx]
lea eax, [esi + 0x46c]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp 0x10ad497b
mov edx, dword [esi + 0x374]
mov eax, dword [esi + 0x37c]
mov ecx, dword [esi + 0x384]
movzx edi, byte [esi + 0x1f8]
dec edi
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x380]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x388]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x378]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
je 0x10ad48a3
dec edi
je 0x10ad4843
dec edi
jne 0x10ad4949
lea edx, [esp + 0x324]
lea edi, [esi + 0x25c]
push edx
mov ecx, edi
call fcn.109fc300
push eax
lea eax, [esp + 0x358]
push eax
mov ecx, 0x10fd11e0
call fcn.10923f60
push eax
lea ecx, [esp + 0x310]
push ecx
lea ecx, [esp + 0x30]
call fcn.10920dd0
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 8]
lea eax, [esp + 0x300]
push eax
mov ecx, edi
mov dword [esp + 0x34], edx
call fcn.109fc300
push eax
lea ecx, [esp + 0x494]
push ecx
mov ecx, 0x10fd11e0
call fcn.10923f60
push eax
lea edx, [esp + 0x2f8]
push edx
jmp 0x10ad4930
lea edi, [esi + 0x1fc]
push edi
lea eax, [esp + 0x4f4]
push eax
mov ecx, 0x10fd11e0
call fcn.10923f60
push eax
lea ecx, [esp + 0x334]
push ecx
lea ecx, [esp + 0x30]
call fcn.10920dd0
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 8]
push edi
lea eax, [esp + 0x404]
push eax
mov ecx, 0x10fd11e0
mov dword [esp + 0x38], edx
call fcn.10923f60
push eax
lea ecx, [esp + 0x31c]
push ecx
jmp 0x10ad4930
lea edi, [esi + 0x1fc]
push edi
lea edx, [esp + 0x434]
push edx
add ebx, 0x154
push ebx
lea eax, [esp + 0x46c]
push eax
mov ecx, 0x10fd11e0
call fcn.10923f60
mov ecx, eax
call fcn.10923f60
push eax
lea ecx, [esp + 0x34c]
push ecx
lea ecx, [esp + 0x30]
call fcn.10920dd0
mov edx, dword [eax]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 8]
mov ecx, dword [esi + 0x3c8]
push edi
lea eax, [esp + 0x4c4]
push eax
add ecx, 0x154
mov dword [esp + 0x38], edx
push ecx
lea edx, [esp + 0x52c]
push edx
mov ecx, 0x10fd11e0
call fcn.10923f60
mov ecx, eax
call fcn.10923f60
push eax
lea eax, [esp + 0x340]
push eax
lea ecx, [esp + 0x40]
call fcn.10920dd0
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 8]
mov edi, dword [esp + 0x28]
mov dword [esi + 0x46c], edi
mov edi, dword [esp + 0x2c]
mov dword [esi + 0x474], edi
mov edi, dword [esp + 0x30]
mov dword [esi + 0x47c], edi
mov dword [esi + 0x470], ecx
mov dword [esi + 0x478], edx
mov dword [esi + 0x480], eax
xor edi, edi
mov eax, dword [esi + 0x2a4]
cmp eax, edi
mov dword [esp + 0x114], edi
je 0x10ad4a0a
mov cl, byte [esi + 0x2a0]
test cl, cl
je 0x10ad4a0a
mov ecx, dword [eax + 0x6c]
test ch, 0x10
jne 0x10ad4a0a
cmp dword [eax + 0xb4], edi
je 0x10ad4a0a
call fcn.10908bc0
mov edx, dword [esi + 0x2a4]
mov ecx, dword [edx + 0xb4]
mov ecx, dword [ecx + 0x28]
cmp ecx, edi
je 0x10ad49cd
cmp ecx, eax
je 0x10ad49da
mov ecx, dword [ecx + 0x2c]
cmp ecx, edi
jne 0x10ad49c2
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
cmp eax, edi
je 0x10ad4a0a
mov ecx, dword [edx + 0xb4]
mov eax, dword [ecx]
push edx
call dword [eax + 0x98]
cmp eax, edi
je 0x10ad4a0a
mov edx, dword [esi + 0x2a4]
push edi
lea ecx, [esi + 0x458]
push ecx
push edx
mov ecx, eax
call fcn.10aeb400
mov dword [esp + 0x114], eax
mov eax, dword [esi + 0x430]
cmp dword [esi + 0x3e4], eax
mov dword [esp + 0x74], eax
jge 0x10ad4a4c
test byte [esi + 0x30], 0x10
je 0x10ad4a40
fild dword [esp + 0x74]
fld dword [esi + 0x330]
fadd dword [esi + 0x32c]
fmul dword [0x10e4708c]
fdivp st(1)
fstp dword [esp + 0x5c]
jmp 0x10ad4a56
mov eax, dword [esi + 0x2f4]
mov dword [esp + 0x5c], eax
jmp 0x10ad4a56
mov ecx, dword [esi + 0x2f0]
mov dword [esp + 0x5c], ecx
cmp dword [esi + 0x464], edi
je 0x10ad4a6c
fld dword [esp + 0x5c]
fadd dword [esi + 0x344]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fcomp dword [0x10e4500c]
fnstsw ax
test ah, 0x41
jne 0x10ad4aa5
cmp dword [esi + 0x444], edi
jne 0x10ad4aa5
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esi]
push eax
mov eax, dword [esi + 0x3e8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x84]
fstp dword [esi + 0x3e8]
mov eax, dword [esi + 0x3c8]
lea ecx, [eax + 0x148]
push ecx
add eax, 0x3b0
push eax
call fcn.1090ca20
fcomp dword [0x10e45008]
add esp, 8
mov dword [esp + 0xc0], 1
fnstsw ax
test ah, 0x41
je 0x10ad4adf
mov dword [esp + 0xc0], edi
cmp dword [esi + 0x444], edi
jne 0x10ad4c35
mov eax, dword [esi + 0x448]
test eax, eax
mov ecx, dword [esi + 0x430]
jge 0x10ad4aff
xor ebx, ebx
jmp 0x10ad4b07
cmp eax, ecx
mov ebx, eax
jl 0x10ad4b07
mov ebx, ecx
xor edi, edi
test ebx, ebx
mov dword [esp + 0x24], ebx
jle 0x10ad4c2b
mov edx, dword [esi]
xor eax, eax
lea ecx, [esp + 0x14c]
push ecx
push eax
push eax
push eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], eax
mov eax, dword [esi + 0x3e0]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x10ad4bfc
mov al, byte [esi + 0xf0]
test al, al
jne 0x10ad4bfc
lea ecx, [edi + 1]
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
mov eax, dword [esi + 0x3c8]
mov ecx, dword [esi + 0x3d4]
fidiv dword [esp + 0x24]
fsubr dword [0x10e45008]
fld dword [eax + 0x3b0]
fsub dword [eax + 0x148]
fld dword [eax + 0x3b4]
fsub dword [eax + 0x14c]
fld dword [eax + 0x3b8]
fsub dword [eax + 0x150]
mov eax, dword [esi + 0x3e0]
imul eax, eax, 0xd4
fstp dword [esp + 0x1f4]
fxch st(1)
fmul st(2)
fstp dword [esp + 0x13c]
add eax, ecx
fmul st(1)
fld dword [esp + 0x1f4]
fmul st(2)
fstp dword [esp + 0x144]
fld dword [esp + 0x13c]
fadd dword [eax]
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fstp st(0)
fld dword [esp + 0x144]
fadd dword [eax + 8]
fstp dword [eax + 8]
mov eax, dword [esi + 0x3e0]
mov ecx, dword [esi + 0x3e4]
inc eax
cmp ecx, eax
jge 0x10ad4c0f
mov ecx, eax
cdq
idiv dword [esi + 0x430]
inc edi
cmp edi, ebx
mov dword [esi + 0x3e4], ecx
mov dword [esi + 0x3e0], edx
jl 0x10ad4b15
mov dword [esi + 0x448], 0
xor edx, edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xa8], edx
xor edi, edi
mov ebx, 0x200
lea esp, [esp]
mov eax, dword [esi + 0x3e4]
mov ecx, dword [esi + 0x430]
cmp ecx, eax
jg 0x10ad4c62
mov eax, ecx
cmp edi, eax
jge 0x10ad4cb6
mov eax, dword [esi + 0x3d4]
mov ecx, dword [eax + edx + 0xbc]
add eax, edx
test cl, 1
je 0x10ad4cad
test cl, 4
jne 0x10ad4c8e
fld dword [ebp + 8]
fadd dword [eax + 0xac]
fstp dword [eax + 0xac]
fld dword [eax + 0xac]
fcomp dword [eax + 0xb0]
fnstsw ax
test ah, 0x41
jne 0x10ad4cad
test dword [esi + 0x2c], ebx
je 0x10ad4cad
inc dword [esp + 0xb8]
inc edi
add edx, 0xd4
jmp 0x10ad4c50
mov edx, dword [ebp + 8]
push 0x3e19999a
push 0x3a83126f
push edx
mov dword [esp + 0xac], 0x3f800000
call fcn.1097dd90
fdivr dword [0x10e45008]
add esp, 0xc
mov dword [esp + 0x20], 0
fstp dword [esp + 0x1c4]
lea esp, [esp]
mov eax, dword [esi + 0x3e4]
mov ecx, dword [esi + 0x430]
cmp ecx, eax
jg 0x10ad4d02
mov eax, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jge 0x10ad6bd0
mov edi, dword [esi + 0x3d4]
mov ebx, ecx
imul ebx, ebx, 0xd4
mov eax, dword [edi + ebx + 0xbc]
add edi, ebx
test al, 1
jne 0x10ad4d36
inc dword [esp + 0x44]
mov eax, ecx
inc eax
mov dword [esp + 0x20], eax
jmp 0x10ad4cf0
test al, 2
je 0x10ad4d49
cmp byte [esi + 0xf0], 1
je 0x10ad4d49
xor ecx, ecx
xor edx, edx
jmp 0x10ad4d50
mov edx, 1
xor ecx, ecx
test al, 4
mov dword [esp + 0x18], edx
je 0x10ad4d67
xor edx, edx
and eax, 0xfffffffb
mov dword [esp + 0x18], edx
mov dword [edi + 0xbc], eax
fld dword [edi + 0xac]
fcomp dword [edi + 0xb0]
fnstsw ax
test ah, 0x41
jne 0x10ad4f0b
mov eax, dword [esi + 0x2c]
test ah, 2
jne 0x10ad4dac
mov ecx, dword [edi + 0xbc]
mov eax, dword [esp + 0x44]
and ecx, 0xfffffffe
inc eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [edi + 0xbc], ecx
mov dword [esp + 0x20], eax
jmp 0x10ad4cf0
call dword [0x10e43704]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x10e49e18]
fld dword [esi + 0x324]
fsub dword [esi + 0x328]
fmulp st(1)
fadd dword [esi + 0x328]
fld dword [0x10e4500c]
fld dword [edi + 0xb0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad4e16
fld dword [edi + 0xac]
mov eax, dword [edi + 0xb0]
fsub dword [edi + 0xb0]
push eax
push ecx
fadd st(1)
fstp dword [esp]
fstp st(0)
call fcn.109f3ce0
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add esp, 8
jmp 0x10ad4e1a
fstp st(0)
xor eax, eax
mov edx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], ecx
lea ecx, [esp + 0x2b8]
push ecx
push 0
push 0
push eax
mov eax, dword [esp + 0x30]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x10ad4eff
mov al, byte [esi + 0xf0]
test al, al
jne 0x10ad4eff
mov ecx, dword [esp + 0xa8]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov eax, dword [esi + 0x3c8]
fidiv dword [esp + 0xb8]
fsubr dword [0x10e45008]
fld dword [eax + 0x3b0]
fsub dword [eax + 0x148]
fld dword [eax + 0x3b4]
fsub dword [eax + 0x14c]
fld dword [eax + 0x3b8]
fsub dword [eax + 0x150]
mov eax, dword [esi + 0x3d4]
add eax, ebx
fstp dword [esp + 0x3a4]
fld st(2)
fmul st(2)
fstp dword [esp + 0x234]
fmul st(2)
fstp st(1)
fld dword [esp + 0x3a4]
fmul st(2)
fstp dword [esp + 0x23c]
fld dword [esp + 0x234]
fadd dword [eax]
fstp dword [eax]
fadd dword [eax + 4]
fstp dword [eax + 4]
fstp st(0)
fld dword [esp + 0x23c]
fadd dword [eax + 8]
fstp dword [eax + 8]
inc dword [esp + 0xa8]
jmp 0x10ad52da
cmp edx, ecx
je 0x10ad52dc
fld dword [ebp + 8]
mov eax, edi
fmul dword [esi + 0x38]
lea edx, [edi + 0xc]
fld dword [ebp + 8]
fmul dword [esi + 0x3c]
fld dword [ebp + 8]
fmul dword [esi + 0x40]
fstp dword [esp + 0x3c8]
fxch st(1)
fadd dword [edi + 0x18]
fstp dword [edi + 0x18]
fadd dword [edi + 0x1c]
fstp dword [edi + 0x1c]
fld dword [esp + 0x3c8]
fadd dword [edi + 0x20]
fstp dword [edi + 0x20]
mov ebx, dword [eax]
mov dword [edx], ebx
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
fld dword [edi + 0x90]
fmul dword [edi + 0x18]
fld dword [edi + 0x1c]
fmul dword [edi + 0x94]
fld dword [edi + 0x20]
fmul dword [edi + 0x98]
fstp dword [esp + 0x3b0]
fxch st(1)
fmul dword [ebp + 8]
fstp dword [esp + 0x390]
fmul dword [ebp + 8]
fld dword [esp + 0x3b0]
fmul dword [ebp + 8]
fld dword [esp + 0x390]
fadd dword [edi]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
fxch st(1)
fadd dword [edi + 4]
mov dword [edi], edx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fadd dword [edi + 8]
mov dword [edi + 4], eax
cmp dword [esp + 0x114], ecx
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [edi + 8], edx
je 0x10ad509c
cmp byte [esi + 0x2a0], 2
jne 0x10ad509c
mov edx, dword [esi + 0x458]
fld dword [esi + 0x2a8]
mov eax, dword [edi + 0xc4]
lea eax, [eax + eax*2]
fmul dword [edx + eax*8]
lea eax, [edx + eax*8]
fstp dword [esp + 0x100]
fld dword [eax + 4]
fmul dword [esi + 0x2ac]
fstp dword [esp + 0x104]
mov edx, dword [esp + 0x104]
fld dword [eax + 8]
mov eax, dword [esp + 0x100]
fmul dword [esi + 0x2b0]
fstp dword [esp + 0x108]
fld dword [esp + 0x100]
fsub dword [edi + 0x9c]
fld dword [esp + 0x104]
fsub dword [edi + 0xa0]
fld dword [esp + 0x108]
fsub dword [edi + 0xa4]
mov dword [edi + 0x9c], eax
mov eax, dword [esp + 0x108]
mov dword [edi + 0xa0], edx
fstp dword [esp + 0x38c]
mov dword [edi + 0xa4], eax
fld dword [esp + 0x24]
fadd st(2)
fstp dword [edi]
fld dword [esp + 0x1c]
fadd st(1)
fstp dword [edi + 4]
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fadd dword [esp + 0x38c]
fstp dword [edi + 8]
test byte [esi + 0x2f], 1
je 0x10ad52dc
fld dword [edi]
lea edx, [edi + 0x48]
mov eax, dword [edx]
mov dword [esp + 0xdc], eax
fsub dword [esp + 0xdc]
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
fstp dword [esp + 0x7c]
mov dword [esp + 0xe0], eax
fld dword [edi + 4]
mov eax, dword [0x10fd11b4]
cmp eax, ecx
fsub dword [esp + 0xe0]
mov dword [esp + 0xe4], edx
mov dword [esp + 0x264], 0x3f800000
fstp dword [esp + 0x80]
mov dword [esp + 0x268], ecx
fld dword [edi + 8]
mov dword [esp + 0x26c], ecx
fsub dword [esp + 0xe4]
fstp dword [esp + 0x84]
fld dword [edi + 0x60]
fmul dword [edi + 0x54]
fmul dword [ebp + 8]
fmul dword [0x10e5fd5c]
fstp dword [esp + 0x14]
je 0x10ad5132
cvttss2si eax, dword [esp + 0x14]
jmp 0x10ad5141
lea eax, [esp + 0xc8]
fld dword [esp + 0x14]
fistp dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x264]
push ecx
push eax
lea edx, [esp + 0x218]
push edx
lea ecx, [esp + 0x88]
call fcn.10a91b90
fld dword [edi + 0x64]
fmul dword [edi + 0x58]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
fmul dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x84], eax
mov eax, dword [0x10fd11b4]
cmp eax, ebx
fmul dword [0x10e5fd5c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
fstp dword [esp + 0x14]
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x280], 0x3f800000
mov dword [esp + 0x284], ebx
je 0x10ad51b7
cvttss2si eax, dword [esp + 0x14]
jmp 0x10ad51c6
lea eax, [esp + 0x9c]
fld dword [esp + 0x14]
fistp dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x27c]
push ecx
push eax
lea edx, [esp + 0x144]
push edx
lea ecx, [esp + 0x88]
call fcn.10a91b90
fld dword [edi + 0x68]
fmul dword [edi + 0x5c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
fmul dword [ebp + 8]
mov dword [esp + 0x84], eax
cmp dword [0x10fd11b4], ebx
fmul dword [0x10e5fd5c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x21c], ebx
fstp dword [esp + 0x14]
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], 0x3f800000
je 0x10ad5239
cvttss2si eax, dword [esp + 0x14]
jmp 0x10ad5248
lea eax, [esp + 0xa4]
fld dword [esp + 0x14]
fistp dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x21c]
push ecx
push eax
lea edx, [esp + 0x154]
push edx
lea ecx, [esp + 0x88]
call fcn.10a91b90
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x7c], ecx
fld dword [esp + 0x7c]
fadd dword [esp + 0xdc]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov ecx, edi
fstp dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e0]
fld dword [esp + 0x80]
mov dword [ecx], edx
fadd dword [esp + 0xe0]
fstp dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e4]
fld dword [esp + 0x84]
mov dword [ecx + 4], eax
fadd dword [esp + 0xe4]
fstp dword [esp + 0x1e8]
mov edx, dword [esp + 0x1e8]
mov dword [ecx + 8], edx
xor ecx, ecx
cmp dword [esp + 0x18], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
je 0x10ad5e9c
cmp byte [esi + 0xf0], 1
je 0x10ad5e9c
test byte [esi + 0x2c], 1
je 0x10ad550c
fld dword [edi]
xor edx, edx
fsub dword [edi + 0xc]
mov dword [esp + 0x380], edx
fld dword [edi + 4]
fsub dword [edi + 0x10]
fstp dword [esp + 0x298]
fld dword [edi + 8]
fsub dword [edi + 0x14]
fld st(0)
fmul st(1)
fld dword [esp + 0x298]
fmul dword [esp + 0x298]
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10ad5385
fstp st(0)
mov dword [esp + 0x170], edx
fstp st(0)
mov dword [esp + 0x168], edx
fstp st(0)
mov dword [esp + 0x16c], edx
fld dword [esp + 0x170]
jmp 0x10ad53b0
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul st(3)
fstp dword [esp + 0x168]
fld dword [esp + 0x298]
fmul st(1)
fstp dword [esp + 0x16c]
fxch st(1)
fmul st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x168]
mov eax, dword [esi + 0x3c8]
fmul dword [esi + 0x408]
mov ecx, dword [eax + 0x98]
fld dword [esp + 0x16c]
sub esp, 0xc
fmul dword [esi + 0x40c]
mov dword [esp + 0x28], ecx
fxch st(2)
fmul dword [esi + 0x410]
fstp dword [esp + 0x3c8]
fmul dword [edi + 0x6c]
fstp dword [esp + 0x124]
fmul dword [edi + 0x70]
fstp dword [esp + 0x128]
fld dword [esp + 0x3c8]
fmul dword [edi + 0x74]
fstp dword [esp + 0x12c]
fld dword [esp + 0x124]
fadd dword [edi]
fstp dword [esp + 0x258]
fld dword [esp + 0x128]
fadd dword [edi + 4]
fstp dword [esp + 0x25c]
fld dword [esp + 0x12c]
fadd dword [edi + 8]
fstp dword [esp + 0x260]
mov ebx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
mov edx, esp
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
push 0x84
lea ecx, [edi + 0xc]
push ecx
lea ecx, [esp + 0x260]
push ecx
mov ecx, dword [esp + 0x34]
push eax
lea edx, [esp + 0x370]
push edx
call dword [ebx + 0xdc]
test eax, eax
jne 0x10ad550c
fld dword [esp + 0x35c]
mov eax, dword [esp + 0x368]
fsub dword [esp + 0x118]
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x370]
mov dword [esp + 0x28], eax
fstp dword [esp + 0x1c8]
mov eax, dword [esp + 0x1c8]
fld dword [esp + 0x360]
mov dword [esp + 0x2c], ecx
fsub dword [esp + 0x11c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], 1
fstp dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1cc]
fld dword [esp + 0x364]
mov dword [esp + 0x3c], ecx
fsub dword [esp + 0x120]
fstp dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x40], edx
test byte [esi + 0x2c], 2
mov eax, dword [esp + 0x24]
je 0x10ad55ec
test eax, eax
jne 0x10ad55f4
mov eax, dword [esi + 0x6c]
test eax, eax
mov dword [esp + 0x14], 0
jle 0x10ad5e9c
mov ebx, dword [esi + 0x68]
fld dword [edi + 4]
push ecx
fmul dword [ebx + 4]
fld dword [edi]
fmul dword [ebx]
faddp st(1)
fld dword [ebx + 8]
fmul dword [edi + 8]
faddp st(1)
fsub dword [ebx + 0xc]
fstp dword [esp]
call fcn.10ad1fb0
fstp dword [esp + 0x20]
fld dword [ebx + 8]
fmul dword [edi + 0x14]
fld dword [ebx + 4]
fmul dword [edi + 0x10]
faddp st(1)
fld dword [edi + 0xc]
fmul dword [ebx]
faddp st(1)
fsub dword [ebx + 0xc]
fstp dword [esp]
call fcn.10ad1fb0
fld dword [esp + 0x20]
add esp, 4
fucompp
fnstsw ax
test ah, 0x44
jp 0x10ad55a4
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x6c]
inc eax
add ebx, 0x10
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x10ad5538
jmp 0x10ad5e9c
push ebx
lea eax, [edi + 0xc]
push eax
lea eax, [esp + 0x3f0]
push edi
push eax
call fcn.10a100b0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebx]
mov dword [esp + 0x4c], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 8]
add esp, 0x10
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], 1
jmp 0x10ad55f4
test eax, eax
je 0x10ad5e9c
mov al, byte [esi + 0x2dc]
test al, al
je 0x10ad59a2
mov ecx, dword [esi + 0x3c8]
mov edx, dword [ecx + 0x98]
mov ecx, dword [edx + 0x44]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x10ad59a2
movzx eax, al
xor ebx, ebx
dec eax
je 0x10ad5667
dec eax
je 0x10ad565f
dec eax
jne 0x10ad5676
call fcn.109b89e0
fmul dword [0x10e47484]
mov eax, dword [0x10fd11b4]
test eax, eax
fstp dword [esp + 0x14]
je 0x10ad564c
cvttss2si eax, dword [esp + 0x14]
mov ebx, eax
jmp 0x10ad5676
lea eax, [esp + 0xac]
fld dword [esp + 0x14]
fistp dword [eax]
mov eax, dword [eax]
mov ebx, eax
jmp 0x10ad5676
mov ebx, dword [edi + 0xb8]
jmp 0x10ad5676
mov ebx, dword [esi + 0x434]
lea edx, [ebx + 1]
mov dword [esi + 0x434], edx
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov dword [esp + 0x1d8], edx
fld dword [esp + 0x1d8]
mov dword [esp + 0x1b4], ecx
fcomp dword [esp + 0x1b4]
mov dword [esp + 0x128], edx
fnstsw ax
test ah, 1
je 0x10ad56b3
mov dword [esp + 0x128], ecx
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov dword [esp + 0x1b8], edx
fld dword [esp + 0x1b8]
mov dword [esp + 0x1bc], ecx
fcomp dword [esp + 0x1bc]
mov dword [esp + 0x124], edx
fnstsw ax
test ah, 0x41
jnp 0x10ad56f0
mov dword [esp + 0x124], ecx
fld dword [esp + 0x128]
fsub dword [esp + 0x124]
fld dword [0x10e4500c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad57a1
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov dword [esp + 0x1dc], edx
fld dword [esp + 0x1dc]
mov dword [esp + 0x1fc], ecx
fcomp dword [esp + 0x1fc]
mov dword [esp + 0x12c], edx
fnstsw ax
test ah, 1
je 0x10ad574e
mov dword [esp + 0x12c], ecx
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov dword [esp + 0x20c], edx
fld dword [esp + 0x20c]
mov dword [esp + 0x1f8], ecx
fcomp dword [esp + 0x1f8]
mov dword [esp + 0x134], edx
fnstsw ax
test ah, 0x41
jnp 0x10ad578b
mov dword [esp + 0x134], ecx
fld dword [esp + 0x12c]
fsub dword [esp + 0x134]
fadd dword [0x10e45008]
jmp 0x10ad57a7
fild dword [esi + 0x2c0]
mov eax, dword [0x10fd11b4]
fstp dword [esp + 0x18]
test eax, eax
je 0x10ad57bc
cvttss2si eax, dword [esp + 0x18]
jmp 0x10ad57cb
lea eax, [esp + 0xb4]
fld dword [esp + 0x18]
fistp dword [eax]
mov eax, dword [eax]
mov ecx, eax
mov eax, ebx
cdq
idiv ecx
mov eax, dword [esi + 0x2e0]
mov dword [esp + 0xe8], eax
mov eax, dword [0x10fd11b4]
test eax, eax
je 0x10ad57f3
cvttss2si eax, dword [esp + 0xe8]
jmp 0x10ad5805
lea eax, [esp + 0xbc]
fld dword [esp + 0xe8]
fistp dword [eax]
mov eax, dword [eax]
add edx, eax
mov eax, dword [esi + 0x2c0]
dec eax
test edx, edx
jge 0x10ad5816
xor edx, edx
jmp 0x10ad581c
cmp edx, eax
jl 0x10ad581c
mov edx, eax
mov ecx, dword [esi + 0x2bc]
lea edx, [edx + edx*4]
shl edx, 3
mov dword [esp + 0x18], edx
lea ebx, [ecx + edx + 0x20]
call dword [0x10e43704]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x10e49e18]
fld dword [ebx]
fsub dword [ebx + 4]
fmulp st(1)
fadd dword [ebx + 4]
fstp dword [esp + 0x1c]
call dword [0x10e43704]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x10e49e18]
fld dword [esi + 0x2e8]
fsub dword [esi + 0x2ec]
fmulp st(1)
fadd dword [esi + 0x2ec]
fstp dword [esp + 0x14]
call fcn.109b89e0
fld dword [esp + 0x14]
fmul dword [esp + 0x1c]
fcompp
fnstsw ax
test ah, 1
jne 0x10ad59a2
mov edx, dword [esi + 0x2bc]
mov eax, dword [esp + 0x18]
lea ebx, [edx + eax]
call dword [0x10e43704]
mov ecx, dword [esi + 0x2bc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
lea eax, [ecx + edx + 0x18]
mov dword [esp + 0x1c], eax
fmul dword [0x10e49e18]
fld dword [ebx + 4]
fsub dword [ebx + 8]
fmulp st(1)
fadd dword [ebx + 8]
fstp dword [esp + 0x90]
call dword [0x10e43704]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push 0
fmul dword [0x10e49e18]
push 0x40
fld dword [eax]
fsub dword [eax + 4]
fmulp st(1)
fadd dword [eax + 4]
mov eax, dword [esi + 0x2bc]
add eax, ecx
mov ecx, dword [esi + 0x3c8]
mov edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
mov dword [esp + 0x9c], eax
mov eax, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], eax
call dword [0x10e43704]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
push ecx
fmul dword [0x10e49e18]
mov ecx, dword [esp + 0x9c]
fld dword [ebx + 0xc]
fsub dword [ebx + 0x10]
fmulp st(1)
fadd dword [ebx + 0x10]
fstp dword [esp]
push ecx
fld dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
fmul dword [eax + 0x2c0]
sub esp, 0x10
mov edx, esp
fstp dword [esp + 0xc]
mov dword [edx], ecx
mov ecx, dword [esp + 0x5c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [edx + 8], ecx
mov edx, dword [esp + 0xb4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x54]
push ecx
push 0
push eax
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 0x38]
call fcn.10b0ec10
mov eax, dword [esi + 0x7c]
test eax, eax
jl 0x10ad5bc3
mov ecx, dword [esi + 0x3c8]
mov edx, dword [ecx + 0x380]
mov ebx, dword [edx + eax*4]
test byte [ebx + 0x3cc], 1
je 0x10ad5bc3
mov eax, dword [ebx + 0x3c8]
test eax, eax
je 0x10ad5bc3
fld dword [0x10e4500c]
fld dword [ebp + 8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad5bc3
mov eax, dword [esi + 0x80]
test eax, eax
mov dword [esp + 0x14], 0
jle 0x10ad5bc3
fld dword [esp + 0x28]
fmul dword [0x10e601d4]
fld dword [esp + 0x2c]
fmul dword [0x10e601d4]
fld dword [esp + 0x30]
fmul dword [0x10e601d4]
fstp dword [esp + 0x3d4]
fxch st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x34]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x94]
fld dword [esp + 0x3d4]
fadd dword [esp + 0x40]
fstp dword [esp + 0x90]
nop
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x244], ecx
lea ecx, [esp + 0x240]
push ecx
mov ecx, dword [ebx + 0x3e0]
push 3
mov dword [esp + 0x250], edx
mov edx, dword [ebp + 8]
push 0
push edx
mov dword [esp + 0x250], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x88]
test byte [esi + 0x2c], 8
je 0x10ad5b88
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [ebx + 0x3d4]
imul eax, eax, 0xd4
add eax, ecx
mov dword [esp + 0x48], eax
call dword [0x10e43704]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x10e49e18]
fld dword [esi + 0x8c]
fsub dword [esi + 0x90]
fmulp st(1)
fadd dword [esi + 0x90]
fstp dword [esp + 0x18]
call dword [0x10e43704]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x10e49e18]
fld dword [esi + 0x84]
fsub dword [esi + 0x88]
fmulp st(1)
fadd dword [esi + 0x88]
fstp dword [esp + 0x33c]
call dword [0x10e43704]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x94]
fsub dword [esi + 0x98]
fmulp st(1)
fadd dword [esi + 0x98]
fld dword [esp + 0x33c]
fmul dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [esp + 0x18]
fstp dword [esp + 0x2a4]
fxch st(1)
fmul dword [esp + 0x30]
fstp dword [esp + 0x2a8]
fadd dword [eax + 0x18]
fstp dword [eax + 0x18]
fld dword [esp + 0x2a4]
fadd dword [eax + 0x1c]
fstp dword [eax + 0x1c]
fld dword [esp + 0x2a8]
fadd dword [eax + 0x20]
fstp dword [eax + 0x20]
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [ebx + 0x3e4]
inc eax
cmp ecx, eax
jge 0x10ad5b9b
mov ecx, eax
cdq
idiv dword [ebx + 0x430]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x3e4], ecx
inc eax
mov dword [esp + 0x14], eax
mov dword [ebx + 0x3e0], edx
cmp eax, dword [esi + 0x80]
jl 0x10ad5a50
test byte [esi + 0x2c], 4
je 0x10ad5c69
call dword [0x10e43704]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
mov eax, dword [0x10fd11b4]
xor ecx, ecx
cmp eax, ecx
fmul dword [0x10e49e18]
fld dword [esi + 0x74]
fsub dword [esi + 0x78]
fmulp st(1)
fadd dword [esi + 0x78]
fstp dword [esp + 0x14]
je 0x10ad5c03
cvttss2si eax, dword [esp + 0x14]
jmp 0x10ad5c12
lea eax, [esp + 0x8c]
fld dword [esp + 0x14]
fistp dword [eax]
mov eax, dword [eax]
mov edx, dword [edi + 0xb8]
inc edx
cmp edx, eax
jl 0x10ad5c69
mov eax, dword [esi + 0x2c]
test ah, 2
je 0x10ad4d86
fld dword [ebp + 8]
mov eax, dword [esi]
fmul qword [0x10e4eb20]
lea edx, [esp + 0x258]
push edx
push ecx
push ecx
push ecx
mov dword [esp + 0x268], ecx
fstp dword [esp]
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call dword [eax + 0x88]
jmp 0x10ad5e9c
fld dword [ebp + 8]
lea ebx, [edi + 0x18]
fmul dword [esi + 0x38]
lea edx, [esp + 0x28]
fld dword [ebp + 8]
push edx
fmul dword [esi + 0x3c]
lea eax, [esp + 0x3f8]
fld dword [ebp + 8]
push eax
fmul dword [esi + 0x40]
mov ecx, ebx
fstp dword [esp + 0x358]
fxch st(1)
fmul dword [0x10e4708c]
fstp dword [esp + 0x320]
fmul dword [0x10e4708c]
fld dword [esp + 0x358]
fmul dword [0x10e4708c]
fld dword [ebx]
fsub dword [esp + 0x320]
fstp dword [ebx]
fld dword [ebx + 4]
fsub st(2)
fstp dword [ebx + 4]
fld dword [ebx + 8]
fsub st(1)
fstp dword [ebx + 8]
fstp st(0)
fstp st(0)
call fcn.10ad1f40
mov edx, dword [eax]
mov ecx, ebx
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
call dword [0x10e43704]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x58]
fsub dword [esi + 0x5c]
fmulp st(1)
fadd dword [esi + 0x5c]
fstp dword [esp + 0x34]
call dword [0x10e43704]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x50]
fsub dword [esi + 0x54]
fmulp st(1)
fadd dword [esi + 0x54]
fstp dword [esp + 0x330]
call dword [0x10e43704]
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x60]
fsub dword [esi + 0x64]
fmulp st(1)
fadd dword [esi + 0x64]
fld dword [esp + 0x330]
fmul dword [ebx]
fstp dword [ebx]
fld dword [esp + 0x34]
fmul dword [ebx + 4]
fstp dword [ebx + 4]
fmul dword [ebx + 8]
fstp dword [ebx + 8]
test dword [esi + 0x2c], 0x8000000
je 0x10ad5e16
mov ebx, dword [0x10e43704]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x24c]
fsub dword [esi + 0x250]
fmulp st(1)
fadd dword [esi + 0x250]
fstp dword [esp + 0x34]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x244]
fsub dword [esi + 0x248]
fmulp st(1)
fadd dword [esi + 0x248]
fstp dword [esp + 0x2f4]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x254]
fsub dword [esi + 0x258]
fmulp st(1)
fadd dword [esi + 0x258]
fld dword [esp + 0x2f4]
fmul dword [edi + 0x30]
fstp dword [edi + 0x30]
fld dword [esp + 0x34]
fmul dword [edi + 0x34]
fstp dword [edi + 0x34]
fmul dword [edi + 0x38]
fstp dword [edi + 0x38]
fld dword [esp + 0x28]
mov ebx, edi
fmul dword [0x10e601d4]
fld dword [esp + 0x2c]
fmul dword [0x10e601d4]
fld dword [esp + 0x30]
fmul dword [0x10e601d4]
fstp dword [esp + 0x308]
fxch st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x200]
mov eax, dword [esp + 0x200]
mov dword [ebx], eax
fadd dword [esp + 0x3c]
fstp dword [esp + 0x204]
mov ecx, dword [esp + 0x204]
fld dword [esp + 0x308]
mov dword [ebx + 4], ecx
fadd dword [esp + 0x40]
fstp dword [esp + 0x208]
mov edx, dword [esp + 0x208]
mov dword [ebx + 8], edx
lea ebx, [edi + 0xc]
mov dword [ebx], eax
mov eax, dword [edi + 0xb8]
mov dword [ebx + 4], ecx
inc eax
mov dword [ebx + 8], edx
mov dword [edi + 0xb8], eax
fld dword [0x10e4500c]
mov ebx, dword [edi + 0xac]
fld dword [edi + 0xb0]
mov ecx, 0x3f800000
fucompp
mov dword [esp + 0x148], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
fnstsw ax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
test ah, 0x44
jnp 0x10ad5f00
fld dword [esp + 0x78]
push ecx
fdiv dword [edi + 0xb0]
push 0
push ecx
fstp dword [esp]
call fcn.1097dd90
fstp dword [esp + 0x94]
add esp, 0xc
mov ecx, dword [esp + 0x88]
jmp 0x10ad5f09
xor ecx, ecx
mov dword [esp + 0x88], ecx
mov eax, dword [esi + 0x2c]
test eax, 0x10000000
je 0x10ad5fcf
test eax, 0x40000000
je 0x10ad5f35
fld dword [edi + 0xac]
fadd dword [0x10e45008]
fdivr dword [0x10e45008]
jmp 0x10ad5fd6
shr eax, 0x1d
and eax, 1
mov dword [esp + 0x160], ebx
jne 0x10ad5f4b
mov dword [esp + 0x160], ecx
test eax, eax
mov dword [esp + 0xec], ebx
jne 0x10ad5f5d
mov dword [esp + 0xec], ecx
fld dword [esi + 0x274]
push ecx
fadd dword [0x10e45008]
fld dword [esp + 0x164]
fmul st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0xf0]
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.1090e220
fsubr dword [esp + 0x4c]
mov eax, dword [esi + 0x26c]
add esp, 4
xor ecx, ecx
test eax, eax
fstp dword [esp + 0x14]
jle 0x10ad5fcf
mov ebx, dword [esi + 0x268]
mov edx, ebx
lea esp, [esp]
fld dword [edx]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x10ad60a5
mov eax, dword [esi + 0x26c]
inc ecx
add edx, 8
cmp ecx, eax
jl 0x10ad5fb0
fld dword [esp + 0x148]
fld st(0)
lea eax, [edi + 0x6c]
fmul dword [edi + 0x24]
fstp dword [esp + 0x19c]
mov ecx, dword [esp + 0x19c]
fld st(0)
fmul dword [edi + 0x28]
fstp dword [esp + 0x1a0]
mov edx, dword [esp + 0x1a0]
fmul dword [edi + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], edx
fstp dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x30]
test ah, 4
je 0x10ad6257
fld dword [0x10e4500c]
fld dword [edi + 0xb0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6257
fld dword [esi + 0x3bc]
fadd dword [0x10e45008]
fmul dword [esp + 0x88]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
push edx
call fcn.1090e220
fsubr dword [esp + 0x18]
mov eax, dword [esi + 0x3b4]
add esp, 4
xor ecx, ecx
test eax, eax
fstp dword [esp + 0x14]
jle 0x10ad6257
mov ebx, dword [esi + 0x3b0]
mov edx, ebx
fld dword [edx]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x10ad614a
mov eax, dword [esi + 0x3b4]
inc ecx
add edx, 0x10
cmp ecx, eax
jl 0x10ad6081
jmp 0x10ad6257
test ecx, ecx
mov edx, dword [ebx + ecx*8 + 4]
mov eax, dword [ebx + ecx*8]
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x110], eax
je 0x10ad60d6
mov edx, dword [ebx + ecx*8 - 4]
mov eax, dword [ebx + ecx*8 - 8]
mov dword [esp + 0x164], edx
mov dword [esp + 0xc4], eax
jmp 0x10ad60ec
mov dword [esp + 0x164], 0x3f800000
mov dword [esp + 0xc4], 0
fld dword [0x10e4500c]
fld dword [esp + 0x110]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6127
fld dword [esp + 0x14]
fsub dword [esp + 0xc4]
fld dword [esp + 0x110]
fsub dword [esp + 0xc4]
fdivp st(1)
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
jmp 0x10ad612c
mov eax, 0x3f800000
push eax
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x16c]
push edx
call fcn.109fbfc0
add esp, 0xc
jmp 0x10ad5fd6
mov eax, ecx
shl eax, 4
add eax, ebx
test ecx, ecx
lea edx, [eax + 4]
mov ebx, dword [edx]
mov dword [esp + 0x2ac], ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x2b4], edx
mov edx, dword [eax]
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x15c], edx
je 0x10ad61aa
lea ecx, [eax - 0xc]
mov edx, dword [ecx]
mov dword [esp + 0x180], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x184], edx
mov edx, dword [eax - 0x10]
mov dword [esp + 0x188], ecx
mov dword [esp + 0xb0], edx
jmp 0x10ad61d3
mov eax, 0x3f800000
mov ecx, eax
mov edx, eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], edx
mov dword [esp + 0xb0], 0
fld dword [0x10e4500c]
fld dword [esp + 0x15c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad620e
fld dword [esp + 0x14]
fsub dword [esp + 0xb0]
fld dword [esp + 0x15c]
fsub dword [esp + 0xb0]
fdivp st(1)
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
jmp 0x10ad6213
mov eax, 0x3f800000
push eax
lea eax, [esp + 0x2b0]
push eax
lea ecx, [esp + 0x188]
push ecx
lea edx, [esp + 0x27c]
push edx
call fcn.10a923d0
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x284]
lea eax, [edi + 0x90]
mov dword [eax], ecx
mov ecx, dword [esp + 0x288]
mov dword [eax + 4], edx
add esp, 0x10
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x30]
mov ebx, eax
shr ebx, 1
and ebx, 1
jne 0x10ad626b
test al, 0xc
je 0x10ad6334
test al, 1
je 0x10ad62a1
fld dword [edi]
fsub dword [edi + 0xc]
fld dword [edi + 4]
fsub dword [edi + 0x10]
fld dword [edi + 8]
fsub dword [edi + 0x14]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fmul dword [esp + 0x1c4]
jmp 0x10ad62d4
fld dword [edi + 0x90]
fmul dword [edi + 0x18]
fld dword [edi + 0x94]
fmul dword [edi + 0x1c]
fld dword [edi + 0x98]
fmul dword [edi + 0x20]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
mov eax, dword [esp + 0xa0]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
push edx
push eax
call fcn.10917de0
fstp dword [esp + 0xa8]
add esp, 8
test ebx, ebx
je 0x10ad6308
fld dword [esp + 0x18]
fmul dword [esi + 0x290]
fmul dword [edi + 0x6c]
fstp dword [edi + 0x6c]
test byte [esi + 0x30], 4
je 0x10ad631e
fld dword [esp + 0x18]
fmul dword [esi + 0x294]
fmul dword [edi + 0x70]
fstp dword [edi + 0x70]
test byte [esi + 0x30], 8
je 0x10ad6334
fld dword [esp + 0x18]
fmul dword [esi + 0x298]
fmul dword [edi + 0x74]
fstp dword [edi + 0x74]
test dword [esi + 0x2c], 0x2000000
je 0x10ad64cb
fld dword [0x10e4500c]
fld dword [edi + 0xb0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad64cb
fld dword [esi + 0x1f4]
fadd dword [0x10e45008]
fmul dword [esp + 0x88]
fstp dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
push ecx
call fcn.1090e220
fsubr dword [esp + 0x18]
mov eax, dword [esi + 0x1ec]
add esp, 4
xor ecx, ecx
test eax, eax
fstp dword [esp + 0x14]
jle 0x10ad64cb
mov ebx, dword [esi + 0x1e8]
mov edx, ebx
mov edi, edi
fld dword [edx]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x10ad63c0
mov eax, dword [esi + 0x1ec]
inc ecx
add edx, 0x10
cmp ecx, eax
jl 0x10ad63a0
jmp 0x10ad64cb
mov edx, ecx
shl edx, 4
test ecx, ecx
lea eax, [edx + ebx]
lea edx, [eax + 4]
mov ebx, dword [edx]
mov dword [esp + 0x288], ebx
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x290], edx
mov edx, dword [eax]
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x130], edx
je 0x10ad6421
lea ecx, [eax - 0xc]
mov edx, dword [ecx]
mov dword [esp + 0x174], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x178], edx
mov edx, dword [eax - 0x10]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x98], edx
jmp 0x10ad644a
mov eax, 0x3f800000
mov ecx, eax
mov edx, eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x98], 0
fld dword [0x10e4500c]
fld dword [esp + 0x130]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6485
fld dword [esp + 0x14]
fsub dword [esp + 0x98]
fld dword [esp + 0x130]
fsub dword [esp + 0x98]
fdivp st(1)
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
jmp 0x10ad648a
mov eax, 0x3f800000
push eax
lea eax, [esp + 0x28c]
push eax
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x234]
push edx
call fcn.10a923d0
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x23c]
lea eax, [edi + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x240]
mov dword [eax + 4], edx
add esp, 0x10
mov dword [eax + 8], ecx
test byte [esi + 0x2c], 0x10
je 0x10ad66fa
fld dword [0x10e4500c]
fld dword [edi + 0xb0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad66fa
fld dword [esi + 0xa8]
fadd dword [0x10e45008]
fmul dword [esp + 0x88]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
push edx
call fcn.1090e220
fsubr dword [esp + 0x18]
mov eax, dword [esi + 0xa0]
add esp, 4
xor ebx, ebx
test eax, eax
fstp dword [esp + 0x14]
jle 0x10ad66fa
mov ecx, dword [esi + 0x9c]
fld dword [ecx]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x10ad6550
mov eax, dword [esi + 0xa0]
inc ebx
add ecx, 8
cmp ebx, eax
jl 0x10ad6530
jmp 0x10ad66fa
mov eax, dword [esi + 0x9c]
mov ecx, dword [eax + ebx*8]
lea edx, [esp + 0x2d4]
mov dword [esp + 0x138], ecx
push edx
lea ecx, [eax + ebx*8 + 4]
call fcn.10a21fd0
test ebx, ebx
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2dc]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], eax
je 0x10ad660c
mov eax, dword [esi + 0x9c]
lea ecx, [esp + 0x2e4]
push ecx
lea ecx, [eax + ebx*8 - 4]
call fcn.10a21fd0
mov eax, dword [esp + 0x2e8]
mov edx, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2ec]
mov dword [esp + 0xf4], eax
mov eax, dword [esi + 0x9c]
mov eax, dword [eax + ebx*8 - 8]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x70], eax
jmp 0x10ad663b
mov eax, 0x3f800000
mov ecx, eax
mov edx, eax
mov ebx, eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x70], 0
fld dword [0x10e4500c]
fld dword [esp + 0x138]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6670
fld dword [esp + 0x14]
fsub dword [esp + 0x70]
fld dword [esp + 0x138]
fsub dword [esp + 0x70]
fdivp st(1)
fstp dword [esp + 0x48]
mov ebx, dword [esp + 0x48]
jmp 0x10ad6675
mov ebx, 0x3f800000
push ebx
lea ecx, [esp + 0x190]
push ecx
lea edx, [esp + 0xf8]
push edx
call fcn.109fbfc0
fstp dword [esp + 0x6c]
push ebx
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0x108]
push ecx
call fcn.109fbfc0
fstp dword [esp + 0x7c]
push ebx
lea edx, [esp + 0x1b0]
push edx
lea eax, [esp + 0x118]
push eax
call fcn.109fbfc0
fstp dword [esp + 0x8c]
mov al, byte [esi + 0x2f8]
add esp, 0x24
cmp al, 1
jne 0x10ad66f2
push ebx
lea ecx, [esp + 0x19c]
push ecx
lea edx, [esp + 0x104]
push edx
call fcn.109fbfc0
fstp dword [esp + 0x78]
add esp, 0xc
jmp 0x10ad66fa
mov dword [esp + 0x6c], 0x3f800000
fld dword [esp + 0x60]
mov edx, dword [esi + 0x2c]
fmul dword [edi + 0x84]
mov ecx, edx
shr ecx, 5
and ecx, 1
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [edi + 0x88]
fstp dword [esp + 0x64]
fld dword [esp + 0x68]
fmul dword [edi + 0x8c]
fstp dword [esp + 0x68]
je 0x10ad6757
fld dword [esp + 0x78]
fcomp dword [esi + 0xd8]
fnstsw ax
test ah, 0x41
jne 0x10ad6757
fld dword [esi + 0xd8]
fld dword [edi + 0xb0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10ad678e
test dl, 0x40
je 0x10ad68e5
fld dword [esp + 0x78]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x10ad68e5
fld dword [0x10e4500c]
fld dword [esi + 0xec]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad68e5
test ecx, ecx
je 0x10ad67c3
fld dword [esp + 0x78]
fcomp dword [esi + 0xd8]
fnstsw ax
test ah, 0x41
jne 0x10ad67c3
fld dword [esp + 0x78]
lea eax, [esi + 0xc8]
fsub dword [esi + 0xd8]
fld dword [edi + 0xb0]
fsub dword [esi + 0xd8]
fdivp st(1)
jmp 0x10ad67d9
fld dword [esi + 0xec]
lea eax, [esi + 0xdc]
fsub dword [esp + 0x78]
fdiv dword [esi + 0xec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0xcc], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xd0], edx
mov edx, dword [eax + 0xc]
mov al, byte [esi + 0x2f8]
cmp al, 2
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
jne 0x10ad6847
fld dword [esp + 0xd8]
mov eax, 0x3f000000
fmul st(1)
mov ecx, eax
mov edx, eax
mov dword [esp + 0x60], eax
fsubr dword [0x10e45008]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
fstp dword [esp + 0x3e4]
mov eax, dword [esp + 0x3e4]
mov dword [esp + 0x6c], eax
fstp st(0)
jmp 0x10ad68e5
cmp al, 1
jne 0x10ad6863
fld dword [esp + 0xd8]
fmul st(1)
fsubr dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fstp st(0)
jmp 0x10ad68e5
fld dword [esp + 0xcc]
fmul st(1)
fstp dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a8]
fld dword [esp + 0xd0]
mov dword [esp + 0x2c4], ecx
fmul st(1)
lea ecx, [esp + 0x2c4]
push ecx
lea ecx, [esp + 0x64]
fstp dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b0]
fld dword [esp + 0xd8]
mov dword [esp + 0x2cc], edx
fmul st(1)
lea edx, [esp + 0x4c]
push edx
fstp dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b8]
fld dword [esp + 0xe0]
mov dword [esp + 0x2d4], eax
fmul st(1)
fstp dword [esp + 0x2d8]
fstp st(0)
call fcn.10ad1de0
fld dword [esi + 0xc4]
fcomp dword [0x10e45008]
fnstsw ax
test ah, 5
jp 0x10ad6948
mov al, byte [esi + 0x2f8]
test al, al
je 0x10ad6948
cmp al, 1
je 0x10ad693a
cmp al, 2
je 0x10ad693a
cmp al, 4
je 0x10ad693a
fld dword [esp + 0x60]
fmul dword [esi + 0xc4]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul dword [esi + 0xc4]
fstp dword [esp + 0x64]
fld dword [esp + 0x68]
fmul dword [esi + 0xc4]
fstp dword [esp + 0x68]
jmp 0x10ad6948
fld dword [esp + 0x6c]
fmul dword [esi + 0xc4]
fstp dword [esp + 0x6c]
mov eax, dword [0x10fd11b4]
test eax, eax
je 0x10ad69a6
mov eax, 0x10f4b274
movss xmm0, dword [eax]
shufps xmm0, xmm0, 0
lea ecx, [esp + 0x60]
movups xmm1, xmmword [ecx]
mulps xmm1, xmm0
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xc6
movaps xmm1, xmm3
minps xmm1, xmm0
movaps xmm0, xmm1
xorps xmm2, xmm2
maxps xmm0, xmm2
pxor mm0, mm0
movaps xmm1, xmm0
movhlps xmm1, xmm0
cvtps2pi mm1, xmm1
cvtps2pi mm2, xmm0
packssdw mm2, mm1
packuswb mm2, mm0
movq qword [esp + 0x48], mm2
mov edx, dword [esp + 0x48]
mov dword [edi + 0xa8], edx
emms
jmp 0x10ad69c4
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x1d8]
call fcn.1097fa00
mov ecx, dword [esp + 0x1d4]
mov dword [edi + 0xa8], ecx
push edi
lea ecx, [esi + 0x3ec]
call fcn.10971530
fld dword [0x10e4500c]
fld dword [esi + 0x368]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6a07
mov edx, dword [esi + 0x368]
fld dword [esi + 0x368]
mov eax, dword [edi + 0x18]
fchs
push edx
push ecx
fstp dword [esp]
push eax
call fcn.1097dd90
fstp dword [edi + 0x18]
add esp, 0xc
fld dword [0x10e4500c]
fld dword [esi + 0x36c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6a3e
mov ecx, dword [esi + 0x36c]
fld dword [esi + 0x36c]
mov edx, dword [edi + 0x1c]
fchs
push ecx
push ecx
fstp dword [esp]
push edx
call fcn.1097dd90
fstp dword [edi + 0x1c]
add esp, 0xc
fld dword [0x10e4500c]
fld dword [esi + 0x370]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10ad6a75
mov eax, dword [esi + 0x370]
fld dword [esi + 0x370]
push eax
fchs
push ecx
mov ecx, dword [edi + 0x20]
fstp dword [esp]
push ecx
call fcn.1097dd90
fstp dword [edi + 0x20]
add esp, 0xc
mov ebx, dword [0x10e43704]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x474]
fsub dword [esi + 0x478]
fmulp st(1)
fadd dword [esi + 0x478]
fstp dword [esp + 0x34]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fmul dword [0x10e49e18]
fld dword [esi + 0x46c]
fsub dword [esi + 0x470]
fmulp st(1)
fadd dword [esi + 0x470]
fstp dword [esp + 0x30c]
call ebx
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
mov eax, dword [esp + 0x24]
test eax, eax
fmul dword [0x10e49e18]
fld dword [esi + 0x47c]
fsub dword [esi + 0x480]
fmulp st(1)
fadd dword [esi + 0x480]
fld dword [esp + 0x30c]
fmul dword [edi + 0x18]
fld dword [esp + 0x34]
fmul dword [edi + 0x1c]
fstp dword [esp + 0x1f0]
fxch st(1)
fmul dword [edi + 0x20]
fstp dword [esp + 0x1f4]
fmul dword [ebp + 8]
fld dword [esp + 0x1f0]
fmul dword [ebp + 8]
fld dword [esp + 0x1f4]
fmul dword [ebp + 8]
fstp dword [esp + 0x32c]
fld dword [edi + 0x18]
fsub st(2)
fstp dword [edi + 0x18]
fld dword [edi + 0x1c]
fsub st(1)
fstp dword [edi + 0x1c]
fstp st(0)
fstp st(0)
fld dword [edi + 0x20]
fsub dword [esp + 0x32c]
fstp dword [edi + 0x20]
je 0x10ad6bb4
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov dword [esp + 0x10c], ecx
fld dword [esp + 0x10c]
mov dword [esp + 0x158], eax
fmul dword [esp + 0x10c]
mov dword [esp + 0x74], edx
fld dword [esp + 0x158]
fmul dword [esp + 0x158]
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0x74]
faddp st(1)
fcomp dword [esi + 0x320]
fnstsw ax
test ah, 5
jp 0x10ad6bb4
or dword [edi + 0xbc], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov edx, dword [esi]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x90]
inc dword [esp + 0x20]
jmp 0x10ad4cf0
mov eax, dword [esi + 0x2c]
test eax, 0x10000000
mov dword [esp + 0x70], 0x3f800000
je 0x10ad6c1a
test eax, 0x40000000
jne 0x10ad6c1a
mov eax, dword [esi + 0x26c]
test eax, eax
jle 0x10ad6c1a
mov edi, dword [esi + 0x268]
add edi, 4
mov ebx, eax
mov edi, edi
mov edx, dword [esp + 0x70]
mov eax, dword [edi]
push edx
push eax
call fcn.10917de0
fstp dword [esp + 0x78]
add esp, 8
add edi, 8
dec ebx
jne 0x10ad6c00
mov ebx, dword [esi + 0x30]
mov edi, dword [esp + 0x44]
mov eax, ebx
shr eax, 1
and eax, 1
mov dword [esp + 0x20], 0x3f800000
je 0x10ad6c8d
test eax, eax
mov dword [esp + 0x20], 0
je 0x10ad6c53
mov ecx, dword [esi + 0x290]
push ecx
push 0
call fcn.10917de0
fstp dword [esp + 0x28]
add esp, 8
test bl, 4
je 0x10ad6c70
mov edx, dword [esi + 0x294]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.10917de0
fstp dword [esp + 0x28]
add esp, 8
test bl, 8
je 0x10ad6c8d
mov ecx, dword [esi + 0x298]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.10917de0
fstp dword [esp + 0x28]
add esp, 8
fld dword [esp + 0x20]
mov eax, dword [esi + 0x430]
cmp edi, eax
fmul dword [esp + 0x70]
fmul dword [esp + 0xa0]
fstp dword [esi + 0x440]
jge 0x10ad6cb4
cmp dword [esi + 0x3e4], edi
jne 0x10ad6ce7
fld dword [0x10e4500c]
fld dword [esp + 0x5c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10ad6ce7
mov eax, dword [esi + 0x2c]
test ah, 2
jne 0x10ad6ce7
or dword [esi + 0x3cc], 8
mov eax, dword [esi + 0x3e4]
sub eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
and dword [esi + 0x3cc], 0xfffffff7
mov eax, dword [esi + 0x3e4]
sub eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4