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

Disassembly:
sub esp, 0x120
cmp dword [0x103f5c4c], 0
push ebx
push ebp
push esi
push edi
je 0x100088f3
lea eax, [esp + 0x14]
or edi, 0xffffffff
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x64], edi
push eax
call fcn.10003201
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm1, xmm1
mov esi, dword [0x101639c4]
xor ebx, ebx
pop ecx
pop ecx
movss dword [esp + 0xa4], xmm1
mov dword [esp + 0x64], ebx
mov eax, dword [0x103f5c50]
cmp dword [eax + ebx*4 + 0xfd6], 1
jne 0x100083ac
mov eax, dword [eax + ebx*4 + 0x26]
test eax, eax
je 0x100083ac
mov eax, dword [eax + 8]
test eax, eax
je 0x100083ac
cmp dword [eax + 4], 0
je 0x100083ac
lea eax, [esp + 0x30]
push eax
push ebx
call fcn.100430ca
movss xmm0, dword [esp + 0x40]
lea eax, [esp + 0x2c]
cvtps2pd xmm0, xmm0
push eax
lea eax, [esp + 0x24]
push eax
addsd xmm0, qword [0x10088f48]
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.100030a8
add esp, 0x10
push 1
call ebp
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10088f24]
subss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x14], xmm0
call ebp
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10088f24]
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 [0x10088f2c]
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 [0x10088f2c]
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 0x10007bec
ucomiss xmm1, dword [0x10088f1c]
lahf
test ah, 0x44
jnp 0x10007bec
mov esi, dword [0x101639c4]
jmp 0x100083ac
mov eax, dword [0x103f5c50]
mov esi, dword [0x101639c4]
mov ecx, dword [eax + ebx*4 + 0x26]
mov eax, dword [ecx + 8]
cmp byte [eax + 0x1a], 0x13
jne 0x10007c11
cmp byte [esi + 0x9109], 0
jne 0x100083ac
cmp dword [ecx], 0xa
jge 0x10007c23
cmp byte [esi + 0x910c], 0
jne 0x100083ac
push 0
push ebx
call fcn.10043091
mov esi, dword [0x101639c4]
pop ecx
push eax
lea ecx, [esi + 0x4c]
call fcn.10006b68
cmp eax, 0xffffffff
je 0x10007c4d
cmp byte [esi + 0x9145], 0
jne 0x100083ac
push 0
push ebx
call fcn.10043091
mov esi, dword [0x101639c4]
pop ecx
push eax
lea ecx, [esi + 0x34]
call fcn.10006b68
cmp eax, 0xffffffff
je 0x10007c77
cmp byte [esi + 0x9144], 0
jne 0x100083ac
mov eax, dword [0x103f5c50]
mov edx, 0x6a5
mov eax, dword [eax + ebx*4 + 0x26]
mov ecx, dword [eax + 8]
movzx eax, word [ecx + 0x7c]
cmp ax, dx
je 0x100083ac
cmp byte [esi + 0xc61], 1
jne 0x10007cab
cmp byte [esi + 0x910a], 0
jne 0x100083ac
mov edx, 0x3fb
cmp ax, dx
jne 0x10007cc2
cmp byte [esi + 0x910a], 0
jne 0x100083ac
mov edx, 0x3fa
cmp ax, dx
jne 0x10007cd9
cmp byte [esi + 0x910a], 0
jne 0x100083ac
cmp dword [ecx + 0x1d1], 2
je 0x100083ac
cmp byte [esi + 0x910b], 0
je 0x10007d20
mov eax, dword [0x103f5c50]
push 0xff000000
movzx eax, word [eax]
push eax
call fcn.10043a6b
push 0xff000000
push ebx
mov esi, eax
call fcn.10043a6b
add esp, 0x10
cmp eax, esi
mov esi, dword [0x101639c4]
je 0x100083ac
cmp byte [esi + 0x910d], 0
jne 0x10007d36
cmp byte [esi + 0x871], 0
je 0x1000820c
xor edx, edx
xor ecx, ecx
cmp byte [esi + ecx + 0xb52d], 1
lea eax, [edx + 1]
cmovne eax, edx
inc ecx
mov edx, eax
cmp ecx, 0x3ec
jl 0x10007d3a
test edx, edx
jle 0x1000820c
cmp byte [esi + 0x871], 0
je 0x100081f5
xor ebp, ebp
mov dword [esp + 0x10], ebp
cmp byte [esi + ebp + 0x7d11], 1
je 0x10007fbd
cmp dword [esi + ebp*4 + 0x5349], 1
je 0x10007fbd
mov eax, dword [0x103f5c50]
movzx eax, word [eax]
cmp ebp, eax
jne 0x100081d6
push 0
push 0xffffffffffffffff
call fcn.1002b7bd
pop ecx
pop ecx
mov ecx, dword [0x104034bc]
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 [0x10088fa0]
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 [0x10088f90]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xe0], 0x17
movaps xmm0, xmmword [0x10088f80]
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
movss xmm0, dword [0x10088f34]
comiss xmm0, dword [esp + 0x90]
pop ecx
pop ecx
ja 0x10007f1b
comiss xmm0, dword [esp + 0x70]
ja 0x10007f1b
cvttss2si eax, dword [esp + 0x6c]
push 0xffffffffffffffff
mov ecx, dword [0x103fda08]
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.1004458f
inc ebx
cmp ebx, 0xe
jl 0x10007e52
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
movss xmm0, dword [0x10088f34]
comiss xmm0, dword [esp + 0x90]
pop ecx
pop ecx
ja 0x10007fac
comiss xmm0, dword [esp + 0x70]
ja 0x10007fac
cvttss2si eax, dword [esp + 0x6c]
push 0xffffffffffffffff
mov ecx, dword [0x103fda08]
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.1004458f
add ebx, 0xa
cmp ebx, 0x3d
jl 0x10007f2c
jmp 0x100081d0
push ebp
call fcn.10003d15
pop ecx
test al, al
je 0x100081d6
mov eax, dword [0x103f5c50]
mov ecx, dword [0x104034bc]
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 [0x10088fa0]
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 [0x10088f90]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xe0], 0x17
movaps xmm0, xmmword [0x10088f80]
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
movss xmm0, dword [0x10088f34]
comiss xmm0, dword [esp + 0x4c]
pop ecx
pop ecx
ja 0x10008140
comiss xmm0, dword [esp + 0x7c]
ja 0x10008140
cvttss2si eax, dword [esp + 0x78]
push 0xffffffffffffffff
mov ecx, dword [0x103fda08]
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.1004458f
inc ebx
cmp ebx, 0xe
jl 0x10008083
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.1002b0da
add esp, 0x10
push eax
call fcn.100030a8
movss xmm0, dword [0x10088f34]
comiss xmm0, dword [esp + 0x4c]
pop ecx
pop ecx
ja 0x100081c8
comiss xmm0, dword [esp + 0x7c]
ja 0x100081c8
cvttss2si eax, dword [esp + 0x78]
push 0xffffffffffffffff
mov ecx, dword [0x103fda08]
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.1004458f
add ebx, 0xa
cmp ebx, 0x3d
jl 0x10008151
mov esi, dword [0x101639c4]
inc ebp
mov dword [esp + 0x10], ebp
cmp ebp, 0x3ec
jl 0x10007d6e
mov ebx, dword [esp + 0x64]
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, dword [esp + 0x60]
cmp byte [esi + ebx + 0x7d11], 1
je 0x1000820c
cmp byte [esi + 0x910d], 0
jne 0x100083ac
cmp byte [esi + 0x9539], 1
jne 0x10008386
push ebx
call fcn.100431c9
pop ecx
cmp eax, 0x11
jne 0x100082c0
mov eax, dword [0x103f5c50]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x10007be1
cmp al, 1
je 0x10007be1
cmp al, 2
je 0x10007be1
cmp al, 3
je 0x10007be1
cmp al, 4
je 0x10007be1
cmp al, 5
je 0x10007be1
cmp al, 6
je 0x10007be1
cmp al, 7
je 0x10007be1
cmp al, 8
je 0x10007be1
cmp al, 0xa
je 0x10007be1
cmp al, 0xb
je 0x10007be1
cmp al, 0xc
je 0x10007be1
cmp al, 0xd
je 0x10007be1
cmp al, 0xe
je 0x10007be1
cmp al, 0xf
je 0x10007be1
cmp al, 0x2b
je 0x10007be1
cmp al, 0x2e
je 0x10007be1
push ebx
call fcn.100431c9
pop ecx
cmp eax, 0x12
jne 0x10008367
mov eax, dword [0x103f5c50]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x10007be1
cmp al, 1
je 0x10007be1
cmp al, 2
je 0x10007be1
cmp al, 3
je 0x10007be1
cmp al, 4
je 0x10007be1
cmp al, 5
je 0x10007be1
cmp al, 6
je 0x10007be1
cmp al, 7
je 0x10007be1
cmp al, 8
je 0x10007be1
cmp al, 0xa
je 0x10007be1
cmp al, 0xb
je 0x10007be1
cmp al, 0xc
je 0x10007be1
cmp al, 0xd
je 0x10007be1
cmp al, 0xe
je 0x10007be1
cmp al, 0xf
je 0x10007be1
cmp al, 0x2b
je 0x10007be1
cmp al, 0x2e
je 0x10007be1
mov eax, dword [0x103f5c50]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
je 0x10007be1
mov esi, dword [0x101639c4]
cmp dword [esi + ebx*4 + 0x5349], 0
jne 0x100083ac
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 0x10007aa0
cmp byte [esi + 0x5307], 0
je 0x100088ef
mov eax, dword [esi + 0x5341]
cmp eax, 0xffffffff
je 0x100088ef
push eax
call fcn.10042f82
mov esi, eax
pop ecx
test esi, esi
je 0x100088f3
mov ecx, dword [0x104034bc]
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 0x100088f3
xor ebx, ebx
mov ebp, 0xffff0000
inc ebx
mov esi, ebx
cmp esi, 8
jbe 0x1000843f
cmp esi, 0x15
jb 0x1000841f
cmp esi, 0x1a
jbe 0x1000843f
cmp esi, 0x1f
jb 0x10008429
cmp esi, 0x24
jbe 0x1000843f
cmp esi, 0x29
jb 0x10008433
cmp esi, 0x2c
jbe 0x1000843f
lea eax, [esi - 0x33]
cmp eax, 3
ja 0x10008592
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.100030a8
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.100030a8
movss xmm0, dword [0x10088f34]
add esp, 0x10
comiss xmm0, dword [esp + 0x38]
ja 0x10008592
comiss xmm0, dword [esp + 0x44]
ja 0x10008592
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [esp + 0x30]
movaps xmm0, xmm3
subss xmm0, dword [esp + 0x40]
mov ecx, dword [0x103fda08]
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 [0x10088f38]
movaps xmm1, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm1, dword [0x10088f28]
mulss xmm0, dword [0x10088f20]
movss dword [esp + 8], xmm1
mulss xmm1, dword [0x10088f28]
subss xmm3, xmm0
subss xmm4, xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
call fcn.10044372
inc esi
cmp esi, 0x36
jle 0x10008410
mov ecx, dword [0x101639c4]
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 + 0x530b], 0
je 0x100088bd
cmp byte [ecx + 0xb4f5], 0
je 0x10008775
mov eax, dword [0x103f5c50]
mov eax, dword [eax + 0x1e]
cmp byte [eax + 0x18d], 0x22
mov eax, dword [0x103fd8a8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
je 0x10008651
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10088fb0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10088f2c]
movss dword [ecx + 0x90cd], xmm0
mov eax, dword [0x103fd8ac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10088fb0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10088f24]
jmp 0x10008696
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10088fb0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10088f28]
movss dword [ecx + 0x90cd], xmm0
mov eax, dword [0x103fd8ac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10088fb0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10088f28]
mov eax, dword [0x101639c4]
movss dword [eax + 0x90d1], xmm0
mov edx, dword [0x101639c4]
mov eax, dword [edx + 0xa4eb]
mov dword [edx + 0x90dd], eax
mov ecx, dword [0x101639c4]
cmp byte [ecx + 0xb4f3], bl
jne 0x10008775
movss xmm0, dword [edx + 0xa4eb]
lea eax, [esp + 0x30]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ecx + 0xa4ef]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ecx + 0xa4f3]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [ecx + 0xa4f7]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [ecx + 0xa4fb]
push eax
movss dword [esp + 0x2c], xmm0
lea eax, [esp + 0x1c]
movss xmm0, dword [ecx + 0xa4ff]
push eax
movss dword [esp + 0x34], xmm0
call fcn.100030a8
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.100030a8
cvttss2si eax, dword [esp + 0x44]
add esp, 0x10
mov ecx, dword [0x103fda08]
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.1004458f
mov eax, dword [0x101639c4]
mov byte [eax + 0xb4f4], bl
mov ecx, dword [0x101639c4]
cmp byte [ecx + 0xb528], 0
je 0x1000884d
mov eax, dword [0x103fd8ac]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
xor esi, esi
addsd xmm0, qword [eax*8 + 0x10088fb0]
cvtpd2ps xmm0, xmm0
movss dword [ecx + 0xb529], xmm0
mov eax, dword [0x101639c4]
cmp byte [esi + eax + 0x7d11], bl
jne 0x10008840
push esi
call fcn.10003d15
pop ecx
test al, al
je 0x10008840
lea eax, [esp + 0x18]
push eax
push esi
call fcn.100430ca
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.100030a8
movss xmm0, dword [0x10088f34]
add esp, 0x10
comiss xmm0, dword [esp + 0x38]
ja 0x10008840
cvttss2si eax, dword [esp + 0x34]
push ebp
mov ecx, dword [0x103fda08]
push eax
cvttss2si eax, dword [esp + 0x38]
push eax
mov eax, dword [0x101639c4]
push 0
cvttss2si eax, dword [eax + 0x90cd]
push eax
call fcn.1004458f
inc esi
cmp esi, 0x3ec
jl 0x100087a9
mov ecx, dword [0x104034c4]
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]
push ebp
sub esp, 0xc
lea esi, [esp + 0xa8]
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.1002b0da
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.1002b0da
mov ecx, dword [0x103fda08]
add esp, 0x10
push eax
call fcn.100448fa
mov ecx, dword [0x103fda08]
push 0xff
push 0xff00ff00
sub esp, 0x10
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x41400000
and dword [esp + 4], 0
and dword [esp], 0
call fcn.10044372
mov edi, dword [esp + 0x60]
mov eax, edi
jmp 0x100088f6
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x120
ret