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

Disassembly:
sub esp, 0x2ac
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x94]
mov dword [esi + 0x3e4], 0
mov ecx, dword [eax + 0x5f4]
test ecx, ecx
push edi
je 0x10bf3c87
fld dword [eax + 0x454]
fld dword [esi + 0x3d8]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10bf3c87
mov eax, dword [esi + 0x380]
test eax, eax
je 0x10bf3c87
mov ebp, dword [esp + 0x2d0]
mov bl, byte [esi + 0x74]
xor eax, eax
test ebp, ebp
mov ebp, dword [esp + 0x2c0]
sete al
xor ecx, ecx
cmp bl, 0xd
sete cl
push ebp
mov dword [esp + 0x24], eax
lea eax, [esi + 0x148]
mov edx, dword [eax]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
call fcn.10a63680
add esp, 4
test ebp, ebp
mov ebx, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
je 0x10bf2b0f
test ebx, ebx
lea eax, [ebp + 0x148]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2c8], edx
mov dword [esp + 0x2cc], eax
jne 0x10bf2b0f
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x1b8]
mov edi, eax
test edi, edi
je 0x10bf2a6d
mov ecx, edi
call fcn.10bf1ae0
test eax, eax
je 0x10bf2860
mov ebx, dword [edi + 0x3d0]
fld dword [ebx + 0x148]
fsub dword [esp + 0x2c4]
fld dword [ebx + 0x14c]
fsub dword [esp + 0x2c8]
fld dword [ebx + 0x150]
fsub dword [esp + 0x2cc]
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)
fstp dword [esp + 0x30]
jmp 0x10bf2890
mov eax, dword [edi + 0x380]
push eax
call fcn.10bb4fe0
add esp, 4
test eax, eax
je 0x10bf289c
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x28], 0x1f7
jne 0x10bf289c
mov edx, dword [eax + 0x3b8]
push edx
call fcn.10a63680
add esp, 4
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x10bf2b0f
mov edx, dword [edi + 0x3d4]
test edx, edx
je 0x10bf2940
cmp dword [esi + 0x3d0], edx
je 0x10bf2940
mov eax, dword [esi + 0x94]
fld dword [eax + 0x454]
fsub dword [edi + 0x3dc]
fcomp dword [0x10e6110c]
fnstsw ax
test ah, 5
jp 0x10bf2940
mov ecx, dword [edi + 0x380]
test ecx, ecx
je 0x10bf2940
push 0
push edx
call fcn.10b04f80
test eax, eax
je 0x10bf2940
mov ebx, dword [edi + 0x3d4]
test ebx, ebx
fld dword [ebx + 0x148]
fsub dword [esp + 0x2c4]
mov dword [esp + 0x1c], ebx
fld dword [ebx + 0x14c]
fsub dword [esp + 0x2c8]
fld dword [ebx + 0x150]
fsub dword [esp + 0x2cc]
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)
fstp dword [esp + 0x30]
jne 0x10bf2b0f
cmp byte [edi + 0x74], 2
jne 0x10bf29fa
mov edx, dword [edi + 0x3d4]
test edx, edx
je 0x10bf2a63
cmp dword [esi + 0x3d0], edx
je 0x10bf2a63
mov ecx, dword [esi + 0x94]
fld dword [ecx + 0x454]
fsub dword [edi + 0x3dc]
fcomp dword [0x10e45008]
fnstsw ax
test ah, 5
jp 0x10bf2a63
mov ecx, dword [edi + 0x380]
test ecx, ecx
je 0x10bf2a63
push 0
push edx
call fcn.10b04f80
test eax, eax
je 0x10bf2a63
mov ebx, dword [edi + 0x3d4]
test ebx, ebx
fld dword [ebx + 0x148]
fsub dword [esp + 0x2c4]
mov dword [esp + 0x1c], ebx
fld dword [ebx + 0x14c]
fsub dword [esp + 0x2c8]
fld dword [ebx + 0x150]
fsub dword [esp + 0x2cc]
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)
fstp dword [esp + 0x30]
jne 0x10bf2b0f
mov edx, dword [edi + 0x380]
push edx
call fcn.10a59790
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10bf2b0f
fld dword [ecx + 0x8ac]
fld dword [edi + 0x148]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10bf2b0f
fld dword [ecx + 0x8b0]
fld dword [edi + 0x14c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10bf2b0f
fld dword [ecx + 0x8b4]
fld dword [edi + 0x150]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10bf2b0f
jmp 0x10bf2b07
mov dword [esp + 0x2c], 1
jmp 0x10bf29fa
push ebp
call fcn.10bb4f80
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10bf2b01
mov edx, dword [ecx + 0x3b8]
test edx, edx
je 0x10bf2af4
mov eax, dword [esi + 0x94]
fld dword [eax + 0x454]
fsub dword [ecx + 0x3bc]
fcomp dword [0x10e6110c]
fnstsw ax
test ah, 5
jp 0x10bf2af4
mov ebx, edx
fld dword [ebx + 0x148]
mov dword [esp + 0x1c], ebx
fsub dword [esp + 0x2c4]
fld dword [ebx + 0x14c]
fsub dword [esp + 0x2c8]
fld dword [ebx + 0x150]
fsub dword [esp + 0x2cc]
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)
fstp dword [esp + 0x30]
jmp 0x10bf2b0f
mov cl, byte [ecx + 0x74]
cmp cl, 2
je 0x10bf2b07
cmp cl, 6
jmp 0x10bf2b05
cmp byte [ebp + 0x74], 2
jne 0x10bf2b0f
mov dword [esp + 0x2c], 1
mov ecx, esi
call fcn.10bf1ae0
test eax, eax
jne 0x10bf2b20
mov dword [esi + 0x3d0], eax
mov eax, dword [esi + 0x3d0]
test eax, eax
je 0x10bf2dd2
test ebx, ebx
jne 0x10bf2b3e
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10bf2dd2
mov ecx, dword [esi + 0x94]
mov edi, dword [ecx + 0x5f4]
test edi, edi
je 0x10bf2b8f
mov ebp, 0x200000
test byte [esi + 0x396], 1
je 0x10bf2b7b
test dword [edi + 0x380], ebp
jne 0x10bf2b7b
fild dword [edi + 0x3d0]
fadd dword [0x10eaaec4]
call fcn.10ddea68
mov dword [edi + 0x3d0], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x1fc]
mov edi, dword [edi + 0x3b8]
test edi, edi
jne 0x10bf2b53
test ebx, ebx
je 0x10bf2d07
or dword [ebx + 0x380], 1
cmp byte [esi + 0x74], 0xd
jne 0x10bf2d07
mov eax, dword [esp + 0x2c0]
push eax
call fcn.10a63680
mov ecx, dword [ebx + 0x388]
mov ebp, eax
add esp, 4
neg ebp
sbb ebp, ebp
neg ebp
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x2c], ebp
jle 0x10bf2bfb
mov edx, dword [esi + 0x3d0]
mov ecx, dword [ebx + 0x384]
lea esp, [esp]
mov edi, dword [ecx]
cmp dword [edi + 0x34], edx
je 0x10bf2d07
mov edi, dword [ebx + 0x388]
inc eax
add ecx, 4
cmp eax, edi
jl 0x10bf2be0
xor eax, eax
mov ecx, dword [ebx + 0x388]
xor edi, edi
cmp ecx, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x3f800000
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x80], eax
jle 0x10bf2d07
mov edi, edi
mov ecx, dword [ebx + 0x384]
mov edx, dword [ecx + edi*4]
mov ecx, dword [edx + 0x34]
push ebx
call fcn.10bacba0
test eax, eax
je 0x10bf2cf8
test byte [eax + 0x40], 0x82
jne 0x10bf2cf8
test ebp, ebp
mov dword [esp + 0x58], 0
jne 0x10bf2ce5
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], ebp
mov dword [edx + 4], ebp
mov dword [edx + 8], ebp
push 0x286
lea edx, [esp + 0x2d4]
push edx
mov edx, dword [ebx + 0x384]
mov edx, dword [edx + edi*4]
mov edx, dword [edx + 0x34]
add edx, 0x148
push edx
push esi
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call dword [eax + 0xdc]
mov eax, dword [esp + 0x58]
test eax, eax
mov ebp, dword [esp + 0x2c]
jne 0x10bf2cf8
mov eax, dword [ebx + 0x384]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 0x34]
or dword [eax + 0x380], 1
mov eax, dword [ebx + 0x388]
inc edi
cmp edi, eax
jl 0x10bf2c60
mov edi, dword [esp + 0x3c]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
push 0
push 1
push 1
sub esp, 0xc
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x5c]
push esi
mov dword [eax + 8], edi
call dword [edx + 0xac]
fld dword [esp + 0x38]
fadd dword [0x10e4708c]
sub esp, 8
fstp qword [esp]
call dword [0x10e43708]
add esp, 8
call fcn.10ddea68
mov ecx, dword [esi + 0x3d0]
mov dword [ecx + 0x3b0], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10bf2d72
mov dword [esp + 0x2d0], 0x10bf12f0
mov edx, dword [esp + 0x2d8]
push edx
lea eax, [esp + 0x2d8]
push eax
mov ecx, esi
call fcn.10a7b050
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esp + 0x2d8]
push eax
push ecx
push edx
mov ecx, esi
call fcn.10bf1db0
test eax, eax
je 0x10bf3963
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esi + 0x380]
push edx
push eax
call fcn.10bf2220
fld dword [esp + 0x2d4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
push 0
push 0x3f800000
lea ecx, [esp + 0x190]
call fcn.1097d8d0
mov eax, dword [esi + 0x94]
mov edi, dword [eax + 0x5f4]
test edi, edi
mov dword [esp + 0x184], 0
mov dword [esp + 0x2b8], 0
je 0x10bf3095
nop
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x1fc]
test dword [edi + 0x380], 0x200000
mov al, byte [esi + 0x396]
je 0x10bf2e36
test al, 1
je 0x10bf3087
jmp 0x10bf2e51
test al, 1
je 0x10bf2e51
fild dword [edi + 0x3d0]
fadd dword [0x10eaaec4]
call fcn.10ddea68
mov dword [edi + 0x3d0], eax
test byte [edi + 0x380], 0x20
jne 0x10bf3087
mov eax, dword [esi + 0x3d0]
test eax, eax
jne 0x10bf2f69
mov eax, dword [edi]
sub esp, 0xc
lea ebp, [esi + 0x148]
mov ecx, ebp
mov ebx, dword [ecx]
mov edx, esp
mov dword [edx], ebx
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], ebx
mov dword [edx + 8], ecx
push esi
mov ecx, edi
call dword [eax + 0x204]
test eax, eax
je 0x10bf2ea3
mov dword [esi + 0x3d0], edi
jmp 0x10bf2f65
fld dword [ebp]
fsub dword [edi + 0x148]
fld dword [ebp + 4]
fsub dword [edi + 0x14c]
fld dword [ebp + 8]
fsub dword [edi + 0x150]
fld st(2)
fmul st(3)
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp + 0x34]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x34]
fcomp dword [0x10e908c8]
fnstsw ax
test ah, 5
jp 0x10bf2f65
mov eax, dword [esi + 0x394]
fld dword [edi + 0x3f0]
test ah, 2
je 0x10bf2f1c
fcomp dword [esi + 0x484]
fnstsw ax
test ah, 1
jne 0x10bf2f65
fld dword [edi + 0x3f8]
fcomp dword [esi + 0x480]
fnstsw ax
test ah, 1
je 0x10bf2f3c
jmp 0x10bf2f65
fcomp dword [esi + 0x2cc]
fnstsw ax
test ah, 1
jne 0x10bf2f65
fld dword [edi + 0x3f8]
fcomp dword [esi + 0x2d0]
fnstsw ax
test ah, 1
jne 0x10bf2f65
fld dword [esp + 0x34]
push ecx
fadd dword [0x10e4708c]
fstp dword [esp]
call fcn.1090e220
add esp, 4
call fcn.10ddea68
push eax
push edi
lea ecx, [esp + 0x8c]
call fcn.10bf1310
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0x10bf3087
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10bf3087
mov ecx, dword [esp + 0x2c4]
mov edx, dword [edi]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x2d4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2d8]
mov dword [eax + 8], ecx
push esi
mov ecx, edi
call dword [edx + 0x204]
test eax, eax
je 0x10bf2fb9
mov ebx, edi
mov dword [esp + 0x1c], ebx
jmp 0x10bf3087
fld dword [esp + 0x2c4]
fsub dword [edi + 0x148]
fld dword [esp + 0x2c8]
fsub dword [edi + 0x14c]
fld dword [esp + 0x2cc]
fsub dword [edi + 0x150]
fld st(2)
fmul st(3)
fld st(1)
fmul st(2)
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fstp dword [esp + 0x34]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [esp + 0x34]
fcomp dword [0x10e908c8]
fnstsw ax
test ah, 5
jp 0x10bf3087
mov eax, dword [esi + 0x394]
fld dword [edi + 0x3f0]
test ah, 2
je 0x10bf303e
fcomp dword [esi + 0x484]
fnstsw ax
test ah, 1
jne 0x10bf3087
fld dword [edi + 0x3f8]
fcomp dword [esi + 0x480]
fnstsw ax
test ah, 1
je 0x10bf305e
jmp 0x10bf3087
fcomp dword [esi + 0x2cc]
fnstsw ax
test ah, 1
jne 0x10bf3087
fld dword [edi + 0x3f8]
fcomp dword [esi + 0x2d0]
fnstsw ax
test ah, 1
jne 0x10bf3087
fld dword [esp + 0x34]
push ecx
fadd dword [0x10e4708c]
fstp dword [esp]
call fcn.1090e220
add esp, 4
call fcn.10ddea68
push eax
push edi
lea ecx, [esp + 0x1c0]
call fcn.10bf1310
mov edi, dword [edi + 0x3b8]
test edi, edi
jne 0x10bf2e10
mov eax, dword [esi + 0x3d0]
test eax, eax
jne 0x10bf33d7
mov eax, dword [esp + 0x184]
test eax, eax
jle 0x10bf30c1
push esi
lea ecx, [esp + 0x88]
call fcn.10bf1550
mov dword [esi + 0x3d0], eax
mov eax, dword [esi + 0x3d0]
test eax, eax
jne 0x10bf328a
mov edx, dword [esi + 0x94]
mov ebp, dword [edx + 0x5f4]
test ebp, ebp
mov dword [esp + 0x184], 0
je 0x10bf328a
mov edi, edi
test byte [ebp + 0x380], 0x20
jne 0x10bf317d
push ebp
call fcn.10a7e4a0
mov edi, eax
add esp, 4
test edi, edi
je 0x10bf317d
fld dword [esi + 0x148]
fsub dword [edi + 0x148]
fld dword [esi + 0x14c]
fsub dword [edi + 0x14c]
fld dword [esi + 0x150]
fsub dword [edi + 0x150]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fstp st(0)
fstp st(0)
fcom dword [0x10e908cc]
fnstsw ax
test ah, 0x41
jne 0x10bf317b
fadd dword [0x10e4708c]
sub esp, 8
fstp qword [esp]
call dword [0x10e43708]
add esp, 8
call fcn.10ddea68
push eax
push edi
lea ecx, [esp + 0x8c]
call fcn.10bf1310
jmp 0x10bf317d
fstp st(0)
mov ebp, dword [ebp + 0x3b8]
test ebp, ebp
jne 0x10bf30f0
mov eax, dword [esp + 0x184]
test eax, eax
jle 0x10bf328a
xor edi, edi
test eax, eax
jle 0x10bf31d0
mov ebp, eax
mov ecx, dword [esp + edi*4 + 0x84]
mov eax, dword [esi]
push 1
push 0
push ecx
mov ecx, esi
call dword [eax + 0x1e8]
test eax, eax
jne 0x10bf31c3
inc edi
cmp edi, ebp
jl 0x10bf31a2
jmp 0x10bf31d0
mov edx, dword [esp + edi*4 + 0x84]
mov dword [esi + 0x3d0], edx
mov eax, dword [esi + 0x3d0]
test eax, eax
jne 0x10bf328a
mov eax, dword [esi + 0x148]
fld dword [esi + 0x2d0]
fadd dword [esi + 0x150]
mov ecx, dword [esi + 0x14c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x184]
xor edi, edi
fstp dword [esp + 0x50]
test eax, eax
mov dword [esp + 0x4c], ecx
jle 0x10bf328a
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov ebp, edi
mov ebx, dword [esp + 0x10]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
sub esp, 0xc
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x24]
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
push 0x286
lea eax, [esp + 0x58]
push eax
mov eax, dword [esp + edi*4 + 0x98]
add eax, 0x148
push eax
push esi
lea eax, [esp + 0x1a4]
push eax
call dword [edx + 0xdc]
fld dword [0x10e45008]
fld dword [esp + 0x1ac]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10bf32b9
mov eax, dword [esp + 0x184]
inc edi
cmp edi, eax
jl 0x10bf3221
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x3d0]
test ecx, ecx
jne 0x10bf32f3
mov ecx, dword [esi + 0x94]
fld dword [0x10e4500c]
mov edx, dword [ecx + 0x454]
mov dword [esi + 0x3d8], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
mov eax, dword [esi + 0x380]
test eax, eax
je 0x10bf32e0
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x494], ecx
mov edx, dword [esi + 0x380]
mov eax, dword [esp + edi*4 + 0x84]
mov dword [edx + 0x440], eax
fld dword [0x10e5ec6c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
mov eax, dword [esi + 0x94]
mov edx, dword [eax + 0x454]
mov dword [esi + 0x3dc], edx
mov dword [esi + 0x3d4], ecx
fld dword [ecx + 0x148]
fsub dword [esi + 0x148]
fld dword [ecx + 0x14c]
fsub dword [esi + 0x14c]
fld dword [ecx + 0x150]
fsub dword [esi + 0x150]
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)
fstp dword [esp + 0x38]
fld dword [ecx + 0x150]
fsub dword [esi + 0x150]
fcom dword [0x10e4500c]
fnstsw ax
test ah, 1
je 0x10bf3366
fchs
fld dword [ecx + 0x2d0]
fld dword [esi + 0x2d0]
fst dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x10bf3385
fstp st(0)
fld dword [esp + 0x34]
fxch st(1)
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x10bf33d7
fld dword [ecx + 0x148]
fsub dword [esi + 0x148]
fld dword [ecx + 0x14c]
fsub dword [esi + 0x14c]
fld st(1)
fmulp st(2)
fld st(0)
fmul st(1)
faddp st(2)
fxch st(1)
fsqrt
fstp st(1)
fld dword [ecx + 0x2cc]
fadd dword [esi + 0x2cc]
fcompp
fnstsw ax
test ah, 1
jne 0x10bf33d7
mov dword [esp + 0x38], 0
test ebx, ebx
jne 0x10bf3714
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10bf3714
mov eax, dword [esp + 0x2b8]
test eax, eax
jle 0x10bf346f
mov eax, dword [esp + 0x2c0]
test eax, eax
je 0x10bf3426
mov ecx, dword [esi + 0x380]
mov edx, dword [esp + 0x2c0]
mov eax, dword [ecx]
push edx
call dword [eax + 0x1d8]
test eax, eax
je 0x10bf3426
mov eax, 1
jmp 0x10bf3428
xor eax, eax
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2cc]
push eax
mov eax, dword [esp + 0x2cc]
sub esp, 0xc
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x2e0]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x2d4]
push ecx
push esi
lea ecx, [esp + 0x1d4]
mov dword [edx + 8], eax
call fcn.10bf16f0
mov ebx, eax
test ebx, ebx
jne 0x10bf3679
mov edx, dword [esi + 0x94]
mov edi, dword [edx + 0x5f4]
test edi, edi
mov dword [esp + 0x184], 0
je 0x10bf362a
mov edi, edi
test byte [edi + 0x380], 0x20
jne 0x10bf3524
push edi
call fcn.10a7e4a0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x10bf3524
fld dword [esp + 0x2c4]
fsub dword [ebp + 0x148]
fld dword [esp + 0x2c8]
fsub dword [ebp + 0x14c]
fld dword [esp + 0x2cc]
fsub dword [ebp + 0x150]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fstp st(0)
fstp st(0)
fcom dword [0x10e908cc]
fnstsw ax
test ah, 0x41
jne 0x10bf3522
fadd dword [0x10e4708c]
sub esp, 8
fstp qword [esp]
call dword [0x10e43708]
add esp, 8
call fcn.10ddea68
push eax
push ebp
lea ecx, [esp + 0x8c]
call fcn.10bf1310
jmp 0x10bf3524
fstp st(0)
mov edi, dword [edi + 0x3b8]
test edi, edi
jne 0x10bf3490
mov eax, dword [esp + 0x184]
test eax, eax
jle 0x10bf362a
lea eax, [esi + 0x148]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x2cc]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x2c0]
test ecx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c4]
je 0x10bf3593
fld dword [esp + 0x50]
fadd dword [esi + 0x2d0]
fsub dword [ecx + 0x2d0]
fstp dword [esp + 0x50]
mov ecx, dword [esi + 0x98]
mov edi, dword [ecx]
push 0
push 0
push 1
sub esp, 0xc
mov ebp, esp
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x68]
push esi
mov dword [ebp + 8], edx
call dword [edi + 0xac]
test eax, eax
je 0x10bf362a
mov ebp, dword [esp + 0x184]
xor edi, edi
test ebp, ebp
jle 0x10bf35f8
nop
mov ecx, dword [esp + edi*4 + 0x84]
mov eax, dword [esi]
push 1
push 0
push ecx
mov ecx, esi
call dword [eax + 0x1e8]
test eax, eax
jne 0x10bf35f1
inc edi
cmp edi, ebp
jl 0x10bf35d0
jmp 0x10bf35f8
mov ebx, dword [esp + edi*4 + 0x84]
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x98]
mov edx, dword [ecx]
push 0
push 1
push 1
sub esp, 0xc
mov eax, esp
mov dword [eax], edi
mov edi, dword [esp + 0x2c]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x30]
push esi
mov dword [eax + 8], edi
call dword [edx + 0xac]
test ebx, ebx
jne 0x10bf3679
mov ecx, dword [esp + 0x2c0]
push ecx
call fcn.10bb4f80
mov edi, eax
add esp, 4
test edi, edi
je 0x10bf3c87
mov eax, dword [0x110b86d8]
push 0
lea edx, [esp + 0x24]
push edx
push 0
mov dword [esp + 0x2c], esi
mov esi, dword [edi]
push eax
mov ecx, edi
call fcn.109c4030
push eax
mov ecx, edi
call dword [esi + 0x10]
fld dword [0x10e4500c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
mov edi, dword [esp + 0x2c0]
test edi, edi
je 0x10bf36d1
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x1b8]
test eax, eax
je 0x10bf36ac
mov ecx, dword [esi + 0x94]
mov edx, dword [ecx + 0x454]
mov dword [eax + 0x3dc], edx
mov dword [eax + 0x3d4], ebx
jmp 0x10bf36d1
push edi
call fcn.10bb4f80
add esp, 4
test eax, eax
je 0x10bf36d1
mov ecx, dword [esi + 0x94]
mov edx, dword [ecx + 0x454]
mov dword [eax + 0x3bc], edx
mov dword [eax + 0x3b8], ebx
fld dword [ebx + 0x148]
fsub dword [esp + 0x2c4]
fld dword [ebx + 0x14c]
fsub dword [esp + 0x2c8]
fld dword [ebx + 0x150]
fsub dword [esp + 0x2cc]
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)
fstp dword [esp + 0x30]
mov eax, dword [esi + 0x3d0]
cmp ebx, eax
jne 0x10bf2b8f
fld dword [eax + 0x148]
mov ebx, dword [esp + 0x2c0]
fsub dword [esi + 0x148]
lea edi, [esi + 0x148]
push ebx
sub esp, 0xc
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fld dword [eax + 0x14c]
fsub dword [edi + 4]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
fld dword [eax + 0x150]
mov eax, esp
fsub dword [edi + 8]
mov dword [eax], ecx
mov dword [eax + 4], edx
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.10a7f5d0
test eax, eax
je 0x10bf3799
test ebx, ebx
jne 0x10bf3907
fld dword [0x10e4500c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
mov ecx, dword [esi + 0x3d0]
fld dword [esp + 0x2c4]
fsub dword [ecx + 0x148]
fld dword [esp + 0x2c8]
fsub dword [ecx + 0x14c]
fstp dword [esp + 0x40]
fld dword [esp + 0x2cc]
fsub dword [ecx + 0x150]
fld st(0)
fmul st(1)
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10bf3807
fstp st(0)
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
jmp 0x10bf3829
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul st(3)
fstp dword [esp + 0x20]
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x24]
fxch st(1)
fmul st(1)
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x24]
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x20]
fld dword [edi]
mov dword [esp + 0x40], eax
fsub dword [ecx + 0x148]
mov dword [esp + 0x3c], edx
fld dword [edi + 4]
mov edx, dword [esp + 0x28]
fsub dword [ecx + 0x14c]
mov dword [esp + 0x44], edx
fstp dword [esp + 0x24]
fld dword [edi + 8]
fsub dword [ecx + 0x150]
fld st(0)
fmul st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10bf38a0
fstp st(0)
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x10bf38c2
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul st(3)
fstp dword [esp + 0x10]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul st(1)
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x10]
fstp st(0)
mov edx, dword [esp + 0x14]
fstp st(0)
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
fld dword [esp + 0x28]
fmul dword [esp + 0x44]
mov dword [esp + 0x24], edx
fld dword [esp + 0x24]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x3c]
faddp st(1)
fcomp qword [0x10e991b0]
fnstsw ax
test ah, 0x41
jne 0x10bf3915
mov ecx, dword [esi + 0x380]
mov dword [ecx + 0x440], ebx
jmp 0x10bf3921
mov edx, dword [esi + 0x380]
mov dword [edx + 0x440], ecx
fld dword [esp + 0x2c4]
fsub dword [edi]
fld dword [esp + 0x2c8]
fsub dword [edi + 4]
fld dword [esp + 0x2cc]
fsub dword [edi + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
mov eax, dword [esi + 0x94]
mov eax, dword [eax + 0x5e4]
test eax, eax
je 0x10bf3c87
test dword [eax + 0x3d4], 0x40000000
je 0x10bf3c87
push esi
call fcn.10a7e500
mov edi, eax
add esp, 4
test edi, edi
je 0x10bf3c87
mov eax, dword [edi + 0x994]
test eax, eax
je 0x10bf3c87
mov ebp, dword [eax + 0x380]
mov ecx, dword [esi + 0x380]
mov dword [ecx + 0x380], eax
mov edx, dword [edi + 0x994]
mov eax, dword [esi + 0x380]
mov dword [edx + 0x380], eax
mov ecx, dword [edi + 0x994]
mov edx, dword [esi + 0x3d0]
push 0
lea eax, [esp + 0x2d8]
mov dword [ecx + 0x3d0], edx
mov ecx, dword [edi + 0x994]
push eax
call fcn.10a7b050
mov ecx, dword [esi + 0x3d0]
mov edx, dword [esp + 0x2d8]
push eax
push ecx
mov ecx, dword [edi + 0x994]
push edx
call fcn.10bf1db0
mov ebx, eax
mov eax, dword [edi + 0x994]
mov dword [eax + 0x380], ebp
mov ecx, dword [esi + 0x380]
xor ebp, ebp
cmp ebx, ebp
mov dword [ecx + 0x380], edi
je 0x10bf3c87
mov edx, dword [esi + 0x380]
mov eax, dword [edx + 0x440]
push eax
call fcn.10a63680
mov ecx, dword [esi + 0x3d0]
add esp, 4
cmp ecx, eax
jne 0x10bf3acf
mov eax, 0x444
lea ebx, [ebx]
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + eax]
mov dword [ecx + eax - 4], edx
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + eax + 4]
mov dword [ecx + eax], edx
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + eax + 8]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + eax + 0xc]
mov dword [ecx + eax + 8], edx
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + eax + 0x10]
mov dword [ecx + eax + 0xc], edx
add eax, 0x14
cmp eax, 0x480
jl 0x10bf3a60
mov eax, dword [esi + 0x380]
mov dword [eax + 0x47c], ebp
mov ecx, dword [esi + 0x380]
mov edx, dword [ecx + 0x440]
push edx
call fcn.10a63680
add esp, 4
cmp eax, ebp
je 0x10bf3b65
test byte [esi + 0x39c], 0x10
je 0x10bf3af0
test dword [eax + 0x380], 0x8000000
jne 0x10bf3b65
mov ecx, dword [esi + 0x3d0]
push eax
call fcn.10bacba0
mov ebp, eax
test ebp, ebp
je 0x10bf3b63
fld dword [esi + 0x428]
call fcn.10ddea68
push eax
mov ecx, esi
call fcn.10a7b050
fld dword [esi + 0x2d0]
push eax
call fcn.10ddea68
fld dword [esi + 0x2cc]
push eax
call fcn.10ddea68
push eax
mov ecx, ebp
call fcn.10a7b740
test eax, eax
je 0x10bf3b63
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
push eax
push ecx
mov ecx, dword [esi + 0x380]
push ebx
call fcn.10bf2220
fld dword [esp + 0x2d4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c
xor ebp, ebp
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 0x380]
push edx
push eax
push ebx
call fcn.10bf2220
test byte [edi + 0x8bc], 8
jne 0x10bf3c87
mov ecx, dword [esi + 0x94]
fld dword [ecx + 0x454]
fadd dword [0x10e906c0]
fstp dword [edi + 0xa34]
mov esi, dword [esi + 0x380]
mov eax, dword [esi + 0x440]
cmp eax, ebp
je 0x10bf3c59
fld dword [eax + 0x148]
fsub dword [edi + 0x148]
fld dword [eax + 0x14c]
fsub dword [edi + 0x14c]
fstp dword [esp + 0x4c]
fld dword [eax + 0x150]
fsub dword [edi + 0x150]
fld st(0)
fmul st(1)
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcom qword [0x10e49258]
fnstsw ax
test ah, 5
jp 0x10bf3c19
fstp st(0)
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x10bf3c3b
fsqrt
fdivr dword [0x10e45008]
fld st(0)
fmul st(3)
fstp dword [esp + 0x10]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0x14]
fxch st(1)
fmul st(1)
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x10]
fstp st(0)
mov eax, dword [esp + 0x14]
fstp st(0)
mov ecx, dword [esp + 0x18]
add esi, 0x4a0
mov dword [esi], edx
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov eax, dword [0x110b8624]
mov esi, dword [edi]
push ebp
lea edx, [esp + 0x24]
push edx
push ebp
push eax
mov ecx, edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebp
call fcn.109c4030
push eax
mov ecx, edi
call dword [esi + 0x10]
cmp dword [esp + 0x24], ebp
jne 0x10bf3b4f
fld dword [0x10e4500c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2ac
ret 0x1c