Function at 0x101a8f30
Capabilities:
Hash data using fnv

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 0x102a6a7c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4d0
mov eax, dword [0x10560040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x11c], ecx
mov ecx, 0x108c9974
call fcn.10296940
vmovss xmm0, dword [0x105476b4]
vmovss dword [ebp - 0x450], xmm0
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2648]
cmp eax, dword [edx + 4]
jle 0x101a915b
push 0x108c2648
call fcn.10190760
add esp, 4
cmp dword [0x108c2648], 0xffffffff
jne 0x101a915b
xor ecx, ecx
mov byte [ebp - 0x11d], cl
mov dword [ebp - 0x454], 0x8208957b
mov dword [ebp - 0x26c], 0x8208957b
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x3b8], edx
mov eax, dword [0x108a1c10]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0
jne 0x101a9023
mov dword [ebp - 0x128], 0
jmp 0x101a9142
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0xdc], eax
jmp 0x101a9040
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xdc], edx
cmp dword [ebp - 0xdc], 0
je 0x101a9138
mov eax, dword [ebp - 0xdc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x124], 0x811c9dc5
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x174]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x101a9094
jmp 0x101a9070
xor edx, edx
je 0x101a90a7
mov eax, dword [ebp - 0xc8]
add eax, 1
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x278], edx
mov dword [ebp - 0xec], 0
jmp 0x101a90da
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
cmp ecx, dword [ebp - 0x278]
jae 0x101a910b
mov edx, dword [ebp - 0x174]
add edx, dword [ebp - 0xec]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x124]
imul ecx, eax, 0x1000193
mov dword [ebp - 0x124], ecx
jmp 0x101a90cb
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x3b8]
jne 0x101a9133
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x128], ecx
jmp 0x101a9142
jmp 0x101a9031
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x128]
mov dword [0x108c2644], edx
push 0x108c2648
call fcn.10190710
add esp, 4
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x108c2650]
cmp eax, dword [edx + 4]
jle 0x101a9327
push 0x108c2650
call fcn.10190760
add esp, 4
cmp dword [0x108c2650], 0xffffffff
jne 0x101a9327
xor ecx, ecx
mov byte [ebp - 0x11e], cl
mov dword [ebp - 0x458], 0xd0eb0af6
mov dword [ebp - 0x3bc], 0xd0eb0af6
mov edx, dword [ebp - 0x3bc]
mov dword [ebp - 0x1a0], edx
mov eax, dword [0x108a1c10]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x178], edx
cmp dword [ebp - 0x178], 0
jne 0x101a91ef
mov dword [ebp - 0x130], 0
jmp 0x101a930e
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0xd8], eax
jmp 0x101a920c
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
je 0x101a9304
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x12c], 0x811c9dc5
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x17c]
add eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x101a9260
jmp 0x101a923c
xor edx, edx
je 0x101a9273
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edx
mov dword [ebp - 0xf0], 0
jmp 0x101a92a6
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0x198]
jae 0x101a92d7
mov edx, dword [ebp - 0x17c]
add edx, dword [ebp - 0xf0]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x12c]
imul ecx, eax, 0x1000193
mov dword [ebp - 0x12c], ecx
jmp 0x101a9297
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a0]
jne 0x101a92ff
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x130], ecx
jmp 0x101a930e
jmp 0x101a91fd
mov dword [ebp - 0x130], 0
mov edx, dword [ebp - 0x130]
mov dword [0x108c264c], edx
push 0x108c2650
call fcn.10190710
add esp, 4
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
cmp dword [0x108a1e70], 0
je 0x101a934f
mov ecx, dword [0x108a1e70]
mov dword [ebp - 0x180], ecx
jmp 0x101a9359
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
cmp dword [ebx + 8], 0
jne 0x101a9397
xor al, al
jmp 0x101aa659
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x184]
mov eax, dword [ebx + 8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax]
mov dword [ebp - 0x1b0], ecx
mov edx, 0x1be
shl edx, 2
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [ebx + 8]
call dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
jne 0x101a943a
xor al, al
jmp 0x101aa659
push 0x54
push 0
lea eax, [ebp - 0xb0]
push eax
call sub.VCRUNTIME140D.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xb0]
call fcn.10047290
nop
mov ecx, dword [ebp - 0xb8]
vcvtsi2ss xmm0, xmm0, dword [ecx + 0xec]
mov edx, dword [ebx + 0x14]
vmovss dword [edx], xmm0
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x20], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xe0], xmm0
mov ecx, dword [ebp - 0xb8]
vmovss xmm0, dword [ecx + 0x104]
vmovss dword [ebp - 0xd4], xmm0
mov edx, dword [ebp - 0xb8]
vmovss xmm0, dword [edx + 0xf8]
vmovss dword [ebp - 0x3b4], xmm0
mov dword [ebp - 0x18], 4
mov eax, dword [ebx + 0x18]
mov dword [eax], 4
mov ecx, dword [0x1078a80c]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x38], 0
mov eax, dword [ebx + 0x14]
vmovss xmm0, dword [eax]
vcomiss xmm0, dword [0x10547394]
jbe 0x101aa657
vmovss xmm0, dword [ebp - 0xd4]
vsubss xmm0, xmm0, dword [ebp - 0xe0]
vmovss dword [ebp - 0xd4], xmm0
mov ecx, dword [ebx + 0xc]
vmovss xmm0, dword [ecx]
vmulss xmm0, xmm0, dword [ebp - 0xd4]
vmovss dword [ebp - 0x1cc], xmm0
mov edx, dword [ebx + 0xc]
vmovss xmm0, dword [edx + 4]
vmulss xmm0, xmm0, dword [ebp - 0xd4]
vmovss dword [ebp - 0x1d0], xmm0
mov eax, dword [ebx + 0xc]
vmovss xmm0, dword [eax + 8]
vmulss xmm0, xmm0, dword [ebp - 0xd4]
vmovss dword [ebp - 0x1d4], xmm0
vmovss xmm0, dword [ebp - 0x1cc]
vmovss dword [ebp - 0x3f4], xmm0
vmovss xmm0, dword [ebp - 0x1d0]
vmovss dword [ebp - 0x3f0], xmm0
vmovss xmm0, dword [ebp - 0x1d4]
vmovss dword [ebp - 0x3ec], xmm0
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x134]
vmovss xmm0, dword [ebp - 0x24]
vaddss xmm0, xmm0, dword [eax]
vmovss dword [ebp - 0x1dc], xmm0
mov ecx, dword [ebp - 0x134]
vmovss xmm0, dword [ebp - 0x20]
vaddss xmm0, xmm0, dword [ecx + 4]
vmovss dword [ebp - 0x1e0], xmm0
mov edx, dword [ebp - 0x134]
vmovss xmm0, dword [ebp - 0x1c]
vaddss xmm0, xmm0, dword [edx + 8]
vmovss dword [ebp - 0x1e4], xmm0
vmovss xmm0, dword [ebp - 0x1dc]
vmovss dword [ebp - 0x30], xmm0
vmovss xmm0, dword [ebp - 0x1e0]
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [ebp - 0x1e4]
vmovss dword [ebp - 0x28], xmm0
lea eax, [ebp - 0x4c0]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx], xmm0
mov edx, dword [ebp - 0x138]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx + 4], xmm0
mov eax, dword [ebp - 0x138]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax + 8], xmm0
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx], xmm0
mov eax, dword [ebp - 0xf8]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0xf8]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx + 8], xmm0
lea edx, [ebp - 0x4a0]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xfc]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax], xmm0
mov ecx, dword [ebp - 0xfc]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx + 4], xmm0
mov edx, dword [ebp - 0xfc]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx + 8], xmm0
lea eax, [ebp - 0x490]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx], xmm0
mov edx, dword [ebp - 0x100]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx + 4], xmm0
mov eax, dword [ebp - 0x100]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax + 8], xmm0
vmovss xmm0, dword [ebp - 0x30]
vsubss xmm0, xmm0, dword [ebp - 0x24]
vmovss dword [ebp - 0x1e8], xmm0
vmovss xmm0, dword [ebp - 0x2c]
vsubss xmm0, xmm0, dword [ebp - 0x20]
vmovss dword [ebp - 0x1ec], xmm0
vmovss xmm0, dword [ebp - 0x28]
vsubss xmm0, xmm0, dword [ebp - 0x1c]
vmovss dword [ebp - 0x1f0], xmm0
vmovss xmm0, dword [ebp - 0x1e8]
vmovss dword [ebp - 0x400], xmm0
vmovss xmm0, dword [ebp - 0x1ec]
vmovss dword [ebp - 0x3fc], xmm0
vmovss xmm0, dword [ebp - 0x1f0]
vmovss dword [ebp - 0x3f8], xmm0
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x104], edx
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3d0], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3cc], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3c8], xmm0
mov eax, dword [ebp - 0x104]
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x3d0], xmm0
mov ecx, dword [ebp - 0x104]
vmovss xmm0, dword [ecx + 4]
vmovss dword [ebp - 0x3cc], xmm0
mov edx, dword [ebp - 0x104]
vmovss xmm0, dword [edx + 8]
vmovss dword [ebp - 0x3c8], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3c4], xmm0
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xe4], ecx
lea edx, [ebp - 0x4b0]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x4b0]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
vmovss xmm0, dword [ecx]
vmulss xmm0, xmm0, dword [edx]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd0]
vmovss xmm1, dword [eax + 4]
vmulss xmm1, xmm1, dword [ecx + 4]
vaddss xmm0, xmm0, xmm1
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
vmovss xmm1, dword [edx + 8]
vmulss xmm1, xmm1, dword [eax + 8]
vaddss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x1fc], xmm0
vmovss xmm0, dword [ebp - 0x1fc]
vucomiss xmm0, dword [0x10547394]
lahf
test ah, 0x44
jnp 0x101a98be
mov dword [ebp - 0x188], 1
jmp 0x101a98c8
mov dword [ebp - 0x188], 0
mov cl, byte [ebp - 0x188]
mov byte [ebp - 0x47b], cl
mov dword [ebp - 0x480], 0
mov byte [ebp - 0x47c], 1
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3e0], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3dc], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3d8], xmm0
vmovss xmm0, dword [ebp - 0x24]
vmovss dword [ebp - 0x3e0], xmm0
vmovss xmm0, dword [ebp - 0x20]
vmovss dword [ebp - 0x3dc], xmm0
vmovss xmm0, dword [ebp - 0x1c]
vmovss dword [ebp - 0x3d8], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x3d4], xmm0
lea edx, [ebp - 0x3e0]
push edx
lea ecx, [ebp - 0x4c0]
call fcn.10042910
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx + 8], xmm0
mov edx, dword [ebp - 0x108]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx + 4], xmm0
mov eax, dword [ebp - 0x108]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax], xmm0
lea ecx, [ebp - 0x490]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x10c]
vxorps xmm0, xmm0, xmm0
vmovss dword [edx + 8], xmm0
mov eax, dword [ebp - 0x10c]
vxorps xmm0, xmm0, xmm0
vmovss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0x10c]
vxorps xmm0, xmm0, xmm0
vmovss dword [ecx], xmm0
lea edx, [ebp - 0x4c0]
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x21c], eax
mov ecx, dword [0x108a1c30]
mov dword [ebp - 0x13c], ecx
lea edx, [ebp - 0x208]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x208]
mov edx, dword [ecx]
mov dword [ebp - 0x20c], edx
mov eax, 5
shl eax, 2
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x220], edx
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x48]
push ecx
push 0x4600400b
mov edx, dword [ebp - 0x21c]
push edx
mov ecx, dword [ebp - 0x13c]
call dword [ebp - 0x220]
nop
cmp dword [ebx + 0x24], 0
je 0x101a9bc8
mov eax, dword [ebx + 0xc]
vmovss xmm0, dword [eax]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x224], xmm0
mov ecx, dword [ebx + 0xc]
vmovss xmm0, dword [ecx + 4]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x228], xmm0
mov edx, dword [ebx + 0xc]
vmovss xmm0, dword [edx + 8]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x22c], xmm0
vmovss xmm0, dword [ebp - 0x224]
vmovss dword [ebp - 0x40c], xmm0
vmovss xmm0, dword [ebp - 0x228]
vmovss dword [ebp - 0x408], xmm0
vmovss xmm0, dword [ebp - 0x22c]
vmovss dword [ebp - 0x404], xmm0
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x30]
vaddss xmm0, xmm0, dword [edx]
vmovss dword [ebp - 0x234], xmm0
mov eax, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x2c]
vaddss xmm0, xmm0, dword [eax + 4]
vmovss dword [ebp - 0x238], xmm0
mov ecx, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x28]
vaddss xmm0, xmm0, dword [ecx + 8]
vmovss dword [ebp - 0x23c], xmm0
vmovss xmm0, dword [ebp - 0x234]
vmovss dword [ebp - 0x418], xmm0
vmovss xmm0, dword [ebp - 0x238]
vmovss dword [ebp - 0x414], xmm0
vmovss xmm0, dword [ebp - 0x23c]
vmovss dword [ebp - 0x410], xmm0
lea edx, [ebp - 0x418]
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebx + 0x24]
push ecx
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0x240]
push eax
lea ecx, [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x11c]
call fcn.101aa680
nop
jmp 0x101a9e4b
mov edx, dword [ebx + 0xc]
vmovss xmm0, dword [edx]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x244], xmm0
mov eax, dword [ebx + 0xc]
vmovss xmm0, dword [eax + 4]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x248], xmm0
mov ecx, dword [ebx + 0xc]
vmovss xmm0, dword [ecx + 8]
vmulss xmm0, xmm0, dword [0x105475d4]
vmovss dword [ebp - 0x24c], xmm0
vmovss xmm0, dword [ebp - 0x244]
vmovss dword [ebp - 0x424], xmm0
vmovss xmm0, dword [ebp - 0x248]
vmovss dword [ebp - 0x420], xmm0
vmovss xmm0, dword [ebp - 0x24c]
vmovss dword [ebp - 0x41c], xmm0
lea edx, [ebp - 0x424]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
vmovss xmm0, dword [ebp - 0x30]
vaddss xmm0, xmm0, dword [ecx]
vmovss dword [ebp - 0x254], xmm0
mov edx, dword [ebp - 0x114]
vmovss xmm0, dword [ebp - 0x2c]
vaddss xmm0, xmm0, dword [edx + 4]
vmovss dword [ebp - 0x258], xmm0
mov eax, dword [ebp - 0x114]
vmovss xmm0, dword [ebp - 0x28]
vaddss xmm0, xmm0, dword [eax + 8]
vmovss dword [ebp - 0x25c], xmm0
vmovss xmm0, dword [ebp - 0x254]
vmovss dword [ebp - 0x430], xmm0
vmovss xmm0, dword [ebp - 0x258]
vmovss dword [ebp - 0x42c], xmm0
vmovss xmm0, dword [ebp - 0x25c]
vmovss dword [ebp - 0x428], xmm0
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x260], ecx
vmovss xmm0, dword [0x105475f8]
vmovss dword [ebp - 0x34], xmm0
lea edx, [ebp - 0xb0]
mov dword [ebp - 0x54], edx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x50], ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x4c], edx
mov eax, dword [0x10561178]
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x105611a8]
cmp eax, dword [edx + 4]
jle 0x101a9e23
push 0x105611a8
call fcn.10190760
add esp, 4
cmp dword [0x105611a8], 0xffffffff
jne 0x101a9e23
mov dword [ebp - 4], 0
push str.E8_________83_C4_14_8A_56_37
lea ecx, [ebp - 0x4dc]
call fcn.1004d0e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4dc]
push ecx
push 0x108a1bbc
lea edx, [ebp - 0x464]
push edx
call fcn.101ad990
add esp, 0xc
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
cmp dword [ecx], 0
jne 0x101a9d9e
mov dword [ebp - 0x118], 0
jmp 0x101a9df4
mov edx, dword [ebp - 0x140]
mov eax, dword [edx]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx]
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0
jne 0x101a9dd2
mov dword [ebp - 0x118], 0
jmp 0x101a9df4
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xe8]
lea edx, [ecx + eax + 4]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [0x105611ac], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4dc]
call fcn.1004cfa0
mov dword [ebp - 4], 0xffffffff
push 0x105611a8
call fcn.10190710
add esp, 4
cmp dword [0x105611ac], 0
jne 0x101a9e2e
jmp 0x101a9e4b
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
push dword [ebp - 0x34]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push 0x4600400b
call dword [0x105611ac]
add esp, 0x10
movsx edx, word [ebp - 0x70]
mov dword [ebp - 0x294], edx
mov eax, dword [0x108a1c58]
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x14c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x27c], ecx
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax]
mov dword [ebp - 0x284], ecx
mov edx, 5
shl edx, 2
mov eax, dword [ebp - 0x284]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x288], ecx
mov edx, dword [ebp - 0x288]
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x294]
push edx
mov ecx, dword [ebp - 0x14c]
call dword [ebp - 0x298]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
vmovss xmm0, dword [ecx + 0x58]
vmovss dword [ebp - 0x368], xmm0
mov edx, dword [ebp - 0x150]
mov ax, word [edx + 0x60]
mov word [ebp - 0x268], ax
vmovss xmm0, dword [ebp - 0x84]
vucomiss xmm0, dword [0x105474ac]
lahf
test ah, 0x44
jp 0x101a9f3f
jmp 0x101aa657
vmovss xmm0, dword [ebp - 0x84]
vmulss xmm0, xmm0, dword [ebp - 0xd4]
vmovss xmm1, dword [ebp - 0xe0]
vaddss xmm0, xmm1, xmm0
vmovss dword [ebp - 0xe0], xmm0
vmovss xmm0, dword [ebp - 0xe0]
vdivss xmm0, xmm0, dword [0x1054769c]
vmovss dword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0xb8]
vmovss xmm0, dword [ecx + 0x108]
vmovss dword [ebp - 0x2a4], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x2a0]
sub esp, 8
vmovsd qword [esp], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x2a4]
sub esp, 8
vmovsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_pow]
add esp, 0x10
fstp dword [ebp - 0x2a8]
vmovss xmm0, dword [ebp - 0x2a8]
vmovss dword [ebp - 0x2b0], xmm0
mov edx, dword [ebx + 0x14]
vmovss xmm0, dword [edx]
vmovss dword [ebp - 0x2ac], xmm0
vmovss xmm0, dword [ebp - 0x2ac]
vmulss xmm0, xmm0, dword [ebp - 0x2b0]
mov eax, dword [ebx + 0x14]
vmovss dword [eax], xmm0
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0xc4], edx
cmp dword [ebx + 0x24], 0
je 0x101aa22a
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
mov edx, dword [ebx + 0x24]
mov dword [ecx], edx
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x2bc]
mov eax, dword [edx]
mov dword [ebp - 0x2c0], eax
mov ecx, 0x98
shl ecx, 2
mov edx, dword [ebp - 0x2c0]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebx + 0x24]
call dword [ebp - 0x2d0]
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xb9]
test ecx, ecx
je 0x101aa22a
mov edx, dword [ebp - 0xc4]
add edx, 8
mov dword [ebp - 0x2d4], edx
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x158]
mov dword [edx], ecx
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x2dc]
mov eax, dword [edx]
mov dword [ebp - 0x2e0], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x2e0]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 8
mov dword [ebp - 0x2f0], ecx
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f4], edx
mov ecx, dword [ebp - 0x2f4]
call dword [ebp - 0x2f8]
mov dword [ebp - 0x328], eax
mov eax, dword [ebx + 0x24]
add eax, 8
mov dword [ebp - 0x2fc], eax
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x15c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0x300]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x304]
mov ecx, dword [eax]
mov dword [ebp - 0x308], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [ebp - 0x308]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x314], eax
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebx + 0x24]
add edx, 8
mov dword [ebp - 0x318], edx
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
call dword [ebp - 0x320]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
cmp dword [ebp - 0x328], ecx
jne 0x101aa22a
mov byte [ebp - 0xb1], 1
jmp 0x101aa231
mov byte [ebp - 0xb1], 0
mov dl, byte [ebp - 0xb1]
mov byte [ebp - 0xbb], dl
cmp dword [ebp - 0xc4], 0
je 0x101aa429
lea eax, [ebp - 0x330]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0xc4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x330]
mov eax, dword [edx]
mov dword [ebp - 0x334], eax
mov ecx, 0x98
shl ecx, 2
mov edx, dword [ebp - 0x334]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x33c], ecx
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0xc4]
call dword [ebp - 0x344]
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
test ecx, ecx
je 0x101aa429
movzx edx, byte [ebp - 0xbb]
test edx, edx
je 0x101aa429
movzx eax, byte [ebx + 0x30]
test eax, eax
je 0x101aa309
mov ecx, dword [ebx + 0x34]
cmp ecx, dword [ebp - 0x6c]
jne 0x101aa429
cmp dword [ebp - 0x6c], 7
jg 0x101aa318
mov byte [ebp - 0xb2], 1
jmp 0x101aa31f
mov byte [ebp - 0xb2], 0
mov dl, byte [ebp - 0xb2]
mov byte [ebp - 0xbc], dl
mov eax, dword [0x108bcffc]
sub eax, 0x23
xor eax, 0x286b04eb
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x348]
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0x34c]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x360], eax
mov ecx, dword [0x108bcffc]
sub ecx, 0x23
xor ecx, 0x286b04eb
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x358], edx
mov eax, dword [0x1078a80c]
add eax, dword [ebp - 0x358]
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x364], ecx
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x364]
mov ecx, dword [edx]
cmp ecx, dword [eax]
je 0x101aa3c1
mov byte [ebp - 0xb3], 1
jmp 0x101aa3c8
mov byte [ebp - 0xb3], 0
mov dl, byte [ebp - 0xb3]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbc]
test eax, eax
je 0x101aa429
movzx ecx, byte [ebp - 0xbd]
test ecx, ecx
je 0x101aa429
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebx + 0x14]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
lea edx, [ebp - 0xb0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0x11c]
call fcn.101ad1b0
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebp - 0x60]
mov dword [ecx], edx
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov al, 1
jmp 0x101aa659
vmovss xmm0, dword [ebp - 0xe0]
vcomiss xmm0, dword [0x105476b4]
jbe 0x101aa47a
mov edx, dword [ebp - 0xb8]
vmovss xmm0, dword [edx + 0xf8]
vcomiss xmm0, dword [0x10547394]
ja 0x101aa465
vmovss xmm0, dword [0x105473ec]
vcomiss xmm0, dword [ebp - 0x368]
jbe 0x101aa47a
mov eax, dword [ebx + 0x18]
mov dword [eax], 0
mov dword [ebp - 0x18], 0
jmp 0x101aa657
cmp dword [ebp - 0x18], 0
jne 0x101aa48e
mov ecx, dword [ebx + 0x18]
mov dword [ecx], 0
jmp 0x101aa657
mov edx, dword [0x108c264c]
mov dword [ebp - 0x168], edx
lea eax, [ebp - 0x370]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x168]
mov dword [ecx], edx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x370]
mov eax, dword [edx]
mov dword [ebp - 0x374], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x374]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x378]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x168]
call dword [ebp - 0x384]
fstp dword [ebp - 0x388]
vmovss xmm0, dword [ebp - 0x388]
vmovss dword [ebp - 0x3e8], xmm0
mov ecx, dword [0x108c2644]
mov dword [ebp - 0x148], ecx
lea edx, [ebp - 0x390]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x390]
mov edx, dword [ecx]
mov dword [ebp - 0x394], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x394]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], edx
mov ecx, dword [ebp - 0x148]
call dword [ebp - 0x3a4]
fstp dword [ebp - 0x3a8]
vmovss xmm0, dword [ebp - 0x3a8]
vmovss dword [ebp - 0x3b0], xmm0
push ecx
vmovss xmm0, dword [ebp - 0x3e8]
vmovss dword [esp], xmm0
push ecx
vmovss xmm0, dword [ebp - 0x3b0]
vmovss dword [esp], xmm0
push ecx
vmovss xmm0, dword [ebp - 0x3b4]
vmovss dword [esp], xmm0
mov eax, dword [ebx + 0x14]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebx + 0xc]
push edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov ecx, dword [ebp - 0x11c]
call fcn.101ab7b0
movzx eax, al
test eax, eax
jne 0x101aa644
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebp - 0x18]
mov dword [ecx], edx
jmp 0x101aa657
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov edx, dword [ebx + 0x10]
mov byte [edx], 0
jmp 0x101a94e6
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101906c0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x30