Function at 0x100aed00
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c0f99
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x1011dc04]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2e4], ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2a4], edx
cmp dword [0x10123b18], edx
je 0x100b0c15
test eax, eax
je 0x100b0c15
lea esi, [eax + 8]
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 0x2ec], esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10126198]
mov dword [ebp - 0x2c0], eax
mov eax, dword [esi]
movss xmm0, dword [ecx + 0x14]
mov ecx, esi
mulss xmm0, dword [0x100c4798]
mov eax, dword [eax + 0x28]
movss dword [ebp - 0x2b4], xmm0
call eax
mov ecx, dword [0x1012613c]
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov ecx, dword [0x1012634c]
cmp edi, eax
mov edx, dword [0x10123b18]
mov eax, dword [ebp - 0x2b0]
sete byte [ebp - 0x29e]
add ecx, 0xffffffd5
mov dword [ebp - 0x29c], edx
xor ecx, 0xce92e1bf
mov eax, dword [eax + ecx]
cmp eax, dword [edx + ecx]
je 0x100aeddf
mov al, 1
jmp 0x100aee15
mov ecx, dword [0x10126228]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x100aee13
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x29c]
mov edi, eax
add ecx, 8
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
call edx
cmp edi, eax
je 0x100aee13
mov al, 1
jmp 0x100aee15
xor al, al
mov byte [ebp - 0x2b8], al
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x101107bc], 0
mov byte [ebp - 0x29d], al
je 0x100aee70
cmp byte [ebp - 0x2b8], 0
je 0x100aee70
test al, al
jne 0x100aee87
mov eax, dword [0x101263d4]
mov ecx, dword [ebp - 0x2b0]
add eax, 0xffffffb3
mov edi, dword [ebp - 0x2e4]
xor eax, 0xce92e1e1
mov byte [eax + ecx], 1
mov ecx, dword [ebp - 0x2c0]
mov al, byte [ebp - 0x29d]
mov byte [edi + ecx + 0xf], 1
jmp 0x100aee9e
test al, al
jne 0x100aee87
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2e4]
mov byte [edi + ecx + 0xf], 1
jmp 0x100aee9e
mov ecx, dword [ebp - 0x2c0]
mov edi, dword [ebp - 0x2e4]
cmp byte [edi + ecx + 0xf], 0
je 0x100b0c15
lea edx, [ecx + 0x13]
movss xmm0, dword [edi + edx*4]
lea edx, [edi + edx*4]
test al, al
je 0x100aeeb7
subss xmm0, dword [ebp - 0x2b4]
jmp 0x100aeebf
addss xmm0, dword [ebp - 0x2b4]
cmp byte [ebp - 0x2b8], 0
movss dword [edx], xmm0
je 0x100aeedc
cmp byte [0x1010e894], 0
mov byte [ebp - 0x2a9], 1
jne 0x100aeee3
mov byte [ebp - 0x2a9], 0
movss xmm0, dword [edx]
lea ecx, [ebp - 0x304]
comiss xmm0, dword [0x100c3708]
mov dword [ebp - 0x304], 0x3f800000
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x29c], 0
xorps xmm2, xmm2
cmovbe ecx, edx
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [edx], xmm1
mov dl, byte [ebp - 0x2a9]
lahf
test ah, 0x44
jp 0x100aef3d
test dl, dl
je 0x100b0c15
mov ecx, dword [0x101263ac]
mov eax, dword [0x10126198]
add ecx, 0xffffffbd
mov edi, dword [ebp - 0x2b0]
xor ecx, 0xce92e1d7
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + edi]
mov cl, byte [ebp - 0x29d]
test cl, cl
je 0x100aef78
comiss xmm2, dword [0x100c47a4]
ja 0x100b0c15
mov ch, byte [ebp - 0x29e]
test ch, ch
je 0x100aef94
mov eax, dword [0x1012619c]
cmp byte [eax + 0xa5], 0
je 0x100b0c15
cmp byte [ebp - 0x2b8], 0
movaps xmm0, xmm1
mulss xmm0, dword [0x100c3718]
mulss xmm1, dword [0x100fbc38]
cvttss2si eax, xmm0
mov dword [ebp - 0x2c8], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x298], eax
mov eax, dword [0x1010e808]
cmovne eax, dword [0x1010e76c]
mov dword [ebp - 0x2c4], eax
test cl, cl
je 0x100af05e
test dl, dl
je 0x100af05e
test ch, ch
jne 0x100af05e
movss xmm0, dword [0x100c479c]
comiss xmm2, xmm0
mov dword [ebp - 0x2c8], 0x70
mov dword [ebp - 0x298], 0x50
jbe 0x100af048
subss xmm2, xmm0
movss xmm0, dword [0x100fbc30]
movaps xmm1, xmm2
mulss xmm2, dword [0x100c9d1c]
mulss xmm1, dword [0x100fbc28]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100fbc2c]
subss xmm0, xmm2
mov dword [ebp - 0x2c8], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x2a8], 0xff707070
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [0x1012613c]
lea edx, [ebp - 0x290]
mov eax, dword [ebp - 0x2c8]
mov byte [ebp - 0x2c1], al
push edx
mov eax, dword [ecx]
push dword [ebp - 0x2c0]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100b0c15
push dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2e4]
push edi
call fcn.100b22a0
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x2d8]
push eax
push edi
call fcn.100b1320
test al, al
je 0x100b0c15
cmp byte [ebp - 0x2b8], 0
je 0x100af0c6
push 0
jmp 0x100af0c8
push 1
push dword [0x1010f124]
push dword [0x1010f120]
call fcn.100b5320
mov ecx, dword [0x1010f124]
cmp eax, ecx
jne 0x100af102
cmp byte [ebp - 0x29e], 0
je 0x100af114
push 2
push ecx
push dword [0x1010f120]
call fcn.100b5320
cmp eax, dword [0x1010f124]
je 0x100af114
push dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2e4]
push edi
call fcn.100b10d0
cmp byte [ebp - 0x2b8], 0
je 0x100af175
push 0
push dword [0x1010e6cc]
push dword [0x1010e6c8]
call fcn.100b5320
cmp eax, dword [0x1010e6cc]
jne 0x100af190
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x298], eax
cmp byte [ebp - 0x2b8], 0
je 0x100af1d9
push 0
push dword [0x1010ea58]
push dword [0x1010ea54]
call fcn.100b5320
cmp eax, dword [0x1010ea58]
jne 0x100af1f8
jmp 0x100af2a0
push 1
push dword [0x1010e6cc]
push dword [0x1010e6c8]
call fcn.100b5320
cmp eax, dword [0x1010e6cc]
je 0x100af138
cmp byte [ebp - 0x29e], 0
jne 0x100af138
push ecx
mov ecx, dword [ebp - 0x298]
mov eax, esp
push dword [ebp - 0x2c4]
push dword [ebp - 0x2cc]
mov word [eax], 0xa0a
push dword [ebp - 0x2d0]
mov byte [eax + 2], 0xa
push dword [ebp - 0x2d4]
mov byte [eax + 3], cl
push dword [ebp - 0x2d8]
call fcn.100a6590
add esp, 0x18
jmp 0x100af144
push 1
push dword [0x1010ea58]
push dword [0x1010ea54]
call fcn.100b5320
cmp eax, dword [0x1010ea58]
je 0x100af2c0
cmp byte [ebp - 0x29e], 0
jne 0x100af297
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0xa0]
call fcn.1003a510
push 0x18
push 0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.10042870
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call fcn.10025230
mov eax, dword [0x1010eaf8]
mov ecx, 0x10129024
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x298]
mov byte [ebp - 0x2b1], al
lea eax, [ebp - 0x28]
push 2
push eax
push dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2d4]
sub eax, dword [0x1012902c]
push eax
mov eax, dword [ebp - 0x2d0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2d8]
push eax
call fcn.100a6b90
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10025230
cmp byte [ebp - 0x2b8], 0
je 0x100af2c0
push 0
push dword [0x1010eb9c]
push dword [0x1010eb98]
call fcn.100b5320
cmp eax, dword [0x1010eb9c]
jne 0x100af2ec
jmp 0x100af573
push 1
push dword [0x1010eb9c]
push dword [0x1010eb98]
call fcn.100b5320
cmp eax, dword [0x1010eb9c]
je 0x100af573
cmp byte [ebp - 0x29e], 0
jne 0x100af573
mov ecx, dword [0x10126380]
mov eax, dword [ebp - 0x2cc]
add ecx, 0xffffffc8
add eax, 0xfffffffe
mov dword [ebp - 0x308], 0x64
xor ecx, 0xce92e1cc
mov dword [ebp - 0x2a8], eax
add ecx, edi
mov byte [ebp - 0x2ba], 0
lea eax, [ebp - 0x308]
cmp dword [ecx], 0x64
cmovl eax, ecx
mov edi, dword [eax]
mov eax, 0x64
sub eax, edi
mov dword [ebp - 0x2b4], edi
imul ecx, eax, 0x1fe
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, edi, 0x1fe
mov dword [ebp - 0x29c], eax
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xff
cmovg eax, ecx
cmp byte [ebp - 0x2b8], 0
mov ecx, dword [ebp - 0x29c]
mov byte [ebp - 0x2bc], cl
mov byte [ebp - 0x2bb], al
je 0x100af3c6
push 0
push dword [0x1010fe8c]
push dword [0x1010fe88]
call fcn.100b5320
cmp eax, dword [0x1010fe8c]
je 0x100af3f2
mov eax, dword [0x1010ff2c]
mov dword [ebp - 0x2bc], eax
jmp 0x100af3f2
push 1
push dword [0x1010fe8c]
push dword [0x1010fe88]
call fcn.100b5320
mov ecx, dword [ebp - 0x2bc]
cmp eax, dword [0x1010fe8c]
cmovne ecx, dword [0x1010ffc8]
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x2c8]
mov byte [ebp - 0x2b9], al
mov eax, edi
imul eax, dword [ebp - 0x2a8]
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100c36f4]
movss dword [ebp - 0x29c], xmm0
fld dword [ebp - 0x29c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x298]
mov eax, esp
fstp dword [ebp - 0x29c]
cvttss2si edi, dword [ebp - 0x29c]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x2a8]
add eax, 4
push eax
mov eax, dword [ebp - 0x2d4]
dec eax
push 4
push eax
mov eax, dword [ebp - 0x2d8]
add eax, 0xfffffffa
push eax
call fcn.100a6500
mov eax, dword [ebp - 0x2a8]
lea ecx, [edi + 2]
mov edx, dword [ebp - 0x2d4]
sub eax, edi
mov edi, dword [ebp - 0x2d8]
inc edx
add eax, edx
mov dword [ebp - 0x29c], ecx
add esp, 0x14
mov dword [ebp - 0x2a8], eax
cmp byte [ebp - 0x29d], 0
lea edx, [eax - 1]
je 0x100af506
push ecx
mov ecx, dword [ebp - 0x2c8]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x29c]
push ecx
push 2
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
lea eax, [edi - 5]
push edx
push eax
call fcn.100a64c0
mov eax, dword [ebp - 0x2b4]
add esp, 0x14
cmp eax, 0x5a
jge 0x100af573
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1002b580
add esp, 8
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 3
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100af54a
push dword [ebp - 0x2bc]
lea eax, [edi - 5]
push ecx
push 2
push edx
push eax
call fcn.100a64c0
mov eax, dword [ebp - 0x2b4]
add esp, 0x14
cmp eax, 0x5a
jge 0x100af573
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1002b580
add esp, 8
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 4
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov ecx, dword [ebp - 0x298]
mov byte [eax + 3], cl
mov ecx, 0x1012900c
mov eax, dword [ebp - 0x2a8]
add eax, 0xfffffffb
push eax
lea eax, [edi - 5]
push eax
call fcn.100a6b90
lea ecx, [ebp - 0x28]
call fcn.10025230
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
push 0x1010ec40
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 5
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x8c], 0
call fcn.10023e00
mov eax, dword [ebp - 0x2a4]
or eax, 4
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x29c], eax
mov eax, dword [esi]
mov ecx, esi
mov byte [ebp - 4], 6
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x9c
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
push 0x28
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x2a8], eax
call fcn.100b5748
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x64], eax
cmp byte [ebp - 0x29e], 0
lea eax, [ebp - 0x64]
mov dword [ebp - 0x2e0], eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 7
mov dword [ebp - 0x2dc], eax
jne 0x100b0b84
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
push 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.100b5748
lea ecx, [ebp - 0x58]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x58], eax
mov dword [eax], ecx
cmp byte [ebp - 0x2b8], 0
xorps xmm0, xmm0
mov byte [ebp - 4], 8
movq qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x74], 0
je 0x100af6cc
push 0x1010ec40
lea ecx, [ebp - 0x314]
call fcn.10023e00
mov ecx, dword [ebp - 0x2a4]
or ecx, 0x20
lea edx, [ebp - 0x314]
or ecx, 1
jmp 0x100af6eb
push 0x1010ece8
lea ecx, [ebp - 0x300]
call fcn.10023e00
mov ecx, dword [ebp - 0x2a4]
lea edx, [ebp - 0x300]
or ecx, 0x42
mov edi, dword [edx + 4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x2b4], edi
mov edi, dword [edx]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx], 0
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 0xa
test cl, 2
je 0x100af742
and ecx, 0xfffffffd
mov dword [ebp - 0x2a4], ecx
lea ecx, [ebp - 0x300]
call fcn.10025380
mov ecx, dword [ebp - 0x2a4]
mov byte [ebp - 4], 0xb
test cl, 1
je 0x100af756
lea ecx, [ebp - 0x314]
call fcn.10025380
cmp edi, dword [ebp - 0x2b4]
je 0x100b0259
cmp dword [edi], 0
jne 0x100af830
mov eax, dword [0x10126384]
add eax, 0xffffffc7
xor eax, 0xce92e1cd
add eax, dword [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x28]
push 0x100fbb74
push eax
call fcn.10089700
add esp, 0xc
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xc896
mov byte [ebp - 0x2a], 0x3c
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0xc
cmp ecx, 0x10
jb 0x100af7f8
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100af7ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100af830
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100af826
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
cmp dword [edi], 1
mov ecx, dword [ebp - 0x2b0]
jne 0x100af9aa
mov eax, dword [0x101263bc]
add eax, 0xffffffb9
xor eax, 0xce92e1db
cmp byte [eax + ecx], 0
je 0x100af926
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x100fbb78
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xffff
mov byte [ebp - 0x2a], 0xff
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0xe
cmp ecx, 0x10
jb 0x100af8e5
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100af8db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100af9a4
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100af917
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
jmp 0x100af9a4
mov eax, dword [0x101263dc]
add eax, 0xffffffb1
xor eax, 0xce92e1e3
cmp dword [eax + ecx], 0
jle 0x100af9aa
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x100fbb7c
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xffff
mov byte [ebp - 0x2a], 0xff
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
lea ecx, [ebp - 0x44]
call fcn.10025230
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.10025230
mov ecx, dword [ebp - 0x2b0]
cmp dword [edi], 2
jne 0x100afa91
mov eax, dword [0x101263c8]
add eax, 0xffffffb6
xor eax, 0xce92e1de
cmp byte [eax + ecx], 0
je 0x100afa91
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.ZOOM
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xb43c
mov byte [ebp - 0x2a], 0xe1
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x12
cmp ecx, 0x10
jb 0x100afa59
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afa4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100afa91
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afa87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x9c
cmp dword [edi], 6
jne 0x100afb7c
cmp dword [eax + 0x101201ec], 0
je 0x100afb7c
mov ecx, dword [eax + 0x101201e4]
dec ecx
and ecx, dword [eax + 0x101201e8]
mov eax, dword [eax + 0x101201e0]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x3e0]
cmp eax, 6
je 0x100afaf5
cmp eax, 1
je 0x100afaf5
cmp eax, 2
je 0x100afaf5
mov eax, dword [ebp - 0x298]
movzx esi, al
shl esi, 0x18
or esi, 0xff
jmp 0x100afb07
mov eax, dword [ebp - 0x298]
movzx esi, al
shl esi, 0x18
or esi, 0xff00
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
push str.FAKE
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x44], xmm0
call fcn.10021f80
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100afb76
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afb6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov esi, dword [ebp - 0x2ec]
cmp dword [edi], 3
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x2b0]
jne 0x100afc4d
mov eax, dword [0x101263e8]
add eax, 0xffffffae
xor eax, 0xce92e1e6
movss xmm0, dword [eax + ecx]
comiss xmm0, xmm1
jbe 0x100afc4d
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.FLASHED
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xffff
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x15
cmp ecx, 0x10
jb 0x100afc38
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afc2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.10025230
mov ecx, dword [ebp - 0x2b0]
xorps xmm1, xmm1
cmp dword [edi], 4
jne 0x100afd22
mov eax, dword [0x101262e4]
mov edx, dword [ecx + eax]
movss xmm0, dword [edx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100afd22
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x2f8], eax
mov eax, dword [0x101262a0]
mov dword [ebp - 0x294], eax
mov eax, dword [0x101262fc]
cmp dword [ecx + eax], 0
jne 0x100afca1
mov eax, dword [0x1012627c]
call eax
mov eax, dword [0x101262fc]
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x2f8]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x294]
cmp eax, 0x3c7
jne 0x100afd22
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.RELOAD
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xb43c
mov byte [ebp - 0x2a], 0xe1
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
lea ecx, [ebp - 0x44]
call fcn.10025230
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.10025230
cmp dword [edi], 5
jne 0x100afe07
mov eax, dword [0x101262ac]
mov ecx, dword [ebp - 0x2b0]
call eax
test al, al
je 0x100afe07
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.BOMB
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x44]
call fcn.10023b00
mov eax, dword [ebp - 0x298]
mov word [ebp - 0x2c], 0xff
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x29], al
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x58]
call fcn.100b4450
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 0x19
cmp ecx, 0x10
jb 0x100afdcf
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afdc5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100afe07
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afdfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
cmp byte [ebp - 0x2b8], 0
je 0x100b024a
mov eax, dword [ebp - 0x298]
mov byte [ebp - 0x2a1], al
mov eax, dword [ebp - 0x2a8]
mov word [ebp - 0x2a4], 0xffff
mov byte [ebp - 0x2a2], 0xff
cmp byte [eax + 0x1012025c], 0
jne 0x100afe75
cmp byte [eax + 0x10120269], 0
jne 0x100afe75
cmp byte [eax + 0x10120261], 0
jne 0x100afe75
cmp byte [eax + 0x10120260], 0
je 0x100afe6c
cmp byte [eax + 0x1012025d], 0
jne 0x100afe6c
cmp byte [eax + 0x10120263], 0
je 0x100afe75
mov byte [ebp - 0x29c], 0
jmp 0x100afe7c
mov byte [ebp - 0x29c], 1
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push str.MOORON
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
call fcn.10021f80
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0x29c]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100afef8
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afeee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2b9], al
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2a8]
push 0xa
push str.FAKEFAMILY
mov word [ebp - 0x2bc], 0xffff
mov al, byte [eax + 0x1012025e]
mov byte [ebp - 0x2ba], 0xff
mov dword [ebp - 0x294], eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10021f80
lea eax, [ebp - 0x2bc]
mov byte [ebp - 4], 0x1c
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100affa2
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aff98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2f1], al
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2a8]
push 6
push str.FAMILY
mov word [ebp - 0x2f4], 0xd29b
mov al, byte [eax + 0x1012025f]
mov byte [ebp - 0x2f2], 0x64
mov dword [ebp - 0x294], eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10021f80
lea eax, [ebp - 0x2f4]
mov byte [ebp - 4], 0x1d
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100b004c
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b0042
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2e5], al
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2a8]
push 6
push str.ROBERT
mov word [ebp - 0x2e8], 0xffff
mov al, byte [eax + 0x10120264]
mov byte [ebp - 0x2e6], 0xff
mov dword [ebp - 0x294], eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10021f80
lea eax, [ebp - 0x2e8]
mov byte [ebp - 4], 0x1e
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100b00f6
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b00ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2c1], al
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2a8]
push 3
push 0x100fbbc4
mov word [ebp - 0x2c4], 0xffff
mov al, byte [eax + 0x10120265]
mov byte [ebp - 0x2c2], 0xff
mov dword [ebp - 0x294], eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10021f80
lea eax, [ebp - 0x2c4]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100b01a0
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b0196
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x2bd], al
xorps xmm0, xmm0
mov eax, dword [ebp - 0x2a8]
push 7
push str.W_CHEAT
mov word [ebp - 0x2c0], 0xffff
mov al, byte [eax + 0x10120266]
mov byte [ebp - 0x2be], 0xff
mov dword [ebp - 0x294], eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.10021f80
lea eax, [ebp - 0x2c0]
mov byte [ebp - 4], 0x20
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.100ad000
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xb
cmp ecx, 0x10
jb 0x100b024a
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b0240
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b0c05
push ecx
push edx
call fcn.100b5778
add esp, 8
add edi, 4
cmp edi, dword [ebp - 0x2b4]
jne 0x100af762
xor edi, edi
cmp dword [ebp - 0x48], edi
jbe 0x100b02ae
mov esi, dword [ebp - 0x2d0]
add esi, 2
add esi, dword [ebp - 0x2d8]
nop
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
add ecx, edi
dec eax
and ecx, eax
mov eax, dword [ebp - 0x54]
push 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10129014]
dec eax
imul eax, edi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x1012900c
add eax, dword [ebp - 0x2d4]
push eax
push esi
call fcn.100a6b90
inc edi
cmp edi, dword [ebp - 0x48]
jb 0x100b0270
mov esi, dword [ebp - 0x2ec]
lea ecx, [ebp - 0x7c]
call fcn.10025380
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 7
call fcn.100b42d0
mov eax, dword [ebp - 0x58]
push 8
push eax
mov dword [ebp - 0x58], 0
call fcn.100b5778
mov edi, dword [ebp - 0x2b0]
add esp, 8
mov ecx, dword [ebp - 0x2e4]
push dword [ebp - 0x2b8]
push edi
call fcn.100b2890
xor eax, eax
mov dword [ebp - 0x2a4], eax
cmp byte [ebp - 0x2b8], al
je 0x100b04af
cmp byte [0x1010efe8], al
je 0x100b048f
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul edx, eax, 0x9c
add edx, 0x1012026c
je 0x100b048f
cmp byte [edx + 0x48], 0
je 0x100b048f
cmp dword [edx + 0x1c], 0
je 0x100b048f
mov ecx, dword [edx + 0x14]
mov eax, dword [edx + 0x10]
dec ecx
and ecx, dword [edx + 0x18]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x100b048f
movss xmm1, dword [eax + 0x3cc]
movss xmm0, dword [eax + 0x3c8]
movss xmm2, dword [0x100c3708]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x100b048f
cmp dword [edx + 0x74], 3
jg 0x100b048f
movss xmm0, dword [edx + 0x38]
lea ecx, [ebp - 0x2f8]
subss xmm0, dword [eax + 0x3ec]
xorps xmm1, xmm1
mov dword [ebp - 0x294], 0
lea edx, [ebp - 0x294]
mov dword [ebp - 0x29c], 0x3f800000
comiss xmm1, xmm0
movss dword [ebp - 0x2f8], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x29c]
comiss xmm0, xmm2
seta al
test al, al
cmove ecx, edx
mov edx, dword [ebp - 0x2d0]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx]
mulss xmm0, dword [0x100fbc24]
comiss xmm0, xmm1
movss dword [ebp - 0x294], xmm0
jbe 0x100b048f
mov esi, dword [ebp - 0x2d8]
push ecx
mov ecx, dword [ebp - 0x298]
mov eax, esp
push 4
push edx
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x2cc]
mov word [eax], 0xa0a
add ecx, 2
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x2d4]
add eax, ecx
push eax
push esi
call fcn.100a6500
mov eax, dword [0x1010f080]
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x29c], eax
add ecx, 3
mov eax, dword [ebp - 0x2c8]
mov byte [ebp - 0x299], al
cvttss2si eax, dword [ebp - 0x294]
push dword [ebp - 0x29c]
push 2
push eax
mov eax, dword [ebp - 0x2d4]
add eax, ecx
push eax
lea eax, [esi + 1]
push eax
call fcn.100a64c0
add esp, 0x28
mov dword [ebp - 0x2a4], 5
push 0
push dword [0x1010ed94]
push dword [0x1010ed90]
call fcn.100b5320
cmp eax, dword [0x1010ed94]
jne 0x100b04ce
jmp 0x100b0b84
push 1
push dword [0x1010ed94]
push dword [0x1010ed90]
call fcn.100b5320
cmp eax, dword [0x1010ed94]
je 0x100b0b84
mov ecx, dword [0x10126140]
mov eax, dword [0x1012641c]
add eax, 0xffffffa1
push ecx
mov edx, dword [ecx]
xor eax, 0xce92e1f3
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + edi]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x2e8], esi
test esi, esi
je 0x100b0b84
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100b0b84
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x2ec], eax
mov eax, dword [0x10126438]
add eax, 0xffffff9a
xor eax, 0xce92e1fa
mov ecx, dword [eax + esi]
mov eax, dword [0x101262e4]
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [edi + eax]
mov dword [ebp - 0x29c], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100c4754]
lahf
test ah, 0x44
jnp 0x100b059f
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x101262a0]
mov dword [ebp - 0x2f8], ecx
mov ecx, dword [0x101262fc]
mov dword [ebp - 0x294], eax
cmp dword [edi + ecx], 0
jne 0x100b0589
mov eax, dword [0x1012627c]
mov ecx, edi
call eax
mov ecx, dword [0x101262fc]
mov eax, dword [ebp - 0x294]
mov ecx, dword [edi + ecx]
mov edx, eax
call dword [ebp - 0x2f8]
cmp eax, 0x3c7
jne 0x100b059f
mov al, 1
jmp 0x100b05a1
xor al, al
mov ecx, dword [ebp - 0x2ec]
mov byte [ebp - 0x29d], al
cmp ecx, 0xffffffff
je 0x100b0758
cmp byte [0x1010eec4], 0
je 0x100b0758
test al, al
je 0x100b05d4
mov eax, dword [ebp - 0x29c]
movss xmm1, dword [eax + 0x64]
jmp 0x100b05ea
movd xmm1, dword [ebp - 0x2b4]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x2d0]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x294], xmm0
fld dword [ebp - 0x294]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x298]
mov eax, esp
mov edi, dword [ebp - 0x2a4]
push 4
fstp dword [ebp - 0x2c4]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x2d0]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x2d4]
add eax, edi
add eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2c0], eax
add eax, 2
push ecx
push eax
push dword [ebp - 0x2d8]
call fcn.100a6500
mov eax, dword [0x1010ef5c]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x2c8]
mov byte [ebp - 0x299], al
cvttss2si eax, dword [ebp - 0x2c4]
push dword [ebp - 0x29c]
push 2
push eax
mov eax, dword [ebp - 0x2c0]
add eax, 3
push eax
mov eax, dword [ebp - 0x2d8]
inc eax
push eax
call fcn.100a64c0
mov eax, 0x66666667
add esp, 0x20
imul dword [ebp - 0x2ec]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x2e0], xmm0
fld qword [ebp - 0x2e0]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov ecx, dword [ebp - 0x2b4]
add esp, 8
fstp qword [ebp - 0x2e0]
cvttsd2si eax, qword [ebp - 0x2e0]
cmp ecx, eax
jg 0x100b074d
cmp byte [ebp - 0x29d], 0
jne 0x100b074d
push ecx
lea eax, [ebp - 0x40]
push eax
call fcn.1002b580
add esp, 8
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x298]
mov eax, esp
push dword [ebp - 0x2c0]
mov byte [ebp - 4], 0x21
mov byte [eax + 3], cl
mov ecx, 0x1012900c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
cvttss2si eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2d8]
push eax
call fcn.100a6b90
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.10025230
add edi, 6
mov dword [ebp - 0x2a4], edi
jmp 0x100b075e
mov edi, dword [ebp - 0x2a4]
mov eax, dword [0x1010ee38]
test eax, eax
jne 0x100b094f
mov eax, dword [0x101262bc]
mov ecx, esi
call eax
test eax, eax
je 0x100b088c
mov edx, dword [0x101262c0]
mov ecx, eax
call edx
test eax, eax
je 0x100b088c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x10126188]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
push eax
lea ecx, [ebp - 0x28]
call fcn.1004df90
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x23
test edx, edx
jne 0x100b07ee
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], dl
jmp 0x100b0877
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov ecx, dword [0x101260a4]
cmovae eax, dword [ebp - 0x28]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x40]
push 0
push esi
call fcn.1003a450
push eax
lea ecx, [ebp - 0x88]
call fcn.100424d0
lea ecx, [ebp - 0x40]
call fcn.10025230
cmp dword [ebp - 0x74], 0x10
lea ecx, [ebp - 0x88]
mov edx, dword [0x101260a4]
lea eax, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x88]
cmp dword [ebp - 0x14], 8
push 0
cmovae eax, dword [ebp - 0x28]
push 0
push esi
push ecx
push dword [ebp - 0x18]
push eax
push 0
push 0xfde9
call edx
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x5c]
call fcn.100acbd0
lea ecx, [ebp - 0x88]
call fcn.10025230
lea ecx, [ebp - 0x28]
call fcn.10029170
jmp 0x100b08b0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
push str.error
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x5c], xmm0
call fcn.10021f80
cmp dword [ebp - 0x48], 0x10
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x24
cmovae eax, dword [ebp - 0x5c]
mov dword [ebp - 0x294], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.100b4430
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x294]
cmovae ecx, dword [ebp - 0x5c]
push dword [eax]
lea eax, [ebp - 0x294]
push ecx
push eax
call fcn.100acac0
mov edx, dword [ebp - 0x2a4]
lea eax, [ebp - 0x5c]
add edx, dword [ebp - 0x2d4]
add esp, 0x14
add edx, dword [ebp - 0x2cc]
push 2
push eax
mov eax, dword [ebp - 0x298]
push ecx
mov ecx, esp
push edx
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x2d0]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add eax, dword [ebp - 0x2d8]
mov byte [ecx + 2], 0xff
mov ecx, 0x1012900c
push eax
call fcn.100a6b90
lea ecx, [ebp - 0x5c]
jmp 0x100b0b7f
cmp eax, 1
jne 0x100b0b84
mov edx, dword [0x10126434]
sub edi, 5
add edx, 0xffffff9b
mov esi, dword [ebp - 0x2e4]
xor edx, 0xce92e1f9
add esi, 0x23a4
add edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x294], edx
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
mov dword [ebp - 0x29c], eax
lea eax, [ebp - 0x2e0]
push edx
push eax
call fcn.10032810
mov eax, dword [ebp - 0x2dc]
test eax, eax
jne 0x100b0aaf
cmp dword [esi + 8], 0xfffffff
je 0x100b0c32
lea eax, [esi + 4]
mov dword [ebp - 0x2f0], eax
push 0x10
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x2ec], 0
call fcn.100b5748
mov ecx, dword [ebp - 0x294]
add esp, 4
mov dword [ebp - 0x2ec], eax
add eax, 8
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ecx]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov eax, dword [esi + 8]
inc eax
mov byte [ebp - 4], 0x26
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100c47f0]
mov eax, dword [esi + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100c47f0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [esi]
seta al
test al, al
je 0x100b0a91
mov ecx, esi
call fcn.10036480
push dword [ebp - 0x29c]
lea eax, [ebp - 0x2fc]
mov ecx, esi
push dword [ebp - 0x2f8]
push eax
call fcn.10032810
mov ecx, dword [eax]
jmp 0x100b0a97
mov ecx, dword [ebp - 0x2e0]
push dword [ebp - 0x2ec]
push ecx
push dword [ebp - 0x29c]
mov ecx, esi
call fcn.10036420
mov byte [ebp - 4], 7
push 0x98
lea esi, [eax + 0xc]
lea eax, [ebp - 0x138]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x138]
push 1
call fcn.100acb10
lea eax, [ebp - 0x50]
mov dword [ebp - 0x7c], esi
push 1
push eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x138]
mov dword [ebp - 0x78], 0x100ac7f0
movq xmm0, qword [ebp - 0x7c]
push 0x100fbbd0
push eax
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x54], 1
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 0x48], 0x100acaa0
call fcn.1002ddc0
add esp, 0x10
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x134]
push eax
call fcn.1002e4a0
lea ecx, [ebp - 0x138]
call fcn.1002c2b0
push 2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x28
push eax
push ecx
mov ecx, dword [ebp - 0x298]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10129060
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x2d4]
add eax, edi
add eax, dword [ebp - 0x2cc]
push eax
mov eax, dword [ebp - 0x2d0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2d8]
push eax
call fcn.100a6b90
lea ecx, [ebp - 0x40]
call fcn.10025230
mov eax, dword [ebp - 0x64]
push dword [eax + 4]
lea eax, [ebp - 0x64]
push eax
mov ecx, eax
call fcn.100ac390
push 0x28
push dword [ebp - 0x64]
call fcn.100b5778
add esp, 8
lea ecx, [ebp - 0x94]
call fcn.10025380
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x100b0c15
lea ecx, [ebp - 0x70]
push ecx
push dword [ebp - 0x6c]
push eax
call fcn.1004d4e0
mov ecx, dword [ebp - 0x68]
mov eax, 0x92492493
mov esi, dword [ebp - 0x70]
add esp, 0xc
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100b0c0b
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b0c0b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100b5778
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100b5aae
mov esp, ebp
pop ebp
ret 4
push str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__
int3