Function at 0x102c4470
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103baab0
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1f48
call fcn.102965a0
mov eax, dword [0x106a6100]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1dfc], ecx
mov dword [ebp - 0x18c4], 0
mov ecx, 0x10a21b93
call fcn.103a4800
mov eax, dword [0x109f27f8]
mov dword [ebp - 0x198c], eax
lea ecx, [ebp - 0x1d44]
mov dword [ebp - 0x1974], ecx
mov edx, dword [ebp - 0x1974]
mov eax, dword [ebp - 0x198c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1bbc], ecx
mov edx, dword [ebp - 0x1bbc]
mov dword [ebp - 0x1edc], edx
mov eax, dword [ebp - 0x1d44]
mov ecx, dword [eax]
mov dword [ebp - 0x1d68], ecx
mov edx, 3
shl edx, 2
mov eax, dword [ebp - 0x1d68]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1d6c], ecx
mov edx, dword [ebp - 0x1d6c]
mov dword [ebp - 0x1d70], edx
mov eax, dword [ebp - 0x1d70]
mov dword [ebp - 0x1d74], eax
mov ecx, dword [ebp - 0x1d74]
mov dword [ebp - 0x1d94], ecx
mov edx, dword [ebx + 8]
push edx
mov ecx, dword [ebp - 0x198c]
call dword [ebp - 0x1d94]
mov dword [ebp - 0x1e48], eax
mov eax, dword [ebp - 0x1e48]
mov dword [ebp - 0x18c8], eax
cmp dword [ebp - 0x18c8], 0
jne 0x102c4585
xor al, al
jmp 0x102c6891
cmp dword [ebp - 0x18c8], 0
jne 0x102c459a
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
lea ecx, [ebp - 0x1e50]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [ebp - 0x18c8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x199c]
mov dword [ebp - 0x1e4c], ecx
mov edx, dword [ebp - 0x1e4c]
mov dword [ebp - 0x1ee0], edx
mov eax, dword [ebp - 0x1e50]
mov ecx, dword [eax]
mov dword [ebp - 0x1e54], ecx
mov edx, 0x98
shl edx, 2
mov eax, dword [ebp - 0x1e54]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1e58], ecx
mov edx, dword [ebp - 0x1e58]
mov dword [ebp - 0x1e7c], edx
mov eax, dword [ebp - 0x1e7c]
mov dword [ebp - 0x1e80], eax
mov ecx, dword [ebp - 0x1e80]
mov dword [ebp - 0x1e84], ecx
mov ecx, dword [ebp - 0x18c8]
call dword [ebp - 0x1e84]
mov byte [ebp - 0x18cc], al
movzx edx, byte [ebp - 0x18cc]
test edx, edx
jne 0x102c463e
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov eax, dword [ebp - 0x18c8]
add eax, 8
mov dword [ebp - 0x1e88], eax
lea ecx, [ebp - 0x19e0]
mov dword [ebp - 0x19a0], ecx
mov edx, dword [ebp - 0x1e88]
mov eax, dword [ebp - 0x19a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1e8c], ecx
mov edx, dword [ebp - 0x1e8c]
mov dword [ebp - 0x1ee4], edx
mov eax, dword [ebp - 0x19e0]
mov ecx, dword [eax]
mov dword [ebp - 0x19e4], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [ebp - 0x19e4]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x19e8], ecx
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x19ec]
mov dword [ebp - 0x19f0], eax
mov ecx, dword [ebp - 0x19f0]
mov dword [ebp - 0x19fc], ecx
mov edx, dword [ebp - 0x18c8]
add edx, 8
mov dword [ebp - 0x19f4], edx
mov eax, dword [ebp - 0x19f4]
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
call dword [ebp - 0x19fc]
mov dword [ebp - 0x1a00], eax
cmp dword [ebp - 0x1a00], 0x40
jg 0x102c47c2
mov ecx, dword [ebp - 0x18c8]
add ecx, 8
mov dword [ebp - 0x1a04], ecx
lea edx, [ebp - 0x1a0c]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x1a04]
mov ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x19a4]
mov dword [ebp - 0x1a08], edx
mov eax, dword [ebp - 0x1a08]
mov dword [ebp - 0x1ee8], eax
mov ecx, dword [ebp - 0x1a0c]
mov edx, dword [ecx]
mov dword [ebp - 0x1a10], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1a10]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1a14], edx
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a18], eax
mov ecx, dword [ebp - 0x1a18]
mov dword [ebp - 0x1a1c], ecx
mov edx, dword [ebp - 0x1a1c]
mov dword [ebp - 0x1a28], edx
mov eax, dword [ebp - 0x18c8]
add eax, 8
mov dword [ebp - 0x1a20], eax
mov ecx, dword [ebp - 0x1a20]
mov dword [ebp - 0x1a24], ecx
mov ecx, dword [ebp - 0x1a24]
call dword [ebp - 0x1a28]
mov dword [ebp - 0x1a2c], eax
cmp dword [ebp - 0x1a2c], 0
jg 0x102c47ce
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov edx, dword [ebp - 0x18c8]
add edx, 8
mov dword [ebp - 0x1a30], edx
lea eax, [ebp - 0x1a38]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x1a30]
mov edx, dword [ebp - 0x19a8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x19a8]
mov dword [ebp - 0x1a34], eax
mov ecx, dword [ebp - 0x1a34]
mov dword [ebp - 0x1eec], ecx
mov edx, dword [ebp - 0x1a38]
mov eax, dword [edx]
mov dword [ebp - 0x1a3c], eax
mov ecx, 2
shl ecx, 2
mov edx, dword [ebp - 0x1a3c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1a40], eax
mov ecx, dword [ebp - 0x1a40]
mov dword [ebp - 0x1a44], ecx
mov edx, dword [ebp - 0x1a44]
mov dword [ebp - 0x1a48], edx
mov eax, dword [ebp - 0x1a48]
mov dword [ebp - 0x1a54], eax
mov ecx, dword [ebp - 0x18c8]
add ecx, 8
mov dword [ebp - 0x1a4c], ecx
mov edx, dword [ebp - 0x1a4c]
mov dword [ebp - 0x1a50], edx
mov ecx, dword [ebp - 0x1a50]
call dword [ebp - 0x1a54]
mov dword [ebp - 0x1a58], eax
cmp dword [ebp - 0x1a58], 0
jne 0x102c489a
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov eax, dword [0x10a105ac]
sub eax, 0x30
xor eax, 0x95641a8c
mov dword [ebp - 0x1a5c], eax
mov ecx, dword [ebp - 0x1a5c]
mov dword [ebp - 0x1a60], ecx
mov edx, dword [ebp - 0x18c8]
add edx, dword [ebp - 0x1a60]
mov dword [ebp - 0x1a64], edx
mov eax, dword [ebp - 0x1a64]
mov cl, byte [eax]
mov byte [ebp - 0x18cd], cl
cmp byte [ebp - 0x18cd], 0
jne 0x102c4938
mov edx, dword [0x10a105cc]
sub edx, 0x38
xor edx, 0x95641a94
mov dword [ebp - 0x1a68], edx
mov eax, dword [ebp - 0x1a68]
mov dword [ebp - 0x1a6c], eax
mov ecx, dword [ebp - 0x18c8]
add ecx, dword [ebp - 0x1a6c]
mov dword [ebp - 0x1a70], ecx
mov edx, dword [ebp - 0x1a70]
mov dword [ebp - 0x1a74], edx
mov eax, dword [ebp - 0x1a74]
cmp dword [eax], 0
jle 0x102c4938
mov dword [ebp - 0x19ac], 1
jmp 0x102c4942
mov dword [ebp - 0x19ac], 0
mov cl, byte [ebp - 0x19ac]
mov byte [ebp - 0x18ce], cl
movzx edx, byte [ebp - 0x18ce]
test edx, edx
jne 0x102c4965
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov eax, dword [ebp - 0x18c8]
add eax, dword [0x109f2a40]
mov dword [ebp - 0x1a78], eax
mov ecx, dword [ebp - 0x1a78]
mov dl, byte [ecx]
mov byte [ebp - 0x18cf], dl
movzx eax, byte [ebp - 0x18cf]
test eax, eax
je 0x102c499c
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov ecx, dword [0x108db454]
mov dword [ebp - 0x1a8c], ecx
mov edx, dword [0x10a1057c]
sub edx, 0x24
xor edx, 0x95641a80
mov dword [ebp - 0x1a7c], edx
mov eax, dword [ebp - 0x1a7c]
mov dword [ebp - 0x1a80], eax
mov ecx, dword [ebp - 0x18c8]
add ecx, dword [ebp - 0x1a80]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a98], edx
mov eax, dword [0x10a1057c]
sub eax, 0x24
xor eax, 0x95641a80
mov dword [ebp - 0x1a88], eax
mov ecx, dword [ebp - 0x1a88]
mov dword [ebp - 0x1a90], ecx
mov edx, dword [ebp - 0x1a8c]
add edx, dword [ebp - 0x1a90]
mov dword [ebp - 0x1a94], edx
mov eax, dword [ebp - 0x1a94]
mov dword [ebp - 0x1a9c], eax
mov ecx, dword [ebp - 0x1a98]
mov edx, dword [ebp - 0x1a9c]
mov eax, dword [ecx]
cmp eax, dword [edx]
je 0x102c4a47
mov byte [ebp - 0x18c9], 1
jmp 0x102c4af9
mov ecx, dword [0x109f28f4]
mov dword [ebp - 0x19b8], ecx
lea edx, [ebp - 0x1aa4]
mov dword [ebp - 0x19b0], edx
mov eax, dword [ebp - 0x19b0]
mov ecx, dword [ebp - 0x19b8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x1aa0], edx
mov eax, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1ef0], eax
mov ecx, dword [ebp - 0x1aa4]
mov edx, dword [ecx]
mov dword [ebp - 0x1aa8], edx
mov eax, 0xd
shl eax, 2
mov ecx, dword [ebp - 0x1aa8]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1aac], edx
mov eax, dword [ebp - 0x1aac]
mov dword [ebp - 0x1ab0], eax
mov ecx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1ab4], ecx
mov edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1ab8], edx
mov ecx, dword [ebp - 0x19b8]
call dword [ebp - 0x1ab8]
mov dword [ebp - 0x1abc], eax
cmp dword [ebp - 0x1abc], 0
je 0x102c4af2
mov byte [ebp - 0x18c9], 1
jmp 0x102c4af9
mov byte [ebp - 0x18c9], 0
movzx eax, byte [ebp - 0x18c9]
test eax, eax
jne 0x102c4b10
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov ecx, dword [ebp - 0x18c8]
add ecx, 8
mov dword [ebp - 0x1ac0], ecx
lea edx, [ebp - 0x1ac8]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x1ac0]
mov ecx, dword [ebp - 0x19bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x1ac4], edx
mov eax, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1ef4], eax
mov ecx, dword [ebp - 0x1ac8]
mov edx, dword [ecx]
mov dword [ebp - 0x1acc], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1acc]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1ad0], edx
mov eax, dword [ebp - 0x1ad0]
mov dword [ebp - 0x1ad4], eax
mov ecx, dword [ebp - 0x1ad4]
mov dword [ebp - 0x1ad8], ecx
mov edx, dword [ebp - 0x1ad8]
mov dword [ebp - 0x1ae4], edx
mov eax, dword [ebp - 0x18c8]
add eax, 8
mov dword [ebp - 0x1adc], eax
mov ecx, dword [ebp - 0x1adc]
mov dword [ebp - 0x1ae0], ecx
mov ecx, dword [ebp - 0x1ae0]
call dword [ebp - 0x1ae4]
mov byte [ebp - 0x18d0], al
movzx edx, byte [ebp - 0x18d0]
test edx, edx
je 0x102c4bdb
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov eax, dword [0x10a105fc]
sub eax, 0x44
xor eax, 0x95641aa0
mov dword [ebp - 0x1ae8], eax
mov ecx, dword [ebp - 0x1ae8]
mov dword [ebp - 0x1aec], ecx
mov edx, dword [ebp - 0x18c8]
add edx, dword [ebp - 0x1aec]
mov dword [ebp - 0x1af0], edx
mov eax, dword [ebp - 0x1af0]
mov dword [ebp - 0x1af4], eax
mov ecx, dword [ebp - 0x1af4]
vmovss xmm0, dword [ecx]
vucomiss xmm0, dword [0x10686c70]
lahf
test ah, 0x44
jnp 0x102c4c39
mov byte [ebp - 0x18bd], 0
jmp 0x102c4c40
mov byte [ebp - 0x18bd], 1
movzx edx, byte [ebp - 0x18bd]
test edx, edx
jne 0x102c4c52
xor al, al
jmp 0x102c6891
mov eax, dword [ebx + 8]
sub eax, 1
push eax
mov ecx, 0x106b1f5c
call fcn.100600e0
mov dword [ebp - 0x18ec], eax
cmp dword [ebp - 0x18ec], 0
je 0x102c4cc5
mov ecx, dword [ebp - 0x18ec]
mov dword [ebp - 0x1af8], ecx
mov edx, dword [ebp - 0x1af8]
add edx, 0x10
mov dword [ebp - 0x1afc], edx
mov eax, dword [ebp - 0x1afc]
cmp dword [eax], 0
jne 0x102c4ca4
mov dword [ebp - 0x19c0], 1
jmp 0x102c4cae
mov dword [ebp - 0x19c0], 0
mov cl, byte [ebp - 0x19c0]
mov byte [ebp - 0x18d1], cl
movzx edx, byte [ebp - 0x18d1]
test edx, edx
je 0x102c4ccc
xor al, al
jmp 0x102c6891
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x1b00], eax
mov ecx, dword [ebp - 0x1b00]
add ecx, 0x10
mov dword [ebp - 0x1b04], ecx
mov edx, dword [ebp - 0x1b04]
mov eax, dword [edx]
mov dword [ebp - 0x1b08], eax
cmp dword [ebp - 0x1b08], 2
jb 0x102c4d2e
mov ecx, dword [ebp - 0x18ec]
call fcn.10060900
mov dword [ebp - 0x1b0c], eax
mov ecx, dword [ebp - 0x1b0c]
mov edx, dword [ecx]
mov dword [ebp - 0x1b10], edx
mov eax, dword [ebp - 0x1b10]
movzx ecx, byte [eax + 0x3410]
test ecx, ecx
je 0x102c4d35
xor al, al
jmp 0x102c6891
mov edx, dword [0x109f27f4]
mov dword [ebp - 0x19c8], edx
lea eax, [ebp - 0x1b18]
mov dword [ebp - 0x19c4], eax
mov ecx, dword [ebp - 0x19c4]
mov edx, dword [ebp - 0x19c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x19c4]
mov dword [ebp - 0x1b14], eax
mov ecx, dword [ebp - 0x1b14]
mov dword [ebp - 0x1ef8], ecx
mov edx, dword [ebp - 0x1b18]
mov eax, dword [edx]
mov dword [ebp - 0x1b1c], eax
mov ecx, 0x4e
shl ecx, 2
mov edx, dword [ebp - 0x1b1c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1b20], eax
mov ecx, dword [ebp - 0x1b20]
mov dword [ebp - 0x1b24], ecx
mov edx, dword [ebp - 0x1b24]
mov dword [ebp - 0x1b28], edx
mov eax, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b2c], eax
mov ecx, dword [ebp - 0x19c8]
call dword [ebp - 0x1b2c]
mov dword [ebp - 0x1b30], eax
mov ecx, dword [ebp - 0x1b30]
mov dword [ebp - 0x1900], ecx
cmp dword [ebp - 0x1900], 0
jne 0x102c4dea
xor al, al
jmp 0x102c6891
mov edx, dword [0x10a199ec]
and edx, 1
jne 0x102c4f8b
mov eax, dword [0x10a199ec]
or eax, 1
mov dword [0x10a199ec], eax
xor ecx, ecx
mov byte [ebp - 0x190d], cl
mov dword [ebp - 0x1efc], 0x8c8dc452
mov dword [ebp - 0x1b34], 0x8c8dc452
mov edx, dword [ebp - 0x1b34]
mov dword [ebp - 0x1b48], edx
mov eax, dword [0x109f27f0]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1b38], ecx
mov edx, dword [ebp - 0x1b38]
mov dword [ebp - 0x19cc], edx
cmp dword [ebp - 0x19cc], 0
jne 0x102c4e60
mov dword [ebp - 0x1940], 0
jmp 0x102c4f7f
mov eax, dword [ebp - 0x19cc]
mov dword [ebp - 0x18fc], eax
jmp 0x102c4e7d
mov ecx, dword [ebp - 0x18fc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x18fc], edx
cmp dword [ebp - 0x18fc], 0
je 0x102c4f75
mov eax, dword [ebp - 0x18fc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x1944], 0x811c9dc5
mov dword [ebp - 0x18f4], 0
mov edx, dword [ebp - 0x18f4]
add edx, 1
mov dword [ebp - 0x18f4], edx
mov eax, dword [ebp - 0x19d0]
add eax, dword [ebp - 0x18f4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x102c4ed1
jmp 0x102c4ead
xor edx, edx
je 0x102c4ee4
mov eax, dword [ebp - 0x18f4]
add eax, 1
mov dword [ebp - 0x18f4], eax
mov ecx, dword [ebp - 0x18f4]
mov dword [ebp - 0x1b3c], ecx
mov edx, dword [ebp - 0x1b3c]
mov dword [ebp - 0x1b40], edx
mov dword [ebp - 0x190c], 0
jmp 0x102c4f17
mov eax, dword [ebp - 0x190c]
add eax, 1
mov dword [ebp - 0x190c], eax
mov ecx, dword [ebp - 0x190c]
cmp ecx, dword [ebp - 0x1b40]
jae 0x102c4f48
mov edx, dword [ebp - 0x19d0]
add edx, dword [ebp - 0x190c]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x1944]
imul ecx, eax, 0x1000193
mov dword [ebp - 0x1944], ecx
jmp 0x102c4f08
mov edx, dword [ebp - 0x1944]
mov dword [ebp - 0x1b44], edx
mov eax, dword [ebp - 0x1b44]
cmp eax, dword [ebp - 0x1b48]
jne 0x102c4f70
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1940], ecx
jmp 0x102c4f7f
jmp 0x102c4e6e
mov dword [ebp - 0x1940], 0
mov edx, dword [ebp - 0x1940]
mov dword [0x10a199f4], edx
cmp dword [0x10a199f4], 0
je 0x102c5040
mov eax, dword [0x10a199f4]
mov dword [ebp - 0x19d8], eax
lea ecx, [ebp - 0x1b50]
mov dword [ebp - 0x19d4], ecx
mov edx, dword [ebp - 0x19d4]
mov eax, dword [ebp - 0x19d8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x19d4]
mov dword [ebp - 0x1b4c], ecx
mov edx, dword [ebp - 0x1b4c]
mov dword [ebp - 0x1f00], edx
mov eax, dword [ebp - 0x1b50]
mov ecx, dword [eax]
mov dword [ebp - 0x1b54], ecx
mov edx, 0xc
shl edx, 2
mov eax, dword [ebp - 0x1b54]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1b58], ecx
mov edx, dword [ebp - 0x1b58]
mov dword [ebp - 0x1b5c], edx
mov eax, dword [ebp - 0x1b5c]
mov dword [ebp - 0x1b60], eax
mov ecx, dword [ebp - 0x1b60]
mov dword [ebp - 0x1b64], ecx
mov ecx, dword [ebp - 0x19d8]
call dword [ebp - 0x1b64]
fstp dword [ebp - 0x1b68]
vmovss xmm0, dword [ebp - 0x1b68]
vmovss dword [0x106a6e10], xmm0
lea edx, [ebp - 0x1b70]
mov dword [ebp - 0x194c], edx
mov eax, dword [ebp - 0x194c]
mov ecx, dword [ebp - 0x1900]
mov dword [eax], ecx
mov edx, dword [ebp - 0x194c]
mov dword [ebp - 0x1b6c], edx
mov eax, dword [ebp - 0x1b6c]
mov dword [ebp - 0x1f04], eax
mov ecx, dword [ebp - 0x1b70]
mov edx, dword [ecx]
mov dword [ebp - 0x1b74], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [ebp - 0x1b74]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1b78], edx
mov eax, dword [ebp - 0x1b78]
mov dword [ebp - 0x1b7c], eax
mov ecx, dword [ebp - 0x1b7c]
mov dword [ebp - 0x1b80], ecx
mov edx, dword [ebp - 0x1b80]
mov dword [ebp - 0x1b84], edx
push 0
mov ecx, dword [ebp - 0x1900]
call dword [ebp - 0x1b84]
fstp dword [ebp - 0x1ba4]
lea eax, [ebp - 0x1b8c]
mov dword [ebp - 0x1950], eax
mov ecx, dword [ebp - 0x1950]
mov edx, dword [ebp - 0x1900]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1950]
mov dword [ebp - 0x1b88], eax
mov ecx, dword [ebp - 0x1b88]
mov dword [ebp - 0x1f08], ecx
mov edx, dword [ebp - 0x1b8c]
mov eax, dword [edx]
mov dword [ebp - 0x1b90], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x1b90]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1b94], eax
mov ecx, dword [ebp - 0x1b94]
mov dword [ebp - 0x1b98], ecx
mov edx, dword [ebp - 0x1b98]
mov dword [ebp - 0x1b9c], edx
mov eax, dword [ebp - 0x1b9c]
mov dword [ebp - 0x1ba0], eax
push 1
mov ecx, dword [ebp - 0x1900]
call dword [ebp - 0x1ba0]
fstp dword [ebp - 0x1ba8]
vmovss xmm0, dword [ebp - 0x1ba4]
vaddss xmm0, xmm0, dword [ebp - 0x1ba8]
vmovss dword [ebp - 0x1bac], xmm0
vmovss xmm0, dword [ebp - 0x1bac]
vaddss xmm0, xmm0, dword [0x108dceec]
vmovss dword [ebp - 0x1f3c], xmm0
mov ecx, dword [ebp - 0x18ec]
mov dword [ebp - 0x1bb0], ecx
lea edx, [ebp - 0x1830]
push edx
mov ecx, dword [ebp - 0x1bb0]
call fcn.10090e10
mov dword [ebp - 4], 0
jmp 0x102c51c1
lea ecx, [ebp - 0x1830]
call fcn.10091810
nop
mov eax, dword [ebp - 0x18ec]
mov dword [ebp - 0x1bb4], eax
lea ecx, [ebp - 0x1f48]
push ecx
mov ecx, dword [ebp - 0x1bb4]
call fcn.10090d60
mov dword [ebp - 0x1bb8], eax
mov edx, dword [ebp - 0x1bb8]
push edx
lea ecx, [ebp - 0x1830]
call fcn.1008f2a0
mov byte [ebp - 0x18d2], al
push 3
lea ecx, [ebp - 0x1874]
call fcn.101b24a0
lea ecx, [ebp - 0x1f48]
call fcn.100539d0
lea ecx, [ebp - 0x1874]
call fcn.101b2590
nop
movzx eax, byte [ebp - 0x18d2]
test eax, eax
je 0x102c687c
mov dword [ebp - 0x18bc], 0
mov dword [ebp - 0x18b8], 0
lea ecx, [ebp - 0x1830]
call fcn.10092600
mov dword [ebp - 0x1bc0], eax
mov ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1bc4], ecx
mov edx, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1bc8], edx
mov eax, dword [ebp - 0x1bc8]
mov dword [ebp - 0x1bcc], eax
mov ecx, dword [ebp - 0x1bcc]
mov edx, dword [ecx]
mov dword [ebp - 0x1c64], edx
mov eax, dword [0x109f27f4]
mov dword [ebp - 0x1958], eax
lea ecx, [ebp - 0x1bd4]
mov dword [ebp - 0x1954], ecx
mov edx, dword [ebp - 0x1954]
mov eax, dword [ebp - 0x1958]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1954]
mov dword [ebp - 0x1bd0], ecx
mov edx, dword [ebp - 0x1bd0]
mov dword [ebp - 0x1eb8], edx
mov eax, dword [ebp - 0x1bd4]
mov ecx, dword [eax]
mov dword [ebp - 0x1bd8], ecx
mov edx, 0x4e
shl edx, 2
mov eax, dword [ebp - 0x1bd8]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1bdc], ecx
mov edx, dword [ebp - 0x1bdc]
mov dword [ebp - 0x1be0], edx
mov eax, dword [ebp - 0x1be0]
mov dword [ebp - 0x1be4], eax
mov ecx, dword [ebp - 0x1be4]
mov dword [ebp - 0x1be8], ecx
mov ecx, dword [ebp - 0x1958]
call dword [ebp - 0x1be8]
mov dword [ebp - 0x1bec], eax
mov edx, dword [ebp - 0x1bec]
mov dword [ebp - 0x1904], edx
cmp dword [ebp - 0x1904], 0
jne 0x102c5340
mov byte [ebp - 0x18ca], 0
jmp 0x102c5636
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x181c], xmm0
lea eax, [ebp - 0x1bf4]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ebp - 0x1904]
mov dword [ecx], edx
mov eax, dword [ebp - 0x195c]
mov dword [ebp - 0x1bf0], eax
mov ecx, dword [ebp - 0x1bf0]
mov dword [ebp - 0x1ebc], ecx
mov edx, dword [ebp - 0x1bf4]
mov eax, dword [edx]
mov dword [ebp - 0x1bf8], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [ebp - 0x1bf8]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1bfc], eax
mov ecx, dword [ebp - 0x1bfc]
mov dword [ebp - 0x1c00], ecx
mov edx, dword [ebp - 0x1c00]
mov dword [ebp - 0x1c04], edx
mov eax, dword [ebp - 0x1c04]
mov dword [ebp - 0x1c08], eax
push 0
mov ecx, dword [ebp - 0x1904]
call dword [ebp - 0x1c08]
fstp dword [ebp - 0x1c28]
lea ecx, [ebp - 0x1c10]
mov dword [ebp - 0x1960], ecx
mov edx, dword [ebp - 0x1960]
mov eax, dword [ebp - 0x1904]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1960]
mov dword [ebp - 0x1c0c], ecx
mov edx, dword [ebp - 0x1c0c]
mov dword [ebp - 0x1ec0], edx
mov eax, dword [ebp - 0x1c10]
mov ecx, dword [eax]
mov dword [ebp - 0x1c14], ecx
mov edx, 9
shl edx, 2
mov eax, dword [ebp - 0x1c14]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x1c18], ecx
mov edx, dword [ebp - 0x1c18]
mov dword [ebp - 0x1c1c], edx
mov eax, dword [ebp - 0x1c1c]
mov dword [ebp - 0x1c20], eax
mov ecx, dword [ebp - 0x1c20]
mov dword [ebp - 0x1c24], ecx
push 1
mov ecx, dword [ebp - 0x1904]
call dword [ebp - 0x1c24]
fstp dword [ebp - 0x1c2c]
vmovss xmm0, dword [ebp - 0x1c28]
vaddss xmm0, xmm0, dword [ebp - 0x1c2c]
vmovss dword [ebp - 0x1c34], xmm0
vmovss xmm0, dword [ebp - 0x181c]
vmovss dword [ebp - 0x1c30], xmm0
vmovss xmm0, dword [ebp - 0x1c30]
vaddss xmm0, xmm0, dword [ebp - 0x1c34]
vmovss dword [ebp - 0x181c], xmm0
vmovss xmm0, dword [ebp - 0x181c]
vaddss xmm0, xmm0, dword [0x108dceec]
vmovss dword [ebp - 0x181c], xmm0
mov edx, dword [0x109f28b8]
mov dword [ebp - 0x1968], edx
lea eax, [ebp - 0x1c3c]
mov dword [ebp - 0x1964], eax
mov ecx, dword [ebp - 0x1964]
mov edx, dword [ebp - 0x1968]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1964]
mov dword [ebp - 0x1c38], eax
mov ecx, dword [ebp - 0x1c38]
mov dword [ebp - 0x1ec4], ecx
mov edx, dword [ebp - 0x1c3c]
mov eax, dword [edx]
mov dword [ebp - 0x1c40], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x1c40]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1c44], eax
mov ecx, dword [ebp - 0x1c44]
mov dword [ebp - 0x1c48], ecx
mov edx, dword [ebp - 0x1c48]
mov dword [ebp - 0x1c4c], edx
mov eax, dword [ebp - 0x1c4c]
mov dword [ebp - 0x1c50], eax
mov ecx, dword [ebp - 0x1968]
call dword [ebp - 0x1c50]
fstp dword [ebp - 0x1c54]
vmovss xmm0, dword [ebp - 0x1c54]
vmovss dword [ebp - 0x1c58], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1c5c], xmm0
xor ecx, ecx
mov byte [ebp - 0x18d3], cl
movzx edx, byte [ebp - 0x18d3]
push edx
lea eax, [ebp - 0x1c58]
push eax
lea ecx, [ebp - 0x1c5c]
push ecx
lea edx, [ebp - 0x181c]
push edx
call fcn.10072b50
add esp, 0x10
mov dword [ebp - 0x1c60], eax
mov eax, dword [ebp - 0x1c60]
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x181c], xmm0
mov ecx, dword [0x109f2854]
mov edx, dword [ebp - 0x1c64]
vmovss xmm0, dword [ecx + 0x10]
vsubss xmm0, xmm0, dword [edx + 0x24]
vmovss xmm1, dword [ebp - 0x181c]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1c68], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x1c68]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.1020dea0
add esp, 8
fstp dword [ebp - 0x1c6c]
vmovss xmm0, dword [ebp - 0x1c6c]
vmovss dword [ebp - 0x1c70], xmm0
vmovss xmm0, dword [ebp - 0x1c70]
vcomiss xmm0, dword [0x10686cf0]
jbe 0x102c562f
mov byte [ebp - 0x18ca], 0
jmp 0x102c5636
mov byte [ebp - 0x18ca], 1
movzx eax, byte [ebp - 0x18ca]
test eax, eax
je 0x102c5ce0
lea ecx, [ebp - 0x1830]
push ecx
lea ecx, [ebp - 0x18b4]
call fcn.1008f0a0
push 1
lea ecx, [ebp - 0x18b4]
call fcn.100924d0
nop
lea edx, [ebp - 0x18b4]
push edx
lea ecx, [ebp - 0x1f2c]
call fcn.10091200
lea ecx, [ebp - 0x18b4]
call fcn.1008f020
lea eax, [ebp - 0x1f2c]
mov dword [ebp - 0x1c74], eax
mov ecx, dword [ebp - 0x1c74]
mov dword [ebp - 0x1c78], ecx
mov edx, dword [ebp - 0x1c78]
mov dword [ebp - 0x1c7c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18c4]
or eax, 1
mov dword [ebp - 0x18c4], eax
mov ecx, dword [ebp - 0x1c7c]
mov dword [ebp - 0x196c], ecx
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x1c80], edx
lea eax, [ebp - 0x1f54]
push eax
mov ecx, dword [ebp - 0x1c80]
call fcn.10090d60
mov dword [ebp - 0x1c84], eax
mov ecx, dword [ebp - 0x1c84]
mov dword [ebp - 0x1c88], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x18c4]
or edx, 2
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x1c88]
mov dword [ebp - 0x1970], eax
mov ecx, dword [ebp - 0x1970]
push ecx
mov ecx, dword [ebp - 0x196c]
call fcn.10092410
mov edx, dword [ebp - 0x196c]
mov eax, dword [ebp - 0x1970]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax + 8]
jne 0x102c5749
mov dword [ebp - 0x19dc], 1
jmp 0x102c5753
mov dword [ebp - 0x19dc], 0
mov dl, byte [ebp - 0x19dc]
mov byte [ebp - 0x18d4], dl
movzx eax, byte [ebp - 0x18d4]
test eax, eax
jne 0x102c5776
mov dword [ebp - 0x1978], 1
jmp 0x102c5780
mov dword [ebp - 0x1978], 0
mov cl, byte [ebp - 0x1978]
mov byte [ebp - 0x18e5], cl
movzx edx, byte [ebp - 0x18e5]
test edx, edx
je 0x102c5ce0
lea eax, [ebp - 0x1830]
push eax
lea ecx, [ebp - 0x18a8]
call fcn.1008f0a0
push 1
lea ecx, [ebp - 0x18a8]
call fcn.100924d0
nop
lea ecx, [ebp - 0x18a8]
push ecx
lea ecx, [ebp - 0x1f20]
call fcn.10091200
lea ecx, [ebp - 0x18a8]
call fcn.1008f020
lea edx, [ebp - 0x1f20]
mov dword [ebp - 0x1c8c], edx
mov eax, dword [ebp - 0x1c8c]
mov dword [ebp - 0x1c90], eax
mov ecx, dword [ebp - 0x1c90]
mov dword [ebp - 0x1c94], ecx
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x18c4]
or edx, 4
mov dword [ebp - 0x18c4], edx
mov ecx, dword [ebp - 0x1c94]
call fcn.10092600
mov dword [ebp - 0x1c98], eax
mov eax, dword [ebp - 0x1c98]
mov dword [ebp - 0x1c9c], eax
mov ecx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1ca0], ecx
mov edx, dword [ebp - 0x1ca0]
mov dword [ebp - 0x1ca4], edx
mov eax, dword [ebp - 0x1ca4]
mov ecx, dword [eax]
mov dword [ebp - 0x1d3c], ecx
mov edx, dword [0x109f27f4]
mov dword [ebp - 0x1980], edx
lea eax, [ebp - 0x1cac]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ebp - 0x1980]
mov dword [ecx], edx
mov eax, dword [ebp - 0x197c]
mov dword [ebp - 0x1ca8], eax
mov ecx, dword [ebp - 0x1ca8]
mov dword [ebp - 0x1ec8], ecx
mov edx, dword [ebp - 0x1cac]
mov eax, dword [edx]
mov dword [ebp - 0x1cb0], eax
mov ecx, 0x4e
shl ecx, 2
mov edx, dword [ebp - 0x1cb0]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1cb4], eax
mov ecx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1cb8], ecx
mov edx, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1cbc], edx
mov eax, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1cc0], eax
mov ecx, dword [ebp - 0x1980]
call dword [ebp - 0x1cc0]
mov dword [ebp - 0x1cc4], eax
mov ecx, dword [ebp - 0x1cc4]
mov dword [ebp - 0x1908], ecx
cmp dword [ebp - 0x1908], 0
jne 0x102c590f
mov byte [ebp - 0x18cb], 0
jmp 0x102c5c04
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1820], xmm0
lea edx, [ebp - 0x1ccc]
mov dword [ebp - 0x1984], edx
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x1908]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1984]
mov dword [ebp - 0x1cc8], edx
mov eax, dword [ebp - 0x1cc8]
mov dword [ebp - 0x1ecc], eax
mov ecx, dword [ebp - 0x1ccc]
mov edx, dword [ecx]
mov dword [ebp - 0x1cd0], edx
mov eax, 9
shl eax, 2
mov ecx, dword [ebp - 0x1cd0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1cd4], edx
mov eax, dword [ebp - 0x1cd4]
mov dword [ebp - 0x1cd8], eax
mov ecx, dword [ebp - 0x1cd8]
mov dword [ebp - 0x1cdc], ecx
mov edx, dword [ebp - 0x1cdc]
mov dword [ebp - 0x1ce0], edx
push 0
mov ecx, dword [ebp - 0x1908]
call dword [ebp - 0x1ce0]
fstp dword [ebp - 0x1d00]
lea eax, [ebp - 0x1ce8]
mov dword [ebp - 0x1988], eax
mov ecx, dword [ebp - 0x1988]
mov edx, dword [ebp - 0x1908]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1988]
mov dword [ebp - 0x1ce4], eax
mov ecx, dword [ebp - 0x1ce4]
mov dword [ebp - 0x1ed0], ecx
mov edx, dword [ebp - 0x1ce8]
mov eax, dword [edx]
mov dword [ebp - 0x1cec], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [ebp - 0x1cec]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1cf0], eax
mov ecx, dword [ebp - 0x1cf0]
mov dword [ebp - 0x1cf4], ecx
mov edx, dword [ebp - 0x1cf4]
mov dword [ebp - 0x1cf8], edx
mov eax, dword [ebp - 0x1cf8]
mov dword [ebp - 0x1cfc], eax
push 1
mov ecx, dword [ebp - 0x1908]
call dword [ebp - 0x1cfc]
fstp dword [ebp - 0x1d04]
vmovss xmm0, dword [ebp - 0x1d00]
vaddss xmm0, xmm0, dword [ebp - 0x1d04]
vmovss dword [ebp - 0x1d0c], xmm0
vmovss xmm0, dword [ebp - 0x1820]
vmovss dword [ebp - 0x1d08], xmm0
vmovss xmm0, dword [ebp - 0x1d08]
vaddss xmm0, xmm0, dword [ebp - 0x1d0c]
vmovss dword [ebp - 0x1820], xmm0
vmovss xmm0, dword [ebp - 0x1820]
vaddss xmm0, xmm0, dword [0x108dceec]
vmovss dword [ebp - 0x1820], xmm0
mov ecx, dword [0x109f28b8]
mov dword [ebp - 0x1990], ecx
lea edx, [ebp - 0x1d14]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov ecx, dword [ebp - 0x1990]
mov dword [eax], ecx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x1d10], edx
mov eax, dword [ebp - 0x1d10]
mov dword [ebp - 0x1ed4], eax
mov ecx, dword [ebp - 0x1d14]
mov edx, dword [ecx]
mov dword [ebp - 0x1d18], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x1d18]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x1d1c], edx
mov eax, dword [ebp - 0x1d1c]
mov dword [ebp - 0x1d20], eax
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x1d24], ecx
mov edx, dword [ebp - 0x1d24]
mov dword [ebp - 0x1d28], edx
mov ecx, dword [ebp - 0x1990]
call dword [ebp - 0x1d28]
fstp dword [ebp - 0x1d2c]
vmovss xmm0, dword [ebp - 0x1d2c]
vmovss dword [ebp - 0x1d30], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1d34], xmm0
xor eax, eax
mov byte [ebp - 0x18d5], al
movzx ecx, byte [ebp - 0x18d5]
push ecx
lea edx, [ebp - 0x1d30]
push edx
lea eax, [ebp - 0x1d34]
push eax
lea ecx, [ebp - 0x1820]
push ecx
call fcn.10072b50
add esp, 0x10
mov dword [ebp - 0x1d38], eax
mov edx, dword [ebp - 0x1d38]
vmovss xmm0, dword [edx]
vmovss dword [ebp - 0x1820], xmm0
mov eax, dword [0x109f2854]
mov ecx, dword [ebp - 0x1d3c]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [ecx + 0x24]
vmovss xmm1, dword [ebp - 0x1820]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1d40], xmm0
vcvtss2sd xmm0, xmm0, dword [ebp - 0x1d40]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.1020dea0
add esp, 8
fstp dword [ebp - 0x1e1c]
vmovss xmm0, dword [ebp - 0x1e1c]
vmovss dword [ebp - 0x1d48], xmm0
vmovss xmm0, dword [ebp - 0x1d48]
vcomiss xmm0, dword [0x10686cf0]
jbe 0x102c5bfd
mov byte [ebp - 0x18cb], 0
jmp 0x102c5c04
mov byte [ebp - 0x18cb], 1
movzx edx, byte [ebp - 0x18cb]
test edx, edx
jne 0x102c5ce0
lea eax, [ebp - 0x1830]
push eax
lea ecx, [ebp - 0x189c]
call fcn.1008f0a0
push 1
lea ecx, [ebp - 0x189c]
call fcn.100924d0
nop
lea ecx, [ebp - 0x189c]
push ecx
lea ecx, [ebp - 0x1f14]
call fcn.10091200
lea ecx, [ebp - 0x189c]
call fcn.1008f020
lea edx, [ebp - 0x1f14]
mov dword [ebp - 0x1d4c], edx
mov eax, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], eax
mov ecx, dword [ebp - 0x18c4]
or ecx, 8
mov dword [ebp - 0x18c4], ecx
mov ecx, dword [ebp - 0x1d50]
call fcn.10092600
mov dword [ebp - 0x1d54], eax
mov edx, dword [ebp - 0x1d54]
mov dword [ebp - 0x1d58], edx
mov eax, dword [ebp - 0x1d58]
mov dword [ebp - 0x1d5c], eax
mov ecx, dword [ebp - 0x1d5c]
mov dword [ebp - 0x1d60], ecx
mov edx, dword [ebp - 0x1d60]
mov eax, dword [edx]
mov dword [ebp - 0x1d64], eax
mov ecx, dword [ebp - 0x1d64]
mov dl, byte [ecx + 0x14]
mov byte [ebp - 0x18d6], dl
movzx eax, byte [ebp - 0x18d6]
test eax, eax
jne 0x102c5ce0
mov dword [ebp - 0x1994], 1
jmp 0x102c5cea
mov dword [ebp - 0x1994], 0
mov cl, byte [ebp - 0x1994]
mov byte [ebp - 0x18d7], cl
mov edx, dword [ebp - 0x18c4]
and edx, 8
je 0x102c5d2c
and dword [ebp - 0x18c4], 0xfffffff7
push 3
lea ecx, [ebp - 0x1870]
call fcn.101b24a0
lea ecx, [ebp - 0x1f14]
call fcn.100539d0
lea ecx, [ebp - 0x1870]
call fcn.101b2590
nop
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x18c4]
and eax, 4
je 0x102c5d69
and dword [ebp - 0x18c4], 0xfffffffb
push 3
lea ecx, [ebp - 0x1878]
call fcn.101b24a0
lea ecx, [ebp - 0x1f20]
call fcn.100539d0
lea ecx, [ebp - 0x1878]
call fcn.101b2590
nop
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x18c4]
and ecx, 2
je 0x102c5da6
and dword [ebp - 0x18c4], 0xfffffffd
push 3
lea ecx, [ebp - 0x186c]
call fcn.101b24a0
lea ecx, [ebp - 0x1f54]
call fcn.100539d0
lea ecx, [ebp - 0x186c]
call fcn.101b2590
nop
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x18c4]
and edx, 1
je 0x102c5de3
and dword [ebp - 0x18c4], 0xfffffffe
push 3
lea ecx, [ebp - 0x1868]
call fcn.101b24a0
lea ecx, [ebp - 0x1f2c]
call fcn.100539d0
lea ecx, [ebp - 0x1868]
call fcn.101b2590
nop
movzx eax, byte [ebp - 0x18d7]
test eax, eax
je 0x102c5f0a
lea ecx, [ebp - 0x1830]
push ecx
lea ecx, [ebp - 0x1890]
call fcn.1008f0e0
nop
push 1
lea ecx, [ebp - 0x1890]
call fcn.100924d0
nop
lea edx, [ebp - 0x1890]
push edx
lea ecx, [ebp - 0x1f38]
call fcn.10091200
lea ecx, [ebp - 0x1890]
call fcn.1008f020
lea eax, [ebp - 0x1f38]
mov dword [ebp - 0x1d78], eax
mov ecx, dword [ebp - 0x1d78]
mov dword [ebp - 0x1d7c], ecx
mov ecx, dword [ebp - 0x1d7c]
call fcn.10092600
mov dword [ebp - 0x1d80], eax
mov edx, dword [ebp - 0x1d80]
mov dword [ebp - 0x1d84], edx
mov eax, dword [ebp - 0x1d84]
mov dword [ebp - 0x1d88], eax
mov ecx, dword [ebp - 0x1d88]
mov dword [ebp - 0x1d8c], ecx
mov edx, dword [ebp - 0x1d8c]
mov eax, dword [edx]
mov dword [ebp - 0x1d90], eax
mov ecx, dword [ebp - 0x1d90]
mov dword [ebp - 0x18bc], ecx
push 3
lea ecx, [ebp - 0x1864]
call fcn.101b24a0
lea ecx, [ebp - 0x1f38]
call fcn.100539d0
lea ecx, [ebp - 0x1864]
call fcn.101b2590
nop
lea ecx, [ebp - 0x1830]
call fcn.10092600
mov dword [ebp - 0x1d98], eax
mov edx, dword [ebp - 0x1d98]
mov dword [ebp - 0x1d9c], edx
mov eax, dword [ebp - 0x1d9c]
mov dword [ebp - 0x1da0], eax
mov ecx, dword [ebp - 0x1da0]
mov dword [ebp - 0x1da4], ecx
mov edx, dword [ebp - 0x1da4]
mov eax, dword [edx]
mov dword [ebp - 0x1da8], eax
mov ecx, dword [ebp - 0x1da8]
mov dword [ebp - 0x18b8], ecx
cmp dword [ebp - 0x18bc], 0
je 0x102c5f1c
cmp dword [ebp - 0x18b8], 0
jne 0x102c5f21
jmp 0x102c51b5
lea edx, [ebp - 0x18bc]
mov dword [ebp - 0x18e4], edx
lea eax, [ebp - 0x18b8]
mov dword [ebp - 0x18f0], eax
mov ecx, dword [ebp - 0x18f0]
cmp dword [ecx], 0
je 0x102c5f4f
mov edx, dword [ebp - 0x18e4]
cmp dword [edx], 0
jne 0x102c5f54
jmp 0x102c51b5
mov eax, dword [ebp - 0x18f0]
mov ecx, dword [eax]
add ecx, 0x34
mov edx, dword [ecx]
mov dword [ebp - 0x1854], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1850], eax
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x184c], ecx
mov edx, dword [0x109f2854]
vmovss xmm0, dword [edx + 0x10]
vmovss dword [ebp - 0x193c], xmm0
mov eax, dword [ebp - 0x18f0]
mov ecx, dword [eax]
vmovss xmm0, dword [ebp - 0x193c]
vsubss xmm0, xmm0, dword [ecx + 0x4074]
mov edx, dword [ebp - 0x18f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18e4]
mov edx, dword [ecx]
vmovss xmm1, dword [eax + 0x24]
vsubss xmm1, xmm1, dword [edx + 0x24]
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x10686d74]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1824], xmm0
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [ebp - 0x1824]
ja 0x102c5ff6
vmovss xmm0, dword [ebp - 0x1824]
vcomiss xmm0, dword [0x10686d74]
jbe 0x102c600e
mov eax, dword [ebp - 0x18f0]
mov ecx, dword [eax]
vmovss xmm0, dword [ebp - 0x193c]
vmovss dword [ecx + 0x4074], xmm0
mov edx, dword [ebp - 0x18f0]
mov eax, dword [edx]
vmovss xmm0, dword [ebp - 0x193c]
vsubss xmm0, xmm0, dword [eax + 0x4074]
mov ecx, dword [ebp - 0x18f0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x18e4]
mov ecx, dword [eax]
vmovss xmm1, dword [edx + 0x24]
vsubss xmm1, xmm1, dword [ecx + 0x24]
vdivss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x10686d74]
vsubss xmm0, xmm1, xmm0
vmovss dword [ebp - 0x1824], xmm0
vmovss xmm0, dword [0x10686d74]
vmovss dword [ebp - 0x1dac], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1db0], xmm0
xor edx, edx
mov byte [ebp - 0x18d8], dl
movzx eax, byte [ebp - 0x18d8]
push eax
lea ecx, [ebp - 0x1dac]
push ecx
lea edx, [ebp - 0x1db0]
push edx
lea eax, [ebp - 0x1824]
push eax
call fcn.10072b50
add esp, 0x10
mov dword [ebp - 0x1db4], eax
mov ecx, dword [ebp - 0x1db4]
vmovss xmm0, dword [ecx]
vmovss dword [ebp - 0x1db8], xmm0
mov edx, dword [ebp - 0x18e4]
mov eax, dword [edx]
add eax, 0x34
mov ecx, dword [eax]
mov dword [ebp - 0x1e68], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1e64], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e60], eax
mov ecx, dword [ebp - 0x1854]
mov dword [ebp - 0x1e78], ecx
mov edx, dword [ebp - 0x1850]
mov dword [ebp - 0x1e74], edx
mov eax, dword [ebp - 0x184c]
mov dword [ebp - 0x1e70], eax
push ecx
vmovss xmm0, dword [ebp - 0x1db8]
vmovss dword [esp], xmm0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1e68]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1e64]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1e60]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1e78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1e74]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1e70]
mov dword [eax + 8], ecx
lea edx, [ebp - 0x1860]
push edx
call fcn.1035c100
add esp, 0x20
mov eax, dword [ebp - 0x1854]
mov dword [ebp - 0x1884], eax
mov ecx, dword [ebp - 0x1850]
mov dword [ebp - 0x1880], ecx
mov edx, dword [ebp - 0x184c]
mov dword [ebp - 0x187c], edx
lea eax, [ebp - 0x1dc0]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x1998]
mov edx, dword [ebp - 0x18c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1998]
mov dword [ebp - 0x1dbc], eax
mov ecx, dword [ebp - 0x1dbc]
mov dword [ebp - 0x1ed8], ecx
mov edx, dword [ebp - 0x1dc0]
mov eax, dword [edx]
mov dword [ebp - 0x1dc4], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x1dc4]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x1dc8], eax
mov ecx, dword [ebp - 0x1dc8]
mov dword [ebp - 0x1dcc], ecx
mov edx, dword [ebp - 0x1dcc]
mov dword [ebp - 0x1dd0], edx
mov eax, dword [ebp - 0x1dd0]
mov dword [ebp - 0x1dd4], eax
mov ecx, dword [ebp - 0x18c8]
call dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], eax
mov ecx, dword [ebp - 0x1dd8]
mov dword [ebp - 0x1948], ecx
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x183c], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1838], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1834], xmm0
mov edx, dword [ebp - 0x1948]
vmovss xmm0, dword [ebp - 0x1860]
vsubss xmm0, xmm0, dword [edx]
vmovss dword [ebp - 0x183c], xmm0
mov eax, dword [ebp - 0x1948]
vmovss xmm0, dword [ebp - 0x185c]
vsubss xmm0, xmm0, dword [eax + 4]
vmovss dword [ebp - 0x1838], xmm0
mov ecx, dword [ebp - 0x1948]
vmovss xmm0, dword [ebp - 0x1858]
vsubss xmm0, xmm0, dword [ecx + 8]
vmovss dword [ebp - 0x1834], xmm0
vmovss xmm0, dword [ebp - 0x183c]
vmulss xmm0, xmm0, dword [ebp - 0x183c]
vmovss xmm1, dword [ebp - 0x1838]
vmulss xmm1, xmm1, dword [ebp - 0x1838]
vaddss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x1ddc], xmm0
vmovss xmm0, dword [ebp - 0x1ddc]
vcvtss2sd xmm0, xmm0, xmm0
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.10211c80
add esp, 8
fstp dword [ebp - 0x1de0]
vmovss xmm0, dword [ebp - 0x1de0]
vmovss dword [ebp - 0x1de4], xmm0
vmovss xmm0, dword [ebp - 0x1de4]
vmovss dword [ebp - 0x1de8], xmm0
vmovss xmm0, dword [ebp - 0x1de8]
vmovss dword [ebp - 0x1dec], xmm0
vmovss xmm0, dword [ebp - 0x1dec]
vmovss dword [ebp - 0x1934], xmm0
vmovss xmm0, dword [0x10686f18]
vcomiss xmm0, dword [ebp - 0x1934]
jb 0x102c63a6
vmovss xmm0, dword [0x10686d74]
vmovss dword [ebp - 0x1df0], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1df4], xmm0
vmovss xmm0, dword [ebp - 0x1934]
vdivss xmm0, xmm0, dword [0x10686f18]
vmovss dword [ebp - 0x1df8], xmm0
xor edx, edx
mov byte [ebp - 0x18d9], dl
movzx eax, byte [ebp - 0x18d9]
push eax
lea ecx, [ebp - 0x1df0]
push ecx
lea edx, [ebp - 0x1df4]
push edx
lea eax, [ebp - 0x1df8]
push eax
call fcn.10072b50
add esp, 0x10
mov dword [ebp - 0x1e00], eax
mov ecx, dword [ebp - 0x1dfc]
mov edx, dword [ebp - 0x1e00]
mov eax, dword [edx]
mov dword [ecx + 0x14], eax
vmovss xmm0, dword [0x10686ee4]
vcomiss xmm0, dword [ebp - 0x1934]
jb 0x102c63dc
mov byte [ebp - 0x18da], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1830]
call fcn.1008f020
mov al, byte [ebp - 0x18da]
jmp 0x102c6891
mov dword [ebp - 0x1930], 0x80
lea ecx, [ebp - 0x1818]
mov dword [ebp - 0x1918], ecx
mov edx, dword [ebp - 0x1930]
mov dword [ebp - 0x1e04], edx
mov eax, dword [ebp - 0x1930]
sub eax, 1
mov dword [ebp - 0x1930], eax
cmp dword [ebp - 0x1e04], 0
jbe 0x102c643d
mov dword [ebp - 0x1e08], 0x100572f0
mov ecx, dword [ebp - 0x1918]
call dword [ebp - 0x1e08]
mov ecx, dword [ebp - 0x1918]
add ecx, 0x30
mov dword [ebp - 0x1918], ecx
jmp 0x102c63f2
push 0x1800
mov edx, dword [ebp - 0x18e4]
mov eax, dword [edx]
add eax, 0x410
push eax
lea ecx, [ebp - 0x1818]
push ecx
call fcn.101f81c0
add esp, 0xc
mov dword [ebp - 0x18f8], 0
jmp 0x102c647a
mov edx, dword [ebp - 0x18f8]
add edx, 1
mov dword [ebp - 0x18f8], edx
cmp dword [ebp - 0x18f8], 0x80
jae 0x102c683e
mov eax, dword [ebp - 0x18e4]
mov ecx, dword [eax]
imul edx, dword [ebp - 0x18f8], 0x30
lea eax, [ecx + edx + 0x410]
mov dword [ebp - 0x192c], eax
mov ecx, 4
imul edx, ecx, 3
mov eax, 0x10
imul ecx, eax, 0
add ecx, dword [ebp - 0x192c]
vmovss xmm0, dword [ecx + edx]
vmovss dword [ebp - 0x1e0c], xmm0
mov edx, 4
imul eax, edx, 3
mov ecx, 0x10
shl ecx, 0
add ecx, dword [ebp - 0x192c]
vmovss xmm0, dword [ecx + eax]
vmovss dword [ebp - 0x1e10], xmm0
mov edx, 4
imul eax, edx, 3
mov ecx, 0x10
shl ecx, 1
add ecx, dword [ebp - 0x192c]
vmovss xmm0, dword [ecx + eax]
vmovss dword [ebp - 0x1e14], xmm0
vmovss xmm0, dword [ebp - 0x1e0c]
vmovss dword [ebp - 0x1e9c], xmm0
vmovss xmm0, dword [ebp - 0x1e10]
vmovss dword [ebp - 0x1e98], xmm0
vmovss xmm0, dword [ebp - 0x1e14]
vmovss dword [ebp - 0x1e94], xmm0
lea edx, [ebp - 0x1e9c]
mov dword [ebp - 0x1e18], edx
mov eax, dword [ebp - 0x1e18]
mov dword [ebp - 0x1928], eax
mov ecx, dword [ebp - 0x18e4]
mov edx, dword [ecx]
add edx, 0x34
mov dword [ebp - 0x1938], edx
mov eax, dword [ebp - 0x1928]
mov ecx, dword [ebp - 0x1938]
vmovss xmm0, dword [eax]
vsubss xmm0, xmm0, dword [ecx]
vmovss dword [ebp - 0x1e90], xmm0
mov edx, dword [ebp - 0x1928]
mov eax, dword [ebp - 0x1938]
vmovss xmm0, dword [edx + 4]
vsubss xmm0, xmm0, dword [eax + 4]
vmovss dword [ebp - 0x1e20], xmm0
mov ecx, dword [ebp - 0x1928]
mov edx, dword [ebp - 0x1938]
vmovss xmm0, dword [ecx + 8]
vsubss xmm0, xmm0, dword [edx + 8]
vmovss dword [ebp - 0x1e24], xmm0
vmovss xmm0, dword [ebp - 0x1e90]
vmovss dword [ebp - 0x1848], xmm0
vmovss xmm0, dword [ebp - 0x1e20]
vmovss dword [ebp - 0x1844], xmm0
vmovss xmm0, dword [ebp - 0x1e24]
vmovss dword [ebp - 0x1840], xmm0
mov al, byte [0x109f938c]
mov byte [ebp - 0x18db], al
movzx ecx, byte [ebp - 0x18db]
test ecx, ecx
je 0x102c6716
imul edx, dword [ebp - 0x18f8], 0x30
lea eax, [ebp + edx - 0x1818]
mov dword [ebp - 0x1920], eax
vmovss xmm0, dword [ebp - 0x1848]
vaddss xmm0, xmm0, dword [ebp - 0x1860]
vmovss dword [ebp - 0x1e28], xmm0
vmovss xmm0, dword [ebp - 0x1844]
vaddss xmm0, xmm0, dword [ebp - 0x185c]
vmovss dword [ebp - 0x1e2c], xmm0
vmovss xmm0, dword [ebp - 0x1840]
vaddss xmm0, xmm0, dword [ebp - 0x1858]
vmovss dword [ebp - 0x1e30], xmm0
vmovss xmm0, dword [ebp - 0x1e28]
vmovss dword [ebp - 0x1ea8], xmm0
vmovss xmm0, dword [ebp - 0x1e2c]
vmovss dword [ebp - 0x1ea4], xmm0
vmovss xmm0, dword [ebp - 0x1e30]
vmovss dword [ebp - 0x1ea0], xmm0
lea ecx, [ebp - 0x1ea8]
mov dword [ebp - 0x1e34], ecx
mov edx, dword [ebp - 0x1e34]
mov dword [ebp - 0x191c], edx
mov eax, 0x10
imul ecx, eax, 0
add ecx, dword [ebp - 0x1920]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 0x191c]
mov edx, dword [edx]
mov dword [ecx + eax], edx
mov eax, 0x10
shl eax, 0
add eax, dword [ebp - 0x1920]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 0x191c]
mov ecx, dword [ecx + 4]
mov dword [eax + edx], ecx
mov edx, 0x10
shl edx, 1
add edx, dword [ebp - 0x1920]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 0x191c]
mov eax, dword [eax + 8]
mov dword [edx + ecx], eax
jmp 0x102c6839
mov cl, byte [0x109f938c]
mov byte [ebp - 0x18dc], cl
movzx edx, byte [ebp - 0x18dc]
test edx, edx
jne 0x102c6839
imul eax, dword [ebp - 0x18f8], 0x30
lea ecx, [ebp + eax - 0x1818]
mov dword [ebp - 0x1914], ecx
vmovss xmm0, dword [ebp - 0x1848]
vaddss xmm0, xmm0, dword [ebp - 0x1884]
vmovss dword [ebp - 0x1e38], xmm0
vmovss xmm0, dword [ebp - 0x1844]
vaddss xmm0, xmm0, dword [ebp - 0x1880]
vmovss dword [ebp - 0x1e3c], xmm0
vmovss xmm0, dword [ebp - 0x1840]
vaddss xmm0, xmm0, dword [ebp - 0x187c]
vmovss dword [ebp - 0x1e40], xmm0
vmovss xmm0, dword [ebp - 0x1e38]
vmovss dword [ebp - 0x1eb4], xmm0
vmovss xmm0, dword [ebp - 0x1e3c]
vmovss dword [ebp - 0x1eb0], xmm0
vmovss xmm0, dword [ebp - 0x1e40]
vmovss dword [ebp - 0x1eac], xmm0
lea edx, [ebp - 0x1eb4]
mov dword [ebp - 0x1e44], edx
mov eax, dword [ebp - 0x1e44]
mov dword [ebp - 0x1924], eax
mov ecx, 0x10
imul edx, ecx, 0
add edx, dword [ebp - 0x1914]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp - 0x1924]
mov eax, dword [eax]
mov dword [edx + ecx], eax
mov ecx, 0x10
shl ecx, 0
add ecx, dword [ebp - 0x1914]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp - 0x1924]
mov edx, dword [edx + 4]
mov dword [ecx + eax], edx
mov eax, 0x10
shl eax, 1
add eax, dword [ebp - 0x1914]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp - 0x1924]
mov ecx, dword [ecx + 8]
mov dword [eax + edx], ecx
jmp 0x102c646b
push 0x1800
lea edx, [ebp - 0x1818]
push edx
mov eax, dword [ebx + 0xc]
push eax
call fcn.101f81c0
add esp, 0xc
mov byte [ebp - 0x18dd], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1830]
call fcn.1008f020
mov al, byte [ebp - 0x18dd]
jmp 0x102c6891
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1830]
call fcn.1008f020
nop
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.101f5040
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8