Function at 0x102a2ad0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1032e5de
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x108
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.102a14d0
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x102a597a
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x102a597a
mov eax, dword [0x1060b274]
mov ecx, dword [0x1060b288]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1060b274]
push eax
call esi
test eax, eax
je 0x102a597a
mov esi, dword [0x1060b5e0]
mov dword [ebp - 0xd0], esi
cmp byte [esi + 0xc68], 0
je 0x102a598e
cmp byte [esi + 0xc50], 0
xorps xmm0, xmm0
je 0x102a2d52
cmp byte [0x1060f640], 0
je 0x102a2d52
ucomiss xmm0, dword [0x1060fcd8]
lahf
test ah, 0x44
jp 0x102a2bc9
ucomiss xmm0, dword [0x1060fcdc]
lahf
test ah, 0x44
jp 0x102a2bc9
ucomiss xmm0, dword [0x1060fce0]
lahf
test ah, 0x44
jp 0x102a2bc9
xor al, al
jmp 0x102a2bcb
mov al, 1
test al, al
je 0x102a2d52
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
xorps xmm1, xmm1
mov dword [ebp - 4], 0
movss dword [ebp - 0xf0], xmm1
nop word [eax + eax]
movaps xmm0, xmm1
call fcn.10311b70
movaps xmm1, xmm0
mov dword [ebp - 0x48], 0
shufps xmm1, xmm0, 1
lea edx, [ebp - 0x50]
mulss xmm0, dword [0x1041ef40]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x4c], 0
mulss xmm1, dword [0x1041ef40]
mov dword [ebp - 0x50], 0
addss xmm0, dword [0x1060fcd8]
addss xmm1, dword [0x1060fcdc]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [0x1060fce0]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x30], xmm0
call fcn.10126ff0
test al, al
je 0x102a2c93
movss xmm0, dword [ebp - 0x50]
lea eax, [ebp - 0xe8]
movss dword [ebp - 0xe8], xmm0
lea ecx, [ebp - 0x20]
movss xmm0, dword [ebp - 0x4c]
push eax
movss dword [ebp - 0xe4], xmm0
call fcn.1001d800
movss xmm1, dword [ebp - 0xf0]
addss xmm1, dword [0x1041ed20]
movsd xmm2, qword [0x1041ee80]
cvtps2pd xmm0, xmm1
movss dword [ebp - 0xf0], xmm1
comisd xmm2, xmm0
jae 0x102a2c00
mov eax, dword [0x1060b61c]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
sub edi, esi
mov dword [ebp - 0xd4], 0x7f80ff00
mov ecx, dword [eax]
push dword [ebp - 0xd4]
sar edi, 3
push edi
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0xd8], eax
or eax, 4
mov dword [ecx + 0x24], eax
mov eax, dword [0x1060b61c]
push esi
mov ecx, dword [eax]
call fcn.10093d60
mov eax, dword [0x1060b61c]
push ecx
mov dword [esp], 0x40000000
push 1
mov ecx, dword [eax]
mov dword [ebp - 0xd4], 0x7f7db300
push dword [ebp - 0xd4]
push edi
push esi
call fcn.10093070
mov eax, dword [0x1060b61c]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 0x24], ecx
lea ecx, [ebp - 0x20]
call fcn.1001d8f0
mov esi, dword [0x1060b5e0]
mov dword [ebp - 0xd0], esi
mov eax, dword [esi + 0xc64]
mov ecx, dword [esi + 0xaa0]
sub ecx, dword [esi + 0xa9c]
cdq
sub eax, edx
sar ecx, 2
mov edi, eax
imul eax, ecx, 0xeeeeeeef
sar edi, 1
mov dword [ebp - 0xd4], edi
cmp eax, 6
jbe 0x102a2ead
mov edx, dword [esi + 0xa9c]
mov eax, dword [esi + 0xaa0]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xd8], eax
lea ecx, [edx + 0x3c]
mov dword [ebp - 0xec], ecx
cmp ecx, eax
je 0x102a2e68
lea edi, [edx + 0x1c]
lea esi, [ecx + 0x30]
cmp edx, ecx
je 0x102a2dea
mov ecx, edx
call fcn.10019dd0
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe0]
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [edx + 0x10], xmm0
mov dword [esi - 0x20], 0
mov dword [esi - 0x1c], 0xf
mov byte [ecx], 0
mov eax, dword [esi - 0x18]
mov dword [edi - 4], eax
lea eax, [esi - 0x14]
cmp edi, eax
je 0x102a2e2c
mov ecx, edi
call fcn.10019dd0
movups xmm0, xmmword [esi - 0x14]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xe0]
movups xmmword [edi], xmm0
movq xmm0, qword [esi - 4]
movq qword [edi + 0x10], xmm0
mov dword [esi - 4], 0
mov dword [esi], 0xf
mov byte [esi - 0x14], 0
mov eax, dword [esi + 4]
add ecx, 0x3c
mov dword [edi + 0x18], eax
add edx, 0x3c
mov al, byte [esi + 8]
mov byte [edi + 0x1c], al
mov al, byte [esi + 9]
add esi, 0x3c
mov byte [edi + 0x1d], al
add edi, 0x3c
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xec], ecx
cmp ecx, dword [ebp - 0xd8]
jne 0x102a2db2
mov esi, dword [ebp - 0xd0]
mov edx, dword [esi + 0xaa0]
sub edx, 0x3c
call fcn.10071040
add dword [esi + 0xaa0], 0xffffffc4
mov esi, dword [0x1060b5e0]
mov dword [ebp - 0xd0], esi
mov eax, dword [esi + 0xaa0]
sub eax, dword [esi + 0xa9c]
sar eax, 2
imul eax, eax, 0xeeeeeeef
cmp eax, 6
ja 0x102a2d83
mov edi, dword [ebp - 0xd4]
cmp byte [0x1060f2c2], 0
je 0x102a4747
movss xmm3, dword [0x1041f07c]
sub esp, 8
movss xmm1, dword [0x1041ef70]
movd xmm0, edi
cvtdq2ps xmm2, xmm0
mov dword [esp], 0
push 0x7f000000
push ecx
mov dword [esp], 0x435c0000
call fcn.100bc910
cmp byte [0x104be8b0], 0
jne 0x102a2ffa
mov edi, dword [0x104be8bc]
mov edx, edi
mov eax, dword [0x104be8b8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104be8b0], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104be8b1], al
mov eax, dword [0x104be8b8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104be8b8]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104be8b2], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xd4]
shl eax, 0x11
xor al, dl
xor byte [0x104be8b3], al
push ecx
push 0x104be8b3
push 0x104be8b1
lea ecx, [ebp - 0x44]
call fcn.1001a620
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 1
call fcn.10019da0
push eax
push dword [0x10610c58]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 6
push 0xffc8c8c8
sub esp, 8
addss xmm0, dword [0x1041ef44]
movss dword [esp + 4], xmm0
mov dword [esp], 0x42340000
push dword [0x1060b61c]
movss dword [ebp - 0xdc], xmm0
call fcn.100bc250
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.10019dd0
cmp byte [0x104beb20], 0
jne 0x102a30f4
mov byte [0x104beb20], 1
xor edi, edi
xor edx, edx
mov eax, edi
xor eax, dword [0x104beb30]
xor edx, dword [0x104beb34]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
shr ecx, 7
xor esi, eax
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [edi + 0x104beb21]
xor cl, byte [ebp - 0xd0]
mov byte [edi + 0x104beb21], cl
inc edi
cmp edi, 0xc
jb 0x102a3084
mov edi, dword [ebp - 0xd4]
push ecx
push 0x104beb2c
push 0x104beb21
lea ecx, [ebp - 0x2c]
call fcn.1001a620
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 2
call fcn.10019da0
movss xmm0, dword [ebp - 0xdc]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x43188000
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.10019dd0
movss xmm1, dword [0x1041efa4]
mov esi, 1
movss xmm2, dword [0x1041f084]
mov dword [ebp - 0xf0], esi
movd xmm0, esi
movaps xmm3, xmm2
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0x40000000
push 0xff969696
push ecx
mulss xmm0, xmm1
movd xmm1, edi
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss xmm1, dword [0x1041ef70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm0
movss dword [ebp - 0xd8], xmm0
movss dword [esp], xmm0
call fcn.100bc6c0
cmp byte [0x104becf0], 0
jne 0x102a3338
mov edi, dword [0x104becfc]
mov edx, edi
mov eax, dword [0x104becf8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104becf0], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104becf1]
xor al, cl
mov ecx, edx
mov byte [0x104becf1], al
mov eax, dword [0x104becf8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104becf2]
xor al, cl
mov ecx, edx
mov byte [0x104becf2], al
mov eax, dword [0x104becf8]
xor eax, 0x1de26cd7
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104becf8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104becf3]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104becf3], al
mov esi, dword [ebp - 0xf0]
mov ecx, edi
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xd4]
shl eax, 0x11
xor al, dl
xor byte [0x104becf4], al
push ecx
push 0x104becf4
push 0x104becf1
lea ecx, [ebp - 0x44]
call fcn.1001a620
mov dword [ebp - 4], 3
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
movss xmm0, dword [ebp - 0xd8]
cmovae eax, dword [ebp - 0x44]
addss xmm0, dword [0x1041ef44]
push esi
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x42340000
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.10019dd0
movss xmm2, dword [0x1041f084]
inc esi
movss xmm1, dword [0x1041efa4]
mov dword [ebp - 0xf0], esi
cmp esi, 7
jl 0x102a3174
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0x40000000
push 0xff969696
push ecx
movaps xmm1, xmm0
movaps xmm2, xmm0
addss xmm1, dword [0x1041f034]
movss dword [ebp - 0xf0], xmm1
movss dword [esp], xmm1
movss xmm1, dword [0x1041efd8]
movaps xmm3, xmm1
call fcn.100bc6c0
movss xmm0, dword [ebp - 0xf0]
movss xmm1, dword [0x1041f04c]
push ecx
mov dword [esp], 0x40000000
movaps xmm3, xmm1
push 0xff969696
push ecx
movss dword [esp], xmm0
movd xmm0, edi
cvtdq2ps xmm2, xmm0
call fcn.100bc6c0
mov esi, 1
mov edi, 0x113
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe0], edi
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
lea eax, [esi - 1]
mov dword [ebp - 4], 4
cmp eax, 4
ja case.default.0x102a3480
lea eax, [esi - 1]
jmp dword [eax*4 + 0x102a59ac]
cmp byte [0x104bf010], 0
jne 0x102a354c
mov edi, dword [0x104bf01c]
mov edx, edi
mov eax, dword [0x104bf018]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bf010], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
mov esi, dword [ebp - 0xd0]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
mov esi, dword [ebp - 0xec]
shld edx, eax, 0x11
mov edx, dword [0x104bf018]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104bf011]
xor al, cl
mov ecx, edi
mov byte [0x104bf011], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bf012], al
push ecx
push 0x104bf012
push 0x104bf011
lea ecx, [ebp - 0x5c]
call fcn.1001a620
mov byte [ebp - 4], 5
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
cmovae edx, dword [ebp - 0x5c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x102a3580
sub ecx, dword [ebp - 0xd8]
jmp 0x102a3b01
cmp byte [0x104bf300], 0
jne 0x102a3657
mov edi, dword [0x104bf30c]
mov edx, edi
mov eax, dword [0x104bf308]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bf300], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
mov esi, dword [ebp - 0xd0]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
mov esi, dword [ebp - 0xec]
shld edx, eax, 0x11
mov edx, dword [0x104bf308]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104bf301]
xor al, cl
mov ecx, edi
mov byte [0x104bf301], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bf302], al
push ecx
push 0x104bf302
push 0x104bf301
lea ecx, [ebp - 0x5c]
call fcn.1001a620
mov byte [ebp - 4], 6
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
cmovae edx, dword [ebp - 0x5c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x102a3684
sub ecx, dword [ebp - 0xd8]
jmp 0x102a3b01
cmp byte [0x104be840], 0
jne 0x102a37b3
mov edi, dword [0x104be84c]
mov edx, edi
mov eax, dword [0x104be848]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104be840], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104be841]
xor al, cl
mov ecx, edx
mov byte [0x104be841], al
mov eax, dword [0x104be848]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
mov esi, dword [ebp - 0xec]
shld edx, eax, 0x11
mov edx, dword [0x104be848]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104be842]
xor al, cl
mov ecx, edi
mov byte [0x104be842], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104be843], al
push ecx
push 0x104be843
push 0x104be841
lea ecx, [ebp - 0x5c]
call fcn.1001a620
mov byte [ebp - 4], 7
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
cmovae edx, dword [ebp - 0x5c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x102a37e0
sub ecx, dword [ebp - 0xd8]
jmp 0x102a3b01
cmp byte [0x104be7b0], 0
jne 0x102a390f
mov edi, dword [0x104be7bc]
mov edx, edi
mov eax, dword [0x104be7b8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104be7b0], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104be7b1]
xor al, cl
mov ecx, edx
mov byte [0x104be7b1], al
mov eax, dword [0x104be7b8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
mov esi, dword [ebp - 0xec]
shld edx, eax, 0x11
mov edx, dword [0x104be7b8]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104be7b2]
xor al, cl
mov ecx, edi
mov byte [0x104be7b2], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104be7b3], al
push ecx
push 0x104be7b3
push 0x104be7b1
lea ecx, [ebp - 0x5c]
call fcn.1001a620
mov byte [ebp - 4], 8
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
cmovae edx, dword [ebp - 0x5c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x102a3940
sub ecx, dword [ebp - 0xd8]
jmp 0x102a3b01
cmp byte [0x104bf340], 0
jne 0x102a3ac7
mov edi, dword [0x104bf34c]
mov edx, edi
mov eax, dword [0x104bf348]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bf340], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bf341]
xor al, cl
mov ecx, edx
mov byte [0x104bf341], al
mov eax, dword [0x104bf348]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bf342]
xor al, cl
mov ecx, edx
mov byte [0x104bf342], al
mov eax, dword [0x104bf348]
xor eax, 0x1de26cd7
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bf348]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, byte [0x104bf343]
xor al, cl
xor edi, 0xd28f2c5
mov byte [0x104bf343], al
mov esi, dword [ebp - 0xec]
mov ecx, edi
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bf344], al
push ecx
push 0x104bf344
push 0x104bf341
lea ecx, [ebp - 0x5c]
call fcn.1001a620
mov byte [ebp - 4], 9
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
cmovae edx, dword [ebp - 0x5c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xd8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x102a3af4
sub ecx, dword [ebp - 0xd8]
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.100325b0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 4
call fcn.10019dd0
cmp dword [ebp - 0x30], 0x10
lea eax, [ebp - 0x44]
movss xmm0, dword [ebp - 0xdc]
cmovae eax, dword [ebp - 0x44]
push eax
push dword [0x10610c58]
lea eax, [edi - 0x23]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1041ef50]
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
cmp esi, 5
jge 0x102a3ba0
movss xmm0, dword [ebp - 0xf0]
push ecx
mov dword [esp], 0x40000000
push 0xff969696
push ecx
movd xmm1, edi
movss dword [esp], xmm0
movd xmm0, dword [ebp - 0xd4]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm0
movaps xmm3, xmm1
call fcn.100bc6c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x102a3bdb
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a3bd1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
add edi, 0x23
inc esi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe0], edi
cmp edi, 0x19f
jle 0x102a3451
mov esi, dword [0x1060b5e0]
mov eax, dword [esi + 0xaa0]
mov ecx, dword [esi + 0xa9c]
cmp ecx, eax
je 0x102a4747
sub eax, ecx
sar eax, 2
imul edx, eax, 0xeeeeeeef
sub edx, 1
mov dword [ebp - 0xf0], edx
js 0x102a4747
mov ecx, edx
shl ecx, 4
sub ecx, edx
shl ecx, 2
mov dword [ebp - 0xd8], ecx
nop dword [eax + eax]
mov eax, dword [esi + 0xa9c]
lea edi, [eax + ecx]
movd xmm1, dword [ebp - 0xd4]
mov ecx, dword [esi + 0xaa0]
sub ecx, eax
mov dword [ebp - 0xe0], edi
sar ecx, 2
imul eax, ecx, 0xeeeeeeef
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xdc], edi
sub eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp dword [edi + 0x14], 0x10
addsd xmm0, qword [eax*8 + 0x1041f410]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x1041efa4]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0xec], eax
jb 0x102a3caf
mov eax, dword [edi]
mov dword [ebp - 0xdc], eax
cmp byte [0x104bead0], 0
jne 0x102a3dc6
mov edi, dword [0x104beadc]
mov edx, edi
mov eax, dword [0x104bead8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bead0], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bead1]
xor al, cl
mov ecx, edx
mov byte [0x104bead1], al
mov eax, dword [0x104bead8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bead8]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104bead2]
xor al, cl
mov ecx, edi
mov byte [0x104bead2], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bead3], al
push ecx
push 0x104bead3
push 0x104bead1
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movd xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
cvtdq2ps xmm0, xmm0
push 6
push 0xffc8c8c8
sub esp, 8
addss xmm0, dword [0x1041ef44]
movss dword [esp + 4], xmm0
mov dword [esp], 0x43188000
push dword [0x1060b61c]
movss dword [ebp - 0xec], xmm0
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a3e73
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a3e69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
cmp byte [0x104bec50], 0
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xdc], eax
jne 0x102a3f93
mov edi, dword [0x104bec5c]
mov edx, edi
mov eax, dword [0x104bec58]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bec50], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bec51]
xor al, cl
mov ecx, edx
mov byte [0x104bec51], al
mov eax, dword [0x104bec58]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bec58]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104bec52]
xor al, cl
mov ecx, edi
mov byte [0x104bec52], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bec53], al
push ecx
push 0x104bec53
push 0x104bec51
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movss xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x4380c000
push dword [0x1060b61c]
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a402d
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a4023
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
cmp dword [edi + 0x30], 0x10
lea eax, [edi + 0x1c]
mov dword [ebp - 0xdc], eax
jb 0x102a4044
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
cmp byte [0x104bea60], 0
jne 0x102a415b
mov edi, dword [0x104bea6c]
mov edx, edi
mov eax, dword [0x104bea68]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bea60], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bea61]
xor al, cl
mov ecx, edx
mov byte [0x104bea61], al
mov eax, dword [0x104bea68]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bea68]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104bea62]
xor al, cl
mov ecx, edi
mov byte [0x104bea62], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bea63], al
push ecx
push 0x104bea63
push 0x104bea61
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movss xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x43924000
push dword [0x1060b61c]
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a41f5
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a41eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
cmp byte [0x104bf460], 0
mov eax, dword [edi + 0x34]
mov dword [ebp - 0xdc], eax
jne 0x102a4315
mov edi, dword [0x104bf46c]
mov edx, edi
mov eax, dword [0x104bf468]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bf460], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104bf461]
xor al, cl
mov ecx, edx
mov byte [0x104bf461], al
mov eax, dword [0x104bf468]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bf468]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, byte [0x104bf462]
xor al, cl
mov ecx, edi
mov byte [0x104bf462], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bf463], al
push ecx
push 0x104bf463
push 0x104bf461
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movss xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x43a3c000
push dword [0x1060b61c]
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a43af
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a43a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
cmp byte [0x104bec90], 0
movzx eax, byte [edi + 0x38]
mov dword [ebp - 0xdc], eax
jne 0x102a44c6
mov edi, dword [0x104bec9c]
mov edx, edi
mov eax, dword [0x104bec98]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bec90], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104bec91], al
mov eax, dword [0x104bec98]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bec98]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104bec92], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0xe0]
shl eax, 0x11
xor al, dl
xor byte [0x104bec93], al
push ecx
push 0x104bec93
push 0x104bec91
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movss xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x43b54000
push dword [0x1060b61c]
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a4560
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a4556
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
cmp byte [0x104bee90], 0
movzx eax, byte [edi + 0x39]
mov dword [ebp - 0xdc], eax
jne 0x102a4671
mov edi, dword [0x104bee9c]
mov edx, edi
mov eax, dword [0x104bee98]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bee90], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104bee91], al
mov eax, dword [0x104bee98]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bee98]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104bee92], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104bee93], al
push ecx
push 0x104bee93
push 0x104bee91
lea ecx, [ebp - 0x2c]
call fcn.1001a620
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x2c]
push dword [ebp - 0xdc]
cmp dword [ebp - 0x18], 0x10
movss xmm0, dword [ebp - 0xec]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [0x10610c58]
push 6
push 0xffc8c8c8
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x43c6c000
push dword [0x1060b61c]
call fcn.100bc250
mov dword [ebp - 4], 0xffffffff
add esp, 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x102a470b
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x102a4701
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x102a5117
push ecx
push edx
call fcn.102bb95a
add esp, 8
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xd8]
dec edx
mov esi, dword [0x1060b5e0]
sub ecx, 0x3c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xd8], ecx
test edx, edx
jns 0x102a3c40
cmp byte [0x1060f26b], 0
movss xmm1, dword [0x1041ed50]
movss xmm3, dword [0x1041ef04]
je 0x102a493e
movd xmm2, dword [esi + 0xc64]
movd xmm0, dword [esi + 0xc60]
mov esi, dword [0x1060f271]
cvtdq2ps xmm2, xmm2
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
movss dword [ebp - 0xe0], xmm2
subss xmm1, xmm3
movaps xmm3, xmm0
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0xf0], xmm1
movss dword [esp], xmm1
movaps xmm1, xmm0
call fcn.100bc6c0
movss xmm1, dword [ebp - 0xd4]
movss xmm2, dword [ebp - 0xf0]
movaps xmm0, xmm1
addss xmm0, dword [0x1041ef04]
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movaps xmm3, xmm0
movss dword [ebp - 0xd8], xmm0
movss dword [esp], xmm2
call fcn.100bc6c0
movss xmm0, dword [ebp - 0xe0]
movss xmm3, dword [ebp - 0xd8]
movaps xmm2, xmm0
movss xmm1, dword [ebp - 0xd4]
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movss dword [esp], xmm0
call fcn.100bc6c0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [0x1041ef04]
movss xmm3, dword [ebp - 0xd8]
movss xmm2, dword [ebp - 0xe0]
movaps xmm1, xmm3
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movss dword [ebp - 0xdc], xmm0
movss dword [esp], xmm0
call fcn.100bc6c0
movss xmm3, dword [ebp - 0xd4]
movss xmm0, dword [ebp - 0xdc]
movaps xmm1, xmm3
movss xmm2, dword [ebp - 0xe0]
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movss dword [esp], xmm0
call fcn.100bc6c0
movss xmm0, dword [ebp - 0xd4]
subss xmm0, dword [0x1041ef04]
movss xmm1, dword [ebp - 0xdc]
push ecx
mov dword [esp], 0x3f800000
movaps xmm2, xmm1
push esi
push ecx
movss dword [esp], xmm1
movaps xmm3, xmm0
movss xmm1, dword [ebp - 0xd4]
movss dword [ebp - 0xd8], xmm0
call fcn.100bc6c0
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movss xmm0, dword [ebp - 0xe0]
movss xmm3, dword [ebp - 0xd8]
movaps xmm2, xmm0
movss xmm1, dword [ebp - 0xd4]
movss dword [esp], xmm0
call fcn.100bc6c0
movss xmm3, dword [ebp - 0xd8]
movss xmm0, dword [ebp - 0xf0]
movaps xmm1, xmm3
movss xmm2, dword [ebp - 0xe0]
push ecx
mov dword [esp], 0x3f800000
push esi
push ecx
movss dword [esp], xmm0
call fcn.100bc6c0
mov esi, dword [0x1060b5e0]
cmp byte [esi + 0xc50], 0
je 0x102a4be9
cmp byte [0x1060f03c], 0
je 0x102a4be9
cmp byte [0x1060f2bb], 0
je 0x102a4be9
cmp byte [0x1060f104], 0
je 0x102a4be9
cmp byte [0x1060f170], 0
movss xmm2, dword [0x1041efb4]
je 0x102a4a1a
mov eax, dword [esi + 0xc60]
mov ecx, dword [0x1060b61c]
cdq
sub eax, edx
movss xmm3, dword [0x1041ede0]
sar eax, 1
push 0
push ecx
mov ecx, dword [ecx]
movd xmm1, eax
mov eax, dword [esi + 0xc64]
cdq
sub eax, edx
mov dword [esp], 0x3ffb53d1
sar eax, 1
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0xe4], xmm0
call fcn.100945b0
mov eax, dword [0x1060b61c]
push ecx
mov dword [esp], 0x40c00000
push 0
mov esi, dword [eax]
mov ecx, esi
push dword [0x1060f2bc]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10093070
movss xmm2, dword [0x1041efb4]
mov dword [esi + 0x54], 0
mov esi, dword [0x1060b5e0]
cmp byte [0x1060f14c], 0
je 0x102a4ab1
mov eax, dword [0x1060b61c]
movss xmm3, dword [0x1041f180]
push 0
mov ecx, dword [eax]
mov eax, dword [esi + 0xc60]
cdq
sub eax, edx
sar eax, 1
push ecx
mov dword [esp], 0x3ec90fdb
movd xmm1, eax
mov eax, dword [esi + 0xc64]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0xe4], xmm0
call fcn.100945b0
mov eax, dword [0x1060b61c]
push ecx
mov dword [esp], 0x40c00000
push 0
mov esi, dword [eax]
mov ecx, esi
push dword [0x1060f2bc]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10093070
mov dword [esi + 0x54], 0
mov esi, dword [0x1060b5e0]
cmp byte [0x1060f128], 0
je 0x102a4b50
mov eax, dword [0x1060b61c]
movss xmm3, dword [0x1041ee98]
movss xmm2, dword [0x1041efb4]
push 0
mov ecx, dword [eax]
mov eax, dword [esi + 0xc60]
cdq
sub eax, edx
sar eax, 1
push ecx
mov dword [esp], 0x406231d6
movd xmm1, eax
mov eax, dword [esi + 0xc64]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0xe4], xmm0
call fcn.100945b0
mov eax, dword [0x1060b61c]
push ecx
mov dword [esp], 0x40c00000
push 0
mov esi, dword [eax]
mov ecx, esi
push dword [0x1060f2bc]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10093070
mov dword [esi + 0x54], 0
mov esi, dword [0x1060b5e0]
cmp byte [0x1060f194], 0
je 0x102a4be9
mov eax, dword [0x1060b61c]
movss xmm3, dword [0x1041eefc]
movss xmm2, dword [0x1041efb4]
push 0
mov ecx, dword [eax]
mov eax, dword [esi + 0xc60]
cdq
sub eax, edx
sar eax, 1
push ecx
mov dword [esp], 0x40a35ce2
movd xmm1, eax
mov eax, dword [esi + 0xc64]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebp - 0xe8], xmm1
movss dword [ebp - 0xe4], xmm0
call fcn.100945b0
mov eax, dword [0x1060b61c]
push ecx
mov dword [esp], 0x40c00000
push 0
mov esi, dword [eax]
mov ecx, esi
push dword [0x1060f2bc]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.10093070
mov dword [esi + 0x54], 0
cmp byte [0x1060f7b8], 0
je 0x102a5386
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x102a5386
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x102a5386
mov eax, dword [0x1060b5e0]
cmp dword [eax + 0xaa8], 0
je 0x102a5386
cmp byte [0x1060f7be], 0
je 0x102a4cea
movss xmm1, dword [0x106104f8]
movss xmm0, dword [0x106104f4]
mulss xmm1, xmm1
mov dword [ebp - 0xf0], 0x3f800000
mulss xmm0, xmm0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x3c], 0
addss xmm1, xmm0
movss dword [ebp - 0xd8], xmm1
sqrtss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x3c]
lea ecx, [ebp - 0xd8]
divss xmm0, dword [0x1060f7c0]
lea edx, [ebp - 0xdc]
xorps xmm1, xmm1
comiss xmm1, xmm0
movss dword [ebp - 0xd8], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0xf0]
comiss xmm0, dword [0x1041edc4]
seta al
test al, al
movzx eax, byte [0x104bf5df]
cmove ecx, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx]
cvttss2si eax, xmm0
mov byte [0x104bf5df], al
movss xmm1, dword [0x106104f8]
movss xmm0, dword [0x106104f4]
mulss xmm1, xmm1
mov dword [ebp - 0x3c], 0
mulss xmm0, xmm0
addss xmm1, xmm0
movss dword [ebp - 0xd8], xmm1
sqrtss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x3c], xmm0
fld dword [ebp - 0x3c]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0xd8]
cvttss2si edx, dword [ebp - 0xd8]
lea ecx, [ebp - 0x2c]
call fcn.10030710
mov dword [ebp - 4], 0x10
mov ecx, dword [0x1060b344]
call fcn.10082350
cmp dword [ebp - 0x18], 0x10
lea edx, [ebp - 0x2c]
mov dword [esp], 0xbf800000
lea ecx, [ebp - 0xe8]
cmovae edx, dword [ebp - 0x2c]
push 0
push 0
call fcn.1007c3b0
add esp, 0xc
call fcn.10082420
cmp byte [0x1060f7c4], 0
je 0x102a511d
mov eax, dword [0x1060b4e4]
cmp eax, dword [0x1060b4e0]
jle 0x102a511d
cmp byte [0x104bed20], 0
jne 0x102a4e51
mov edi, dword [0x104bed2c]
mov edx, edi
mov eax, dword [0x104bed28]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bed20], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
mov esi, dword [ebp - 0xd0]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bed28]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, cl
mov ecx, edi
xor byte [0x104bed21], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104bed22], al
push ecx
push 0x104bed22
push 0x104bed21
lea ecx, [ebp - 0x8c]
call fcn.1001a620
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.10019da0
mov edx, dword [0x106104dc]
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xdc], eax
call fcn.10030710
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0x12
cmp byte [0x104bf540], 0
jne 0x102a4f9e
mov edi, dword [0x104bf54c]
mov edx, edi
mov eax, dword [0x104bf548]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104bf540], 1
mov dword [ebp - 0xd0], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xd0]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104bf541], al
mov eax, dword [0x104bf548]
xor eax, 0x1de26cd4
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0xd0]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0xd0], esi
mov ecx, esi
mov dword [ebp - 0xe4], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104bf548]
shl eax, 0x11
xor edx, 0x1de26cd7
xor al, cl
mov ecx, edi
xor byte [0x104bf542], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [0x104bf543], al
push ecx
push 0x104bf543
push 0x104bf541
lea ecx, [ebp - 0x5c]
call fcn.1001a620
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
call fcn.10019da0
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xa4]
call fcn.1002c990
add esp, 4
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
push dword [ebp - 0xd8]
push eax
push dword [ebp - 0xe4]
call fcn.10030580
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x74]
push dword [ebp - 0xdc]
lea ecx, [ebp - 0x44]
call fcn.1006d370
add esp, 4
lea ecx, [ebp - 0x74]
call fcn.10019dd0
lea ecx, [ebp - 0xa4]
call fcn.10019dd0
lea ecx, [ebp - 0x5c]
call fcn.10019dd0
lea ecx, [ebp - 0xbc]
call fcn.10019dd0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x1b
call fcn.10019dd0
mov eax, dword [0x1060b5e0]
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae ecx, dword [ebp - 0x44]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
inc eax
push ecx
push dword [0x1060b344]
mulss xmm1, dword [0x1060f7c8]
push 2
movd xmm0, eax
movzx eax, byte [0x104bf5df]
addss xmm1, dword [0x1041ef2c]
bswap eax
push eax
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
mov eax, dword [0x1060b5e0]
lea ecx, [ebp - 0x44]
add esp, 0x1c
cmp dword [ebp - 0x30], 0x10
cmovae ecx, dword [ebp - 0x44]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1060f7c8]
addss xmm1, dword [0x1041ef28]
push ecx
push dword [0x1060b344]
cdq
sub eax, edx
sar eax, 1
push 2
push dword [0x104bf5dc]
movd xmm0, eax
sub esp, 8
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
lea ecx, [ebp - 0x44]
call fcn.10019dd0
jmp 0x102a51f2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [0x1060b5e0]
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
cmovae ecx, dword [ebp - 0x2c]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm1, xmm1
inc eax
push ecx
push dword [0x1060b344]
mulss xmm1, dword [0x1060f7c8]
push 2
movd xmm0, eax
movzx eax, byte [0x104bf5df]
addss xmm1, dword [0x1041ef2c]
bswap eax
push eax
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
mov eax, dword [0x1060b5e0]
lea ecx, [ebp - 0x2c]
add esp, 0x1c
cmp dword [ebp - 0x18], 0x10
cmovae ecx, dword [ebp - 0x2c]
movd xmm1, dword [eax + 0xc64]
mov eax, dword [eax + 0xc60]
cvtdq2ps xmm1, xmm1
push ecx
cdq
sub eax, edx
sar eax, 1
push dword [0x1060b344]
mulss xmm1, dword [0x1060f7c8]
push 2
push dword [0x104bf5dc]
movd xmm0, eax
addss xmm1, dword [0x1041ef28]
cvtdq2ps xmm0, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
cmp byte [0x1060f7b9], 0
je 0x102a520a
mov eax, dword [0x1060f7ba]
mov dword [0x104bf5dc], eax
jmp 0x102a5377
movss xmm0, dword [0x1060b4dc]
comiss xmm0, dword [0x106111a8]
jb 0x102a5377
movss xmm1, dword [0x10610504]
movss xmm0, dword [0x10610500]
mulss xmm1, xmm1
mov dword [ebp - 0x3c], 0
mulss xmm0, xmm0
addss xmm1, xmm0
movss dword [ebp - 0xd8], xmm1
sqrtss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x3c], xmm0
fld dword [ebp - 0x3c]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [0x106104f8]
add esp, 4
movss xmm0, dword [0x106104f4]
mulss xmm1, xmm1
mov dword [ebp - 0x54], 0
mulss xmm0, xmm0
fstp dword [ebp - 0xdc]
addss xmm1, xmm0
movss dword [ebp - 0xd8], xmm1
sqrtss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x54], xmm0
fld dword [ebp - 0x54]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm0, dword [ebp - 0xdc]
add esp, 4
fstp dword [ebp - 0xd8]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x102a52d6
mov dword [ebp - 0xd4], 0xff7777ff
jmp 0x102a5333
mov ecx, 0x106104f4
call fcn.10014cd0
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
mov ecx, 0x10610500
fstp dword [ebp - 0xd8]
call fcn.10014cd0
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm0, dword [ebp - 0xd8]
add esp, 4
fstp dword [ebp - 0xdc]
comiss xmm0, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], 0xff6dff1e
ja 0x102a5333
mov dword [ebp - 0xd4], 0xff59c7ff
movss xmm0, dword [0x1060b4dc]
mov eax, dword [ebp - 0xd4]
cvtps2pd xmm0, xmm0
mov dword [0x104bf5dc], eax
mov eax, dword [0x106104fc]
mov dword [0x10610508], eax
addsd xmm0, qword [0x1041ee10]
cvtpd2ps xmm0, xmm0
movss dword [0x106111a8], xmm0
movq xmm0, qword [0x106104f4]
movq qword [0x10610500], xmm0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.10019dd0
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x102a598e
mov ecx, dword [0x1060b288]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x102a598e
mov eax, dword [0x1060b274]
mov ecx, dword [0x1060b288]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1060b274]
push eax
call esi
test eax, eax
je 0x102a598e
cmp byte [0x1060f8e0], 0
je 0x102a598e
mov ecx, dword [0x1060fc40]
mov eax, dword [0x1060b5e0]
cmp ecx, dword [0x1060f904]
jne 0x102a598e
xor edi, edi
mov dword [ebp - 0xdc], edi
add ecx, 0xfffffffe
je 0x102a598e
mov eax, dword [eax + 0xc60]
cdq
sub eax, edx
mov dword [ebp - 0x10c], 0x43e10000
sar eax, 1
mov dword [ebp - 0x108], edi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x114], 0x43e10000
mov dword [ebp - 0x110], edi
nop
push edi
call fcn.102b6710
lea esi, [edi + 1]
push esi
mov dword [ebp - 0xf0], esi
movss xmm0, dword [eax]
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0xfc], xmm0
call fcn.102b6710
push edi
movss xmm0, dword [eax]
movss dword [ebp - 0xe0], xmm0
movss dword [ebp - 0xec], xmm0
call fcn.102b6710
cmp byte [eax + 4], 0
je 0x102a549c
push esi
call fcn.102b6710
mov byte [ebp - 0xf1], 1
cmp byte [eax + 4], 0
je 0x102a54a3
mov byte [ebp - 0xf1], 0
mov eax, dword [0x1060f90c]
mov esi, 0xff
mov ecx, dword [0x1060fc40]
mov dword [ebp - 0xd0], ecx
sub eax, 1
je 0x102a560b
sub eax, 1
je 0x102a5587
sub eax, 1
jne 0x102a5638
cmp edi, 0xa
jge 0x102a54e3
movd xmm0, dword [ebp - 0xf0]
jmp 0x102a54f2
lea eax, [ecx - 0xb]
cmp edi, eax
jbe 0x102a5501
mov eax, ecx
sub eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1041ef74]
cvttss2si esi, xmm0
movss xmm1, dword [ebp - 0xe0]
lea ecx, [ebp - 0xd4]
movss xmm6, dword [ebp - 0xd4]
lea edx, [ebp - 0x100]
movaps xmm0, xmm1
mov dword [ebp - 0x104], 0x3f800000
addss xmm0, xmm6
mov dword [ebp - 0x100], 0
xorps xmm2, xmm2
mulss xmm0, dword [0x1041ed50]
divss xmm0, dword [0x1060f910]
comiss xmm2, xmm0
movss dword [ebp - 0xd4], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x104]
comiss xmm0, dword [0x1041edc4]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
seta al
test al, al
cmove ecx, edx
mulss xmm0, dword [ecx]
cvttss2si esi, xmm0
jmp 0x102a5648
movss xmm1, dword [ebp - 0xe0]
lea ecx, [ebp - 0x100]
movss xmm6, dword [ebp - 0xd4]
lea edx, [ebp - 0x104]
movaps xmm0, xmm1
mov dword [ebp - 0xf8], 0x3f800000
addss xmm0, xmm6
mov dword [ebp - 0x104], 0
xorps xmm2, xmm2
mulss xmm0, dword [0x1041ed50]
divss xmm0, dword [0x1060f910]
comiss xmm2, xmm0
movss dword [ebp - 0x100], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0xf8]
comiss xmm0, dword [0x1041edc4]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
mulss xmm0, dword [0x1041f054]
cvttss2si esi, xmm0
jmp 0x102a5648
cmp edi, 0xa
jge 0x102a561a
movd xmm0, dword [ebp - 0xf0]
jmp 0x102a5629
lea eax, [ecx - 0xb]
cmp edi, eax
jbe 0x102a5638
mov eax, ecx
sub eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1041ef74]
cvttss2si esi, xmm0
movss xmm1, dword [ebp - 0xe0]
movss xmm6, dword [ebp - 0xd4]
movzx eax, byte [0x1060f8eb]
movzx edx, byte [0x1060f8ea]
movzx ecx, byte [0x1060f8e9]
movd xmm2, esi
movd xmm5, dword [0x1060f8fc]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mulss xmm2, dword [0x1041ec6c]
movzx eax, byte [0x1060f8e8]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm5, xmm5
mulss xmm0, xmm2
movss dword [ebp - 0xf8], xmm2
cvttss2si esi, xmm0
push esi
push edx
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.1001d300
xorps xmm0, xmm0
lea edx, [ebp - 0xec]
comiss xmm0, xmm1
lea eax, [ebp - 0x108]
seta cl
test cl, cl
mov byte [ebp - 0xf2], cl
lea ecx, [ebp - 0x10c]
cmove eax, edx
comiss xmm1, dword [0x1041f090]
seta dl
test dl, dl
mov byte [ebp - 0xf3], dl
lea edx, [ebp - 0x110]
cmove ecx, eax
mov eax, dword [0x1060b5e0]
movd xmm2, dword [eax + 0xc64]
mov eax, dword [ebp - 0xd0]
movss xmm0, dword [ecx]
lea ecx, [ebp - 0xfc]
mulss xmm0, dword [0x1041ed14]
shr eax, 1
sub eax, edi
cvtdq2ps xmm2, xmm2
mov dword [ebp - 0xd0], eax
imul eax, dword [0x1060f8f8]
mulss xmm2, dword [0x1060f7c8]
mulss xmm0, dword [0x1060f900]
add eax, dword [ebp - 0xd8]
subss xmm2, dword [0x1041ef40]
movaps xmm4, xmm2
subss xmm4, xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x1041f410]
cvtpd2ps xmm3, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm6
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x114]
comiss xmm6, dword [0x1041f090]
seta al
test al, al
mov eax, dword [ebp - 0xd0]
cmove ecx, edx
inc eax
imul eax, dword [0x1060f8f8]
push ecx
movss xmm0, dword [ecx]
mulss xmm0, dword [0x1041ed14]
add eax, dword [ebp - 0xd8]
mulss xmm0, dword [0x1060f900]
subss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1041f410]
cvtpd2ps xmm1, xmm0
movss dword [esp], xmm5
push dword [ebp - 0x118]
push ecx
movss dword [esp], xmm4
call fcn.100bc6c0
cmp byte [ebp - 0xf1], 0
je 0x102a595c
fld dword [ebp - 0xec]
push ecx
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0xfc]
cvttss2si edx, dword [ebp - 0xfc]
add esp, 4
lea ecx, [ebp - 0x47]
test edx, edx
jns 0x102a581a
neg edx
call fcn.10032710
dec eax
mov byte [eax], 0x2d
jmp 0x102a581f
call fcn.10032710
push ecx
lea ecx, [ebp - 0x47]
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.1001a620
mov dword [ebp - 4], 0x1c
lea edi, [ebp - 0x74]
movzx eax, byte [0x1060f8f7]
movzx edx, byte [0x1060f8f6]
movzx ecx, byte [0x1060f8f5]
cmp dword [ebp - 0x60], 0x10
movd xmm0, eax
movzx eax, byte [0x1060f8f4]
cmovae edi, dword [ebp - 0x74]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0xf8]
cvttss2si esi, xmm0
push esi
push edx
push ecx
push eax
lea ecx, [ebp - 0xe4]
call fcn.1001d300
cmp byte [ebp - 0xf2], 0
lea ecx, [ebp - 0xec]
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xf8], 0x43e10000
cmove eax, ecx
mov dword [ebp - 0xfc], 0
cmp byte [ebp - 0xf3], 0
lea ecx, [ebp - 0xf8]
push edi
cmove ecx, eax
mov eax, dword [0x1060b5e0]
push dword [0x1060b358]
push 0
movd xmm1, dword [eax + 0xc64]
mov eax, dword [0x1060fc40]
movss xmm0, dword [ecx]
mulss xmm0, dword [0x1041ed14]
shr eax, 1
sub eax, dword [ebp - 0xdc]
cvtdq2ps xmm1, xmm1
dec eax
mulss xmm0, dword [0x1060f900]
mulss xmm1, dword [0x1060f7c8]
imul eax, dword [0x1060f8f8]
push dword [ebp - 0xe4]
subss xmm1, dword [0x1041efa0]
sub esp, 8
add eax, dword [ebp - 0xd8]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1041f410]
movss dword [esp + 4], xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [0x1060b61c]
call fcn.100bc250
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.10019dd0
mov eax, dword [0x1060fc40]
mov edi, dword [ebp - 0xf0]
add eax, 0xfffffffe
mov dword [ebp - 0xdc], edi
cmp edi, eax
jb 0x102a5440
jmp 0x102a598e
mov ecx, 0x1060fc30
call fcn.1006c2f0
mov dword [0x106104f0], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret