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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a8
mov eax, dword [0x10033670]
shr eax, 1
push ebx
mov dword [esp + 8], eax
fild dword [esp + 8]
push esi
mov dword [esp + 0x10], 0xffffffff
jns 0x1000d87d
fadd dword [0x10028fb8]
mov ecx, dword [0x10033674]
fstp dword [esp + 0x15c]
shr ecx, 1
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
jns 0x1000d89c
fadd dword [0x10028fb8]
fstp dword [esp + 0x160]
xor ebx, ebx
mov edx, dword [0x10033bf0]
mov ecx, dword [edx + 0x268]
mov edx, dword [0x1002ef4c]
mov ecx, dword [edx + ecx]
mov al, bl
not al
mov edx, ecx
and al, 1
and edx, 0x80000001
jns 0x1000d8cf
dec edx
or edx, 0xfffffffe
inc edx
sete dl
cmp al, dl
jne 0x1000d8e3
cmp dword [0x10033ce4], 0
je 0x1000e306
cmp ebx, ecx
je 0x1000e306
push ebx
call fcn.10008540
add esp, 4
test eax, eax
jle 0x1000e306
mov eax, dword [0x10033bf0]
mov ecx, dword [eax + 0x268]
mov edx, dword [0x1002ef4c]
mov eax, dword [edx + ecx]
push eax
call fcn.10008540
add esp, 4
test eax, eax
jle 0x1000e306
push ebx
call fcn.10008d80
add esp, 4
cmp al, 1
jne 0x1000e306
push ebx
call fcn.1000d770
add esp, 4
test eax, eax
je 0x1000e306
lea eax, [esp + 0x150]
push ebx
push eax
mov ecx, 7
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea ecx, [esp + 0x108]
push ebx
push ecx
mov ecx, 0xb
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea edx, [esp + 0x138]
push ebx
push edx
mov ecx, 0xa
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea eax, [esp + 0x120]
push ebx
push eax
mov ecx, 9
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea ecx, [esp + 0xf0]
push ebx
push ecx
mov ecx, 8
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea edx, [esp + 0xfc]
push ebx
push edx
mov ecx, 6
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea eax, [esp + 0x114]
push ebx
push eax
mov ecx, 5
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea ecx, [esp + 0x12c]
push ebx
push ecx
mov ecx, 4
call fcn.10009490
add esp, 8
test al, al
jne 0x1000da3e
lea edx, [esp + 0x144]
push ebx
push edx
xor ecx, ecx
call fcn.10009490
add esp, 8
test al, al
je 0x1000e306
mov ecx, dword [0x10030938]
mov edx, dword [0x10033bf0]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add edx, 0x24
push edx
call eax
mov esi, dword [eax]
mov ecx, dword [0x10030938]
mov eax, dword [0x10033bf0]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add eax, 0x28
push eax
call edx
mov ecx, dword [eax]
mov edx, dword [esp + 0x150]
push edi
lea eax, [esp + 0xe8]
push eax
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x168]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x16c]
add ecx, esi
mov dword [eax + 8], edx
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
push edi
lea eax, [esp + 0x28]
push eax
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x124]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x138]
push edi
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0x144]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x154]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x120]
push edi
lea edx, [esp + 0x7c]
push edx
mov edx, dword [esp + 0x12c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x13c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0xf0]
push edi
lea edx, [esp + 0x94]
push edx
mov edx, dword [esp + 0xfc]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0xfc]
push edi
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x108]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x114]
push edi
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0x120]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x130]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x12c]
push edi
lea edx, [esp + 0xdc]
push edx
mov edx, dword [esp + 0x138]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x148]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
jne 0x1000dc8a
mov ecx, dword [esp + 0x144]
push edi
lea edx, [esp + 0x58]
push edx
mov edx, dword [esp + 0x150]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x160]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.10008ac0
mov ecx, eax
call fcn.10008940
test al, al
je 0x1000e306
fld dword [esp + 0xe4]
fld st(0)
fld dword [esp + 0x15c]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc0]
fld dword [esp + 0xe8]
fld st(0)
fld dword [esp + 0x160]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc4]
fld dword [esp + 0xec]
fldz
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0xc8]
fld dword [esp + 0x24]
fsub st(4)
fstp dword [esp + 0x9c]
fld dword [esp + 0x28]
fsub st(2)
fstp dword [esp + 0xa0]
fld dword [esp + 0x2c]
fsub st(1)
fstp dword [esp + 0xa4]
fld dword [esp + 0x30]
fsub st(4)
fstp dword [esp + 0x6c]
fld dword [esp + 0x34]
fsub st(2)
fstp dword [esp + 0x70]
fld dword [esp + 0x38]
fsub st(1)
fstp dword [esp + 0x74]
fld dword [esp + 0x78]
fsub st(4)
fstp dword [esp + 0xcc]
fld dword [esp + 0x7c]
fsub st(2)
fstp dword [esp + 0xd0]
fld dword [esp + 0x80]
fsub st(1)
fstp dword [esp + 0xd4]
fld dword [esp + 0x90]
fsub st(4)
fstp dword [esp + 0x84]
fld dword [esp + 0x94]
fsub st(2)
fstp dword [esp + 0x88]
fld dword [esp + 0x98]
fsub st(1)
fstp dword [esp + 0x8c]
fld dword [esp + 0xa8]
fsub st(4)
fstp dword [esp + 0xb4]
fld dword [esp + 0xac]
fsub st(2)
fstp dword [esp + 0xb8]
fld dword [esp + 0xb0]
fsub st(1)
fstp dword [esp + 0xbc]
fld dword [esp + 0x3c]
fsub st(4)
fstp dword [esp + 0x48]
fld dword [esp + 0x40]
fsub st(2)
fstp dword [esp + 0x4c]
fld dword [esp + 0x44]
fsub st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0xd8]
fsub st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0xdc]
fsub st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0xe0]
fsub st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x54]
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x60]
fsubr dword [esp + 0x58]
fstp dword [esp + 0x64]
fld dword [esp + 0x5c]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0xc4]
fld dword [esp + 0xc0]
fld dword [esp + 0xc8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x170]
fld dword [esp + 0xa0]
fld dword [esp + 0x9c]
fld dword [esp + 0xa4]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x188]
fld dword [esp + 0x70]
fld dword [esp + 0x6c]
fld dword [esp + 0x74]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x168]
fld dword [esp + 0xd0]
fld dword [esp + 0xcc]
fld dword [esp + 0xd4]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x198]
fld dword [esp + 0x88]
fld dword [esp + 0x84]
fld dword [esp + 0x8c]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x180]
fld dword [esp + 0xb8]
fld dword [esp + 0xb4]
fld dword [esp + 0xbc]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
mov edx, dword [0x10033670]
fstp qword [esp + 0x1a0]
fld dword [esp + 0x4c]
fld dword [esp + 0x48]
fld dword [esp + 0x50]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x178]
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
fld dword [esp + 0x20]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x1a8]
fld dword [esp + 0x64]
fld dword [esp + 0x60]
fld dword [esp + 0x68]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp qword [esp + 0x190]
fild dword [0x10033670]
test edx, edx
jns 0x1000df8a
fadd dword [0x10028fb8]
fld qword [0x10028f70]
mov eax, dword [0x10033674]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 8]
fld dword [esp + 8]
fst dword [esp + 0x14]
fild dword [0x10033674]
test eax, eax
jns 0x1000dfb5
fadd dword [0x10028fb8]
fmulp st(2)
or ecx, 0xffffffff
fxch st(1)
fstp dword [esp + 8]
fld dword [esp + 8]
fst dword [esp + 0xc]
fild dword [0x10033e0c]
fstp dword [esp + 8]
fld dword [esp + 8]
fst dword [esp + 8]
fld dword [esp + 0x14]
fsubp st(5)
fld dword [esp + 0xc]
fsubp st(4)
fld dword [esp + 8]
fld st(4)
fmulp st(5)
fld st(5)
fmulp st(6)
fxch st(4)
faddp st(5)
fld st(3)
fmulp st(4)
fxch st(4)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jp 0x1000e027
cmp dword [esp + 0x10], ecx
jne 0x1000e027
fld qword [0x100290a8]
fcom qword [esp + 0x170]
fnstsw ax
test ah, 0x41
jne 0x1000e02d
mov dword [esp + 0x10], ebx
jmp 0x1000e02d
fld qword [0x100290a8]
fxch st(1)
fst dword [esp + 0xc]
fxch st(2)
fst dword [esp + 0x14]
fxch st(3)
fst dword [esp + 8]
fld dword [esp + 0x24]
fsub dword [esp + 0xc]
fld dword [esp + 0x28]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e086
cmp dword [esp + 0x10], ecx
jne 0x1000e086
fxch st(1)
fcom qword [esp + 0x188]
fnstsw ax
test ah, 0x41
jne 0x1000e084
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(2)
fst dword [esp + 0xc]
fxch st(3)
fst dword [esp + 0x14]
fxch st(2)
fst dword [esp + 8]
fld dword [esp + 0x30]
fsub dword [esp + 0xc]
fld dword [esp + 0x34]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e0df
cmp dword [esp + 0x10], ecx
jne 0x1000e0df
fxch st(1)
fcom qword [esp + 0x168]
fnstsw ax
test ah, 0x41
jne 0x1000e0dd
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(3)
fst dword [esp + 0xc]
fxch st(2)
fst dword [esp + 0x14]
fxch st(3)
fst dword [esp + 8]
fld dword [esp + 0x78]
fsub dword [esp + 0xc]
fld dword [esp + 0x7c]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e138
cmp dword [esp + 0x10], ecx
jne 0x1000e138
fxch st(1)
fcom qword [esp + 0x198]
fnstsw ax
test ah, 0x41
jne 0x1000e136
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(2)
fst dword [esp + 0xc]
fxch st(3)
fst dword [esp + 0x14]
fxch st(2)
fst dword [esp + 8]
fld dword [esp + 0x90]
fsub dword [esp + 0xc]
fld dword [esp + 0x94]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e197
cmp dword [esp + 0x10], ecx
jne 0x1000e197
fxch st(1)
fcom qword [esp + 0x180]
fnstsw ax
test ah, 0x41
jne 0x1000e195
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(3)
fst dword [esp + 0xc]
fxch st(2)
fst dword [esp + 0x14]
fxch st(3)
fst dword [esp + 8]
fld dword [esp + 0xa8]
fsub dword [esp + 0xc]
fld dword [esp + 0xac]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e1f6
cmp dword [esp + 0x10], ecx
jne 0x1000e1f6
fxch st(1)
fcom qword [esp + 0x1a0]
fnstsw ax
test ah, 0x41
jne 0x1000e1f4
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(2)
fst dword [esp + 0xc]
fxch st(3)
fst dword [esp + 0x14]
fxch st(2)
fst dword [esp + 8]
fld dword [esp + 0x3c]
fsub dword [esp + 0xc]
fld dword [esp + 0x40]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e24f
cmp dword [esp + 0x10], ecx
jne 0x1000e24f
fxch st(1)
fcom qword [esp + 0x178]
fnstsw ax
test ah, 0x41
jne 0x1000e24d
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(3)
fst dword [esp + 0xc]
fxch st(2)
fst dword [esp + 0x14]
fxch st(3)
fst dword [esp + 8]
fld dword [esp + 0xd8]
fsub dword [esp + 0xc]
fld dword [esp + 0xdc]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e2ae
cmp dword [esp + 0x10], ecx
jne 0x1000e2ae
fxch st(1)
fcom qword [esp + 0x1a8]
fnstsw ax
test ah, 0x41
jne 0x1000e2ac
mov dword [esp + 0x10], ebx
fxch st(1)
fxch st(2)
fstp dword [esp + 0xc]
fxch st(2)
fstp dword [esp + 0x14]
fstp dword [esp + 8]
fld dword [esp + 0x54]
fsub dword [esp + 0xc]
fld dword [esp + 0x58]
fsub dword [esp + 0x14]
fld dword [esp + 8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1000e304
cmp dword [esp + 0x10], 0xffffffff
jne 0x1000e304
fcomp qword [esp + 0x190]
fnstsw ax
test ah, 0x41
jne 0x1000e306
mov dword [esp + 0x10], ebx
jmp 0x1000e306
fstp st(0)
inc ebx
cmp ebx, 0x10
jle 0x1000d8a5
mov eax, dword [esp + 0x10]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret