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

Disassembly:
sub esp, 0x120
cmp dword [0x103f6c2c], 0
push ebx
push ebp
push esi
push edi
je 0x10008c07
lea eax, [esp + 0x14]
or edi, 0xffffffff
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x64], edi
push eax
call fcn.10003207
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm1, xmm1
mov esi, dword [0x101649c4]
xor ebx, ebx
pop ecx
pop ecx
movss dword [esp + 0xa4], xmm1
mov dword [esp + 0x64], ebx
mov eax, dword [0x103f6c30]
cmp dword [eax + ebx*4 + 0xfd6], 1
jne 0x100086b9
mov eax, dword [eax + ebx*4 + 0x26]
test eax, eax
je 0x100086b9
mov eax, dword [eax + 8]
test eax, eax
je 0x100086b9
cmp dword [eax + 4], 0
je 0x100086b9
lea eax, [esp + 0x30]
push eax
push ebx
call fcn.100424b5
movss xmm0, dword [esp + 0x40]
lea eax, [esp + 0x2c]
cvtps2pd xmm0, xmm0
push eax
lea eax, [esp + 0x24]
push eax
addsd xmm0, qword [0x10089fb0]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x30], xmm1
call fcn.100030ae
add esp, 0x10
push 1
call ebp
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089f8c]
subss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x14], xmm0
call ebp
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089f8c]
subss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0x14]
movss dword [esp + 0x18], xmm0
call ebp
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089f94]
subss xmm0, dword [esp + 0x28]
movss dword [esp + 0x14], xmm0
call ebp
movss xmm1, dword [esp + 0xa4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10089f94]
subss xmm0, dword [esp + 0x24]
mulss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x14]
sqrtss xmm0, xmm0
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0xa8], xmm2
comisd xmm2, xmm0
jbe 0x10007f06
ucomiss xmm1, dword [0x10089f84]
lahf
test ah, 0x44
jnp 0x10007f06
mov esi, dword [0x101649c4]
jmp 0x100086b9
mov eax, dword [0x103f6c30]
mov esi, dword [0x101649c4]
mov ecx, dword [eax + ebx*4 + 0x26]
mov eax, dword [ecx + 8]
cmp byte [eax + 0x1a], 0x13
jne 0x10007f2b
cmp byte [esi + 0x90dc], 0
jne 0x100086b9
cmp dword [ecx], 0xa
jge 0x10007f3d
cmp byte [esi + 0x90e0], 0
jne 0x100086b9
push 0
push ebx
call fcn.1004247c
mov esi, dword [0x101649c4]
pop ecx
push eax
lea ecx, [esi + 0x4c]
call fcn.10006e82
cmp eax, 0xffffffff
je 0x10007f67
cmp byte [esi + 0x9119], 0
jne 0x100086b9
push 0
push ebx
call fcn.1004247c
mov esi, dword [0x101649c4]
pop ecx
push eax
lea ecx, [esi + 0x34]
call fcn.10006e82
cmp eax, 0xffffffff
je 0x10007f91
cmp byte [esi + 0x9118], 0
jne 0x100086b9
mov eax, dword [0x103f6c30]
mov edx, 0x6a5
mov eax, dword [eax + ebx*4 + 0x26]
mov ecx, dword [eax + 8]
movzx eax, word [ecx + 0x7c]
cmp ax, dx
jne 0x10007fb8
cmp byte [esi + 0x90de], 0
jne 0x100086b9
mov edx, 0x3fb
cmp ax, dx
jne 0x10007fcf
cmp byte [esi + 0x90de], 0
jne 0x100086b9
mov edx, 0x3fa
cmp ax, dx
jne 0x10007fe6
cmp byte [esi + 0x90de], 0
jne 0x100086b9
cmp dword [ecx + 0x1d1], 2
je 0x100086b9
cmp byte [esi + 0x90df], 0
je 0x1000802d
mov eax, dword [0x103f6c30]
push 0xff000000
movzx eax, word [eax]
push eax
call fcn.10042e56
push 0xff000000
push ebx
mov esi, eax
call fcn.10042e56
add esp, 0x10
cmp eax, esi
mov esi, dword [0x101649c4]
je 0x100086b9
cmp byte [esi + 0x90e1], 0
jne 0x10008043
cmp byte [esi + 0x871], 0
je 0x10008519
xor edx, edx
xor ecx, ecx
cmp byte [esi + ecx + 0xb501], 1
lea eax, [edx + 1]
cmovne eax, edx
inc ecx
mov edx, eax
cmp ecx, 0x3ec
jl 0x10008047
test edx, edx
jle 0x10008519
cmp byte [esi + 0x871], 0
je 0x10008502
xor ebp, ebp
mov dword [esp + 0x10], ebp
cmp byte [esi + ebp + 0x7ce7], 1
je 0x100082ca
cmp dword [esi + ebp*4 + 0x531f], 1
je 0x100082ca
mov eax, dword [0x103f6c30]
movzx eax, word [eax]
cmp ebp, eax
jne 0x100084e3
push 0
push 0xffffffffffffffff
call fcn.1002bacf
pop ecx
pop ecx
mov ecx, dword [0x1040449c]
mov esi, eax
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
movaps xmm0, xmmword [0x1008a010]
mov ebp, eax
and dword [esp + 0x8c], 0
and dword [esp + 0x90], 0
and dword [esp + 0x94], 0
and dword [esp + 0x48], 0
and dword [esp + 0x4c], 0
and dword [esp + 0x50], 0
and dword [esp + 0x80], 0
and dword [esp + 0x84], 0
and dword [esp + 0x88], 0
and dword [esp + 0x68], 0
and dword [esp + 0x6c], 0
and dword [esp + 0x70], 0
xor ebx, ebx
movups xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x14], ebp
movaps xmm0, xmmword [0x1008a000]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xe0], 0x17
movaps xmm0, xmmword [0x10089ff0]
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe4], 2
mov eax, dword [ebp]
lea ecx, [esp + 0x8c]
mov esi, dword [esp + ebx*4 + 0xb0]
push ecx
push esi
mov ecx, ebp
call dword [eax + 0x74]
mov edx, dword [ebp]
lea eax, [esp + 0x48]
push eax
lea eax, [esi + 1]
mov ecx, ebp
push eax
call dword [edx + 0x74]
lea eax, [esp + 0x80]
push eax
sub esp, 0xc
lea esi, [esp + 0x9c]
mov edi, esp
lea eax, [esp + 0x110]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
pop ecx
pop ecx
lea eax, [esp + 0x68]
push eax
sub esp, 0xc
lea esi, [esp + 0x58]
mov edi, esp
lea eax, [esp + 0x11c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
comiss xmm0, dword [esp + 0x90]
pop ecx
pop ecx
ja 0x10008228
comiss xmm0, dword [esp + 0x70]
ja 0x10008228
cvttss2si eax, dword [esp + 0x6c]
push 0xffffffffffffffff
mov ecx, dword [0x103fe9e8]
push eax
cvttss2si eax, dword [esp + 0x70]
push eax
cvttss2si eax, dword [esp + 0x90]
push eax
cvttss2si eax, dword [esp + 0x90]
push eax
call fcn.1004397a
inc ebx
cmp ebx, 0xe
jl 0x1000815f
mov ebp, dword [esp + 0x10]
push 0x29
pop ebx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x48]
push edx
push ebx
mov eax, dword [ecx]
call dword [eax + 0x74]
lea eax, [esp + 0x68]
push eax
sub esp, 0xc
lea esi, [esp + 0x58]
mov edi, esp
lea eax, [esp + 0x128]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
comiss xmm0, dword [esp + 0x90]
pop ecx
pop ecx
ja 0x100082b9
comiss xmm0, dword [esp + 0x70]
ja 0x100082b9
cvttss2si eax, dword [esp + 0x6c]
push 0xffffffffffffffff
mov ecx, dword [0x103fe9e8]
push eax
cvttss2si eax, dword [esp + 0x70]
push eax
cvttss2si eax, dword [esp + 0x90]
push eax
cvttss2si eax, dword [esp + 0x90]
push eax
call fcn.1004397a
add ebx, 0xa
cmp ebx, 0x3d
jl 0x10008239
jmp 0x100084dd
push ebp
call fcn.1000402f
pop ecx
test al, al
je 0x100084e3
mov eax, dword [0x103f6c30]
mov ecx, dword [0x1040449c]
mov eax, dword [eax + ebp*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x2a4]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
movaps xmm0, xmmword [0x1008a010]
mov ebp, eax
and dword [esp + 0x98], 0
and dword [esp + 0x9c], 0
and dword [esp + 0xa0], 0
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
and dword [esp + 0x5c], 0
and dword [esp + 0x3c], 0
and dword [esp + 0x40], 0
and dword [esp + 0x44], 0
and dword [esp + 0x74], 0
and dword [esp + 0x78], 0
and dword [esp + 0x7c], 0
xor ebx, ebx
movups xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x14], ebp
movaps xmm0, xmmword [0x1008a000]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xe0], 0x17
movaps xmm0, xmmword [0x10089ff0]
movups xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe4], 2
mov eax, dword [ebp]
lea ecx, [esp + 0x98]
mov esi, dword [esp + ebx*4 + 0xb0]
push ecx
push esi
mov ecx, ebp
call dword [eax + 0x74]
mov edx, dword [ebp]
lea eax, [esp + 0x54]
push eax
lea eax, [esi + 1]
mov ecx, ebp
push eax
call dword [edx + 0x74]
lea eax, [esp + 0x3c]
push eax
sub esp, 0xc
lea esi, [esp + 0xa8]
mov edi, esp
lea eax, [esp + 0x134]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
pop ecx
pop ecx
lea eax, [esp + 0x74]
push eax
sub esp, 0xc
lea esi, [esp + 0x64]
mov edi, esp
lea eax, [esp + 0xf8]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
comiss xmm0, dword [esp + 0x4c]
pop ecx
pop ecx
ja 0x1000844d
comiss xmm0, dword [esp + 0x7c]
ja 0x1000844d
cvttss2si eax, dword [esp + 0x78]
push 0xffffffffffffffff
mov ecx, dword [0x103fe9e8]
push eax
cvttss2si eax, dword [esp + 0x7c]
push eax
cvttss2si eax, dword [esp + 0x4c]
push eax
cvttss2si eax, dword [esp + 0x4c]
push eax
call fcn.1004397a
inc ebx
cmp ebx, 0xe
jl 0x10008390
mov ebp, dword [esp + 0x10]
push 0x29
pop ebx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x54]
push edx
push ebx
mov eax, dword [ecx]
call dword [eax + 0x74]
lea eax, [esp + 0x74]
push eax
sub esp, 0xc
lea esi, [esp + 0x64]
mov edi, esp
lea eax, [esp + 0x104]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
push eax
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
comiss xmm0, dword [esp + 0x4c]
pop ecx
pop ecx
ja 0x100084d5
comiss xmm0, dword [esp + 0x7c]
ja 0x100084d5
cvttss2si eax, dword [esp + 0x78]
push 0xffffffffffffffff
mov ecx, dword [0x103fe9e8]
push eax
cvttss2si eax, dword [esp + 0x7c]
push eax
cvttss2si eax, dword [esp + 0x4c]
push eax
cvttss2si eax, dword [esp + 0x4c]
push eax
call fcn.1004397a
add ebx, 0xa
cmp ebx, 0x3d
jl 0x1000845e
mov esi, dword [0x101649c4]
inc ebp
mov dword [esp + 0x10], ebp
cmp ebp, 0x3ec
jl 0x1000807b
mov ebx, dword [esp + 0x64]
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, dword [esp + 0x60]
cmp byte [esi + ebx + 0x7ce7], 1
je 0x10008519
cmp byte [esi + 0x90e1], 0
jne 0x100086b9
cmp byte [esi + 0x950d], 1
jne 0x10008693
push ebx
call fcn.100425b4
pop ecx
cmp eax, 0x11
jne 0x100085cd
mov eax, dword [0x103f6c30]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x10007efb
cmp al, 1
je 0x10007efb
cmp al, 2
je 0x10007efb
cmp al, 3
je 0x10007efb
cmp al, 4
je 0x10007efb
cmp al, 5
je 0x10007efb
cmp al, 6
je 0x10007efb
cmp al, 7
je 0x10007efb
cmp al, 8
je 0x10007efb
cmp al, 0xa
je 0x10007efb
cmp al, 0xb
je 0x10007efb
cmp al, 0xc
je 0x10007efb
cmp al, 0xd
je 0x10007efb
cmp al, 0xe
je 0x10007efb
cmp al, 0xf
je 0x10007efb
cmp al, 0x2b
je 0x10007efb
cmp al, 0x2e
je 0x10007efb
push ebx
call fcn.100425b4
pop ecx
cmp eax, 0x12
jne 0x10008674
mov eax, dword [0x103f6c30]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x10007efb
cmp al, 1
je 0x10007efb
cmp al, 2
je 0x10007efb
cmp al, 3
je 0x10007efb
cmp al, 4
je 0x10007efb
cmp al, 5
je 0x10007efb
cmp al, 6
je 0x10007efb
cmp al, 7
je 0x10007efb
cmp al, 8
je 0x10007efb
cmp al, 0xa
je 0x10007efb
cmp al, 0xb
je 0x10007efb
cmp al, 0xc
je 0x10007efb
cmp al, 0xd
je 0x10007efb
cmp al, 0xe
je 0x10007efb
cmp al, 0xf
je 0x10007efb
cmp al, 0x2b
je 0x10007efb
cmp al, 0x2e
je 0x10007efb
mov eax, dword [0x103f6c30]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
je 0x10007efb
mov esi, dword [0x101649c4]
cmp dword [esi + ebx*4 + 0x531f], 0
jne 0x100086b9
movsd xmm0, qword [esp + 0xa8]
mov edi, ebx
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x60], edi
movss dword [esp + 0xa4], xmm0
inc ebx
mov dword [esp + 0x64], ebx
cmp ebx, 0x3ec
jl 0x10007dba
cmp byte [esi + 0x52f7], 0
je 0x10008c03
mov eax, dword [esi + 0x5317]
cmp eax, 0xffffffff
je 0x10008c03
push eax
call fcn.1004236d
mov esi, eax
pop ecx
test esi, esi
je 0x10008c07
mov ecx, dword [0x1040449c]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov edi, eax
test edi, edi
je 0x10008c07
xor ebx, ebx
mov ebp, 0xff0082ff
inc ebx
mov esi, ebx
cmp esi, 8
jbe 0x1000874c
cmp esi, 0x15
jb 0x1000872c
cmp esi, 0x1a
jbe 0x1000874c
cmp esi, 0x1f
jb 0x10008736
cmp esi, 0x24
jbe 0x1000874c
cmp esi, 0x29
jb 0x10008740
cmp esi, 0x2c
jbe 0x1000874c
lea eax, [esi - 0x33]
cmp eax, 3
ja 0x1000889f
mov eax, dword [edi]
lea ecx, [esp + 0x54]
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
and dword [esp + 0x5c], 0
and dword [esp + 0x48], 0
and dword [esp + 0x4c], 0
and dword [esp + 0x50], 0
push ecx
push 8
mov ecx, edi
call dword [eax + 0x74]
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
push 0x2c
mov ecx, edi
call dword [eax + 0x74]
movss xmm0, dword [esp + 0x54]
lea eax, [esp + 0x30]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x4c]
push eax
movss dword [esp + 0x2c], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [esp + 0x54]
push eax
movss dword [esp + 0x34], xmm0
call fcn.100030ae
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
add esp, 0x10
comiss xmm0, dword [esp + 0x38]
ja 0x1000889f
comiss xmm0, dword [esp + 0x44]
ja 0x1000889f
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
movaps xmm0, xmm3
subss xmm0, dword [esp + 0x40]
mov ecx, dword [0x103fe9e8]
push 0
push ebp
sub esp, 0x10
cvtps2pd xmm2, xmm0
movaps xmm0, xmm4
subss xmm0, dword [esp + 0x54]
mulsd xmm2, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm0
cvtpd2ps xmm1, xmm0
cvtpd2ps xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
mulss xmm0, dword [0x10089fa0]
movaps xmm1, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm1, dword [0x10089f90]
mulss xmm0, dword [0x10089f88]
movss dword [esp + 8], xmm1
mulss xmm1, dword [0x10089f90]
subss xmm3, xmm0
subss xmm4, xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
call fcn.1004375d
inc esi
cmp esi, 0x36
jle 0x1000871d
mov ecx, dword [0x101649c4]
and dword [esp + 0x8c], 0
and dword [esp + 0x90], 0
and dword [esp + 0x94], 0
and dword [esp + 0x98], 0
and dword [esp + 0x9c], 0
and dword [esp + 0xa0], 0
cmp byte [ecx + 0x52fb], 0
je 0x10008bd5
cmp byte [ecx + 0xb4c9], 0
mov ebp, 0xffff0000
je 0x10008a88
mov eax, dword [0x103f6c30]
mov eax, dword [eax + 0x1e]
cmp byte [eax + 0x18d], 0x22
mov eax, dword [0x103fe888]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
je 0x10008963
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008a020]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10089f94]
movss dword [ecx + 0x909f], xmm0
mov eax, dword [0x103fe88c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008a020]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10089f8c]
jmp 0x100089a8
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008a020]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10089f90]
movss dword [ecx + 0x909f], xmm0
mov eax, dword [0x103fe88c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1008a020]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10089f90]
mov eax, dword [0x101649c4]
movss dword [eax + 0x90a3], xmm0
mov edx, dword [0x101649c4]
mov eax, dword [edx + 0xa4bf]
mov dword [edx + 0x90af], eax
mov ecx, dword [0x101649c4]
cmp byte [ecx + 0xb4c7], bl
jne 0x10008a88
movss xmm0, dword [edx + 0xa4bf]
lea eax, [esp + 0x30]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ecx + 0xa4c3]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ecx + 0xa4c7]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [ecx + 0xa4cb]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [ecx + 0xa4cf]
push eax
movss dword [esp + 0x2c], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [ecx + 0xa4d3]
push eax
movss dword [esp + 0x34], xmm0
call fcn.100030ae
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.100030ae
cvttss2si eax, dword [esp + 0x44]
add esp, 0x10
mov ecx, dword [0x103fe9e8]
push ebp
push eax
cvttss2si eax, dword [esp + 0x38]
push eax
cvttss2si eax, dword [esp + 0x28]
push eax
cvttss2si eax, dword [esp + 0x28]
push eax
call fcn.1004397a
mov eax, dword [0x101649c4]
mov byte [eax + 0xb4c8], 0
mov ecx, dword [0x101649c4]
cmp byte [ecx + 0xb4fc], 0
je 0x10008b60
mov eax, dword [0x103fe88c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
xor esi, esi
addsd xmm0, qword [eax*8 + 0x1008a020]
cvtpd2ps xmm0, xmm0
movss dword [ecx + 0xb4fd], xmm0
mov eax, dword [0x101649c4]
cmp byte [esi + eax + 0x7ce7], bl
jne 0x10008b53
push esi
call fcn.1000402f
pop ecx
test al, al
je 0x10008b53
lea eax, [esp + 0x18]
push eax
push esi
call fcn.100424b5
movss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x38]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x34], xmm0
lea eax, [esp + 0x30]
movss xmm0, dword [esp + 0x2c]
push eax
movss dword [esp + 0x3c], xmm0
call fcn.100030ae
movss xmm0, dword [0x10089f9c]
add esp, 0x10
comiss xmm0, dword [esp + 0x38]
ja 0x10008b53
cvttss2si eax, dword [esp + 0x34]
push ebp
mov ecx, dword [0x103fe9e8]
push eax
cvttss2si eax, dword [esp + 0x38]
push eax
mov eax, dword [0x101649c4]
push 0
cvttss2si eax, dword [eax + 0x909f]
push eax
call fcn.1004397a
inc esi
cmp esi, 0x3ec
jl 0x10008abc
mov ecx, dword [0x104044a4]
lea edx, [esp + 0x8c]
push edx
push ebx
mov eax, dword [ecx]
call dword [eax + 0x74]
mov eax, dword [edi]
lea ecx, [esp + 0x98]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x74]
mov ebp, 0xff0082ff
lea esi, [esp + 0x98]
push ebp
sub esp, 0xc
lea eax, [esp + 0x104]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
add esp, 0x10
lea esi, [esp + 0x90]
push eax
sub esp, 0xc
lea eax, [esp + 0xfc]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b3ec
mov ecx, dword [0x103fe9e8]
add esp, 0x10
push eax
call fcn.10043ce5
mov ecx, dword [0x103fe9e8]
push 0xff
push ebp
sub esp, 0x10
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x41400000
and dword [esp + 4], 0
and dword [esp], 0
call fcn.1004375d
mov edi, dword [esp + 0x60]
mov eax, edi
jmp 0x10008c0a
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret