Function at 0x100a5ae0
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 0x100b6e73
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2a0
mov eax, dword [0x100ca040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x244], 0
lea edi, [eax + 8]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x228], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x1010bc6c]
mov ecx, dword [0x1010bab0]
add edx, 0xffffffd6
mov dword [ebp - 0x18], eax
xor edx, 0xcbf97257
lea esi, [eax*4 + 0x1010ea94]
mov eax, dword [ebp - 0x1d0]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100bf6e4]
mov ecx, dword [edx + eax]
mov eax, dword [0x100ca2a8]
movss dword [ebp - 0x1cc], xmm0
cmp ecx, dword [edx + eax]
je 0x100a5b96
mov byte [ebp - 0x1b9], 1
jmp 0x100a5bac
mov ecx, dword [0x1010bb30]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1b9]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100d3a60], 0
mov dh, al
mov dl, byte [ebp - 0x1b9]
mov byte [ebp - 0x1c5], dh
je 0x100a5bf7
test dl, dl
je 0x100a5bf7
test dh, dh
jne 0x100a5c07
mov eax, dword [0x1010bcec]
mov ecx, dword [ebp - 0x1d0]
add eax, 0xffffffb6
xor eax, 0xcbf97277
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x1010ea57], 1
jmp 0x100a5c17
test dh, dh
jne 0x100a5c07
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x1010ea57], 1
jmp 0x100a5c17
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x1010ea57], 0
je 0x100a8224
movss xmm0, dword [esi]
test dh, dh
je 0x100a5c29
subss xmm0, dword [ebp - 0x1cc]
jmp 0x100a5c31
addss xmm0, dword [ebp - 0x1cc]
movss dword [esi], xmm0
test dl, dl
je 0x100a5c46
cmp byte [0x100cec30], 0
je 0x100a5c46
mov dl, 1
jmp 0x100a5c48
xor dl, dl
comiss xmm0, dword [0x100bf674]
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x2a8], 0x3f800000
mov dword [ebp - 0x1ec], 0
lea eax, [ebp - 0x1ec]
xorps xmm2, xmm2
cmovbe ecx, esi
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100a5c98
test dl, dl
je 0x100a8224
mov ecx, dword [0x1010bcc8]
mov eax, dword [0x1010bab0]
add ecx, 0xffffffbf
mov esi, dword [ebp - 0x1d0]
xor ecx, 0xcbf9726e
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dh, dh
je 0x100a5ccd
comiss xmm2, dword [0x100bf718]
ja 0x100a8224
movaps xmm0, xmm1
mulss xmm1, dword [0x100bf7f0]
mulss xmm0, dword [0x100bf800]
cvttss2si eax, xmm0
mov dword [ebp - 0x224], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x1c4], eax
mov eax, dword [0x100cea18]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1cc], eax
test dh, dh
je 0x100a5d95
test dl, dl
je 0x100a5d95
movss xmm0, dword [0x100bf6fc]
comiss xmm2, xmm0
mov dword [ebp - 0x224], 0x70
mov dword [ebp - 0x1c4], 0x50
jbe 0x100a5d79
subss xmm2, xmm0
movss xmm0, dword [0x100bf7d0]
movaps xmm1, xmm2
mulss xmm2, dword [0x100bf730]
mulss xmm1, dword [0x100bf74c]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100bf7ac]
subss xmm0, xmm2
mov dword [ebp - 0x224], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 0xffd2d2d2
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1cc], eax
mov ecx, dword [0x1010ba50]
lea edx, [ebp - 0x1b8]
push edx
push dword [ebp - 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100a8224
push dword [ebp - 0x224]
push esi
call fcn.100a5480
lea eax, [ebp - 0x1e0]
push eax
push esi
call fcn.100a9200
test al, al
je 0x100a8224
cmp byte [ebp - 0x1b9], 0
je 0x100a5de9
cmp byte [0x100cfd38], 0
jne 0x100a5df6
jmp 0x100a5e0b
cmp byte [0x100ce8ec], 0
je 0x100a5eeb
push ecx
push esi
mov ecx, 0x1010ea58
call fcn.100a9e70
cmp byte [ebp - 0x1b9], 0
je 0x100a5e16
cmp byte [0x100d13a4], 0
jne 0x100a5e23
jmp 0x100a5e38
cmp byte [0x100ce8ec], 0
je 0x100a5eeb
push dword [ebp - 0x224]
push esi
call fcn.100aaa60
cmp byte [ebp - 0x1b9], 0
je 0x100a5e46
cmp byte [0x100ce974], 0
jne 0x100a5e53
jmp 0x100a5ee2
cmp byte [0x100ce8ec], 0
je 0x100a5eeb
cmp byte [ebp - 0x1c5], 0
je 0x100a5e86
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x1c4]
movzx ecx, al
shl ecx, 0x18
or ecx, 0xd2d2d2
push ecx
mov eax, esp
push ecx
mov word [eax], 0
mov byte [eax + 2], 0
mov byte [eax + 3], dl
jmp 0x100a5eb9
cvttss2si eax, dword [0x100cfc80]
movzx edx, al
mov eax, edx
shl edx, 8
bswap eax
push eax
movzx eax, byte [ebp - 0x1ca]
or edx, eax
mov eax, dword [ebp - 0x204]
shl edx, 8
movzx ecx, ah
or edx, ecx
movzx eax, al
shl edx, 8
or edx, eax
push edx
push dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1dc]
push dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1e0]
call fcn.1009bac0
add esp, 0x10
cmp byte [ebp - 0x1b9], 0
je 0x100a5f17
cmp byte [0x100cef40], 0
jne 0x100a5f20
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1c4], eax
mov al, byte [ebp - 0x1b9]
test al, al
je 0x100a60f8
cmp byte [0x100cf140], 0
jne 0x100a6105
jmp 0x100a640a
cmp byte [0x100ce8ec], 0
je 0x100a5eeb
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x21c]
call fcn.1002a5f0
push 0x18
push 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.10047630
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 2
call fcn.1002a5a0
mov eax, dword [0x100cefe4]
mov ecx, eax
shr ecx, 8
mov dword [ebp - 0x18], ecx
mov ecx, eax
shr ecx, 8
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [0x100dd340]
test ecx, ecx
jne 0x100a601c
push 2
cmp byte [ebp - 0x1c5], cl
je 0x100a5fda
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x48]
sub ecx, dword [0x1010e53c]
push eax
mov eax, dword [ebp - 0x1c4]
movzx eax, al
shl eax, 0x18
or eax, 0xd2d2d2
push eax
mov eax, dword [ebp - 0x1d8]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push ecx
push eax
mov ecx, 0x1010e534
call fcn.1009bb70
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a5a0
jmp 0x100a5ef7
cvttss2si ecx, dword [0x100ceabc]
mov esi, dword [ebp - 0x1dc]
lea edx, [ebp - 0x48]
sub esi, dword [0x1010e53c]
push edx
movzx edx, cl
mov cx, word [0x100cefe6]
movzx ecx, cl
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x1ec]
movzx ecx, cl
shl edx, 8
or edx, ecx
mov ecx, 0x1010e534
jmp 0x100a60bd
cmp ecx, 1
jne 0x100a60e4
cmp byte [ebp - 0x1c5], 0
push 2
je 0x100a6083
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x48]
sub ecx, dword [0x1010e560]
push eax
mov eax, dword [ebp - 0x1c4]
movzx eax, al
shl eax, 0x18
or eax, 0xd2d2d2
push eax
mov eax, dword [ebp - 0x1d8]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push ecx
push eax
mov ecx, 0x1010e558
call fcn.1009bb70
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a5a0
jmp 0x100a5ef7
cvttss2si ecx, dword [0x100ceabc]
mov esi, dword [ebp - 0x1dc]
lea edx, [ebp - 0x48]
sub esi, dword [0x1010e560]
push edx
movzx edx, cl
mov cx, word [0x100cefe6]
movzx ecx, cl
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x18]
movzx ecx, cl
shl edx, 8
or edx, ecx
mov ecx, 0x1010e558
movzx eax, al
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x1d8]
push edx
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push esi
push eax
call fcn.1009bb70
mov esi, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a5a0
jmp 0x100a5ef7
cmp byte [0x100ce8ec], 0
je 0x100a640a
mov ecx, dword [0x1010bca0]
mov eax, dword [ebp - 0x1d4]
add ecx, 0xffffffc9
xor ecx, 0xcbf97264
mov dword [ebp - 0x2ac], 0x64
add ecx, esi
add eax, 0xfffffffe
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x2ac]
cmp dword [ecx], 0x64
cmovl eax, ecx
cmp dword [0x100dd340], 1
mov esi, dword [eax]
mov dword [ebp - 0x18], esi
jne 0x100a61d8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
movd xmm1, esi
mov ecx, edi
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax*4 + 0x10111718]
comiss xmm0, xmm1
jbe 0x100a61ac
mov eax, dword [0x1010bab0]
movss xmm0, dword [eax + 0x14]
mov eax, dword [edi]
mulss xmm0, dword [0x100bf814]
mov eax, dword [eax + 0x28]
movss dword [ebp - 0x1ec], xmm0
call eax
movss xmm0, dword [eax*4 + 0x10111718]
subss xmm0, dword [ebp - 0x1ec]
lea eax, [eax*4 + 0x10111718]
movss dword [eax], xmm0
jmp 0x100a61c3
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [eax*4 + 0x10111718], xmm0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cvttss2si esi, dword [eax*4 + 0x10111718]
mov dword [ebp - 0x18], esi
mov eax, 0x64
sub eax, esi
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, esi, 0x1fe
mov dword [ebp - 0x1cc], eax
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xff
push ecx
cmovg eax, ecx
mov dword [ebp - 0x204], eax
mov eax, esi
imul eax, dword [ebp - 0x1c0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100bf5a0]
movss dword [ebp - 0x1ec], xmm0
fld dword [ebp - 0x1ec]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov edx, dword [ebp - 0x1dc]
fstp dword [ebp - 0x1ec]
cvttss2si esi, dword [ebp - 0x1ec]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1e0]
lea edx, [edx - 1]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x1c0]
add eax, 4
lea ecx, [ecx - 6]
push eax
push 4
call fcn.1009ba80
mov eax, dword [ebp - 0x1c0]
lea ecx, [esi + 2]
mov edx, dword [ebp - 0x1dc]
sub eax, esi
add esp, 0xc
mov dword [ebp - 0x1c0], eax
add edx, eax
cmp byte [ebp - 0x1c5], 0
je 0x100a6304
mov eax, dword [ebp - 0x224]
mov byte [ebp - 0x1e1], al
mov word [ebp - 0x1e4], 0xd2d2
mov byte [ebp - 0x1e2], 0xd2
push dword [ebp - 0x1e4]
push ecx
mov ecx, dword [ebp - 0x1e0]
push 2
lea ecx, [ecx - 5]
call fcn.1009ba40
mov esi, dword [ebp - 0x1e0]
jmp 0x100a6339
push ecx
mov ecx, dword [ebp - 0x1cc]
mov eax, esp
mov byte [eax], cl
mov ecx, dword [ebp - 0x204]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x224]
mov byte [eax + 3], cl
lea ecx, [esi + 2]
mov esi, dword [ebp - 0x1e0]
push ecx
push 2
mov byte [eax + 2], 0
lea ecx, [esi - 5]
call fcn.1009ba40
mov eax, dword [0x1010bca0]
add esp, 0xc
mov ecx, dword [ebp - 0x1d0]
add eax, 0xffffffc9
xor eax, 0xcbf97264
cmp dword [eax + ecx], 0x5c
jg 0x100a6404
mov eax, dword [0x100dd340]
test eax, eax
jne 0x100a63a7
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x21c]
call fcn.1003bdc0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov dword [ebp - 4], 3
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1dc]
mov word [eax], 0xffff
add ecx, 0xfffffffc
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1c0]
add eax, ecx
mov ecx, 0x1010e570
jmp 0x100a63ef
cmp eax, 1
jne 0x100a6404
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x21c]
call fcn.1003bdc0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov dword [ebp - 4], 4
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1dc]
mov word [eax], 0xffff
add ecx, 0xfffffffc
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1c0]
add eax, ecx
mov ecx, 0x1010e540
push eax
lea eax, [esi - 5]
push eax
call fcn.1009bb70
lea ecx, [ebp - 0x21c]
call fcn.1002a5a0
mov al, byte [ebp - 0x1b9]
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 5
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
test al, al
je 0x100a6462
push 0x100cf2b0
lea ecx, [ebp - 0x2a4]
call fcn.10029b90
lea ecx, [ebp - 0x2a4]
mov eax, 0x41
jmp 0x100a647d
push 0x100cfc00
lea ecx, [ebp - 0x1f4]
call fcn.10029b90
lea ecx, [ebp - 0x1f4]
mov eax, 0x22
push ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x1e4], eax
call fcn.10029b50
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x1e4]
test al, 2
je 0x100a64b7
and eax, 0xfffffffd
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1e4], eax
call fcn.10029af0
mov eax, dword [ebp - 0x1e4]
mov byte [ebp - 4], 8
test al, 1
je 0x100a64ca
lea ecx, [ebp - 0x2a4]
call fcn.10029af0
mov esi, dword [ebp - 0x3c]
cmp esi, dword [ebp - 0x38]
je 0x100a769a
cmp dword [esi], 0
jne 0x100a6604
mov eax, dword [0x1010bca4]
lea ecx, [ebp - 0x240]
add eax, 0xffffffc8
mov edx, 0x100bf49c
xor eax, 0xcbf97265
add eax, dword [ebp - 0x1d0]
push eax
call fcn.100385b0
add esp, 4
mov ecx, dword [ebp - 0x1c4]
mov byte [ebp - 4], 9
mov byte [ebp - 0x1e1], cl
lea ecx, [ebp - 0x220]
push eax
mov word [ebp - 0x1e4], 0xd29b
mov byte [ebp - 0x1e2], 0x64
call fcn.1002f1a0
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a6576
movups xmm0, xmmword [ebp - 0x220]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a658c
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 9
cmp edx, 0xf
jbe 0x100a65c6
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a65bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100a6604
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a65fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x1d0]
jne 0x100a6702
mov eax, dword [0x1010bcf4]
add eax, 0xffffffb4
xor eax, 0xcbf97279
cmp dword [eax + ecx], 0
jle 0x100a6702
mov eax, dword [0x1010bcd8]
add eax, 0xffffffbb
xor eax, 0xcbf97272
cmp byte [eax + ecx], 0
lea ecx, [ebp - 0x240]
je 0x100a668c
push 0x100bf498
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xb
mov byte [ebp - 0x261], al
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x264], 0xffff
push eax
mov byte [ebp - 0x262], 0xff
call fcn.100ab160
mov byte [ebp - 4], 0xc
jmp 0x100a66d3
push 0x100bf494
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xd
mov byte [ebp - 0x265], al
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x268], 0xffff
push eax
mov byte [ebp - 0x266], 0xff
call fcn.100ab160
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov ecx, dword [ebp - 0x1d0]
cmp dword [esi], 2
jne 0x100a6794
mov eax, dword [0x1010bce4]
add eax, 0xffffffb8
xor eax, 0xcbf97275
cmp byte [eax + ecx], 0
je 0x100a6794
push str.ZOOM
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xf
mov byte [ebp - 0x269], al
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x26c], 0xb43c
push eax
mov byte [ebp - 0x26a], 0xe1
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
cmp dword [esi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1d0]
jne 0x100a6840
mov eax, dword [0x1010bd00]
add eax, 0xffffffb1
xor eax, 0xcbf9727c
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100a6840
push str.FLASHED
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x26d], al
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x270], 0xffff
push eax
mov byte [ebp - 0x26e], 0
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov edx, dword [ebp - 0x1d0]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x100a6927
mov eax, dword [0x1010bbf0]
mov ecx, dword [eax + edx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a6927
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1010bbac]
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [0x1010bc0c]
mov dword [ebp - 0x1ec], eax
cmp dword [edx + ecx], 0
jne 0x100a6899
mov eax, dword [0x1010bb88]
mov ecx, edx
call eax
mov ecx, dword [0x1010bc0c]
mov eax, dword [ebp - 0x1ec]
mov edx, eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x1c0]
cmp eax, 0x3c7
jne 0x100a6927
push str.RELOAD
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x13
mov byte [ebp - 0x271], al
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x274], 0xb43c
push eax
mov byte [ebp - 0x272], 0xe1
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
cmp dword [esi], 5
jne 0x100a6a59
mov eax, dword [0x1010bbb8]
mov ecx, dword [ebp - 0x1d0]
call eax
test al, al
je 0x100a6a59
push 0x100bf4a4
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x275], al
lea eax, [ebp - 0x240]
push eax
mov byte [ebp - 4], 0x15
mov word [ebp - 0x278], 0xff
mov byte [ebp - 0x276], 0
call fcn.1002f1a0
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a69cb
movups xmm0, xmmword [ebp - 0x220]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a69e1
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x15
cmp edx, 0xf
jbe 0x100a6a1b
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6a11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100a6a59
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6a4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul eax, eax, 0xaa0
add eax, 0x100de6e4
cmp dword [esi], 6
mov dword [ebp - 0x1c0], eax
jne 0x100a729e
cmp byte [eax + 0x531], 0
je 0x100a6ba5
push 0x100bf4d8
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x17
mov byte [ebp - 0x279], al
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x27c], 0xffff
push eax
mov byte [ebp - 0x27a], 0xff
call fcn.100ab160
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a6b11
movups xmm0, xmmword [ebp - 0x220]
mov eax, dword [ebp - 0x208]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a6b27
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x17
cmp edx, 0xf
jbe 0x100a6b61
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6b57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100a6b9f
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6b95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x52c], 0
je 0x100a6cec
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.KAABA
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
call fcn.1002aed0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x27d], al
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x19
mov word [ebp - 0x280], 0xffff
mov byte [ebp - 0x27e], 0xff
call fcn.1002f1a0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a6c58
movups xmm0, xmmword [ebp - 0x220]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a6c6e
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x19
cmp edx, 0xf
jbe 0x100a6ca8
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6c9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x100a6ce6
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6cdc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x52d], 0
je 0x100a6e33
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.CHEESE
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
call fcn.1002aed0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x291], al
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x1b
mov word [ebp - 0x294], 0xffff
mov byte [ebp - 0x292], 0xff
call fcn.1002f1a0
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a6d9f
movups xmm0, xmmword [ebp - 0x220]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a6db5
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x1b
cmp edx, 0xf
jbe 0x100a6def
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6de5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x100a6e2d
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6e23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x52e], 0
je 0x100a6f7a
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.UNKNOWN
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
call fcn.1002aed0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x28d], al
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x1d
mov word [ebp - 0x290], 0xffff
mov byte [ebp - 0x28e], 0xff
call fcn.1002f1a0
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a6ee6
movups xmm0, xmmword [ebp - 0x220]
mov edx, 0xf
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a6efc
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x20c]
mov byte [ebp - 4], 0x1d
cmp edx, 0xf
jbe 0x100a6f36
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x220]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6f2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x100a6f74
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a6f6a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x530], 0
je 0x100a706c
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.TAP_LIVE
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
call fcn.1002aed0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x289], al
lea eax, [ebp - 0x200]
push eax
mov byte [ebp - 4], 0x1f
mov word [ebp - 0x28c], 0xffff
mov byte [ebp - 0x28a], 0xff
call fcn.1002f1a0
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a703c
movups xmm0, xmmword [ebp - 0x220]
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
jmp 0x100a704c
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
lea ecx, [ebp - 0x220]
call fcn.1002a5a0
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x534], 0
je 0x100a70f5
push str.FAT_FUCK
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x21
mov byte [ebp - 0x285], al
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x288], 0xffff
push eax
mov byte [ebp - 0x286], 0xff
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x533], 0
je 0x100a71c8
push str.HAKE_OLD
lea ecx, [ebp - 0x240]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x23
mov byte [ebp - 0x295], al
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x298], 0xffff
push eax
mov byte [ebp - 0x296], 0xff
call fcn.100ab160
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a7198
movups xmm0, xmmword [ebp - 0x220]
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x220], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x210]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
jmp 0x100a71a8
lea eax, [ebp - 0x220]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
lea ecx, [ebp - 0x220]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov eax, dword [ebp - 0x1c0]
cmp byte [eax + 0x532], 0
je 0x100a729e
cmp byte [0x100cbd38], 0
lea ecx, [ebp - 0x240]
push str.HAKE
je 0x100a722d
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x281], al
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x284], 0xd29b
push eax
mov byte [ebp - 0x282], 0x64
call fcn.100ab160
mov byte [ebp - 4], 0x26
jmp 0x100a726f
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x299], al
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x240]
mov word [ebp - 0x29c], 0xffff
push eax
mov byte [ebp - 0x29a], 0xff
call fcn.100ab160
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov eax, dword [ebp - 0x1c0]
cmp dword [esi], 7
jne 0x100a731e
test eax, eax
je 0x100a731e
cmp dword [eax + 0x18], 0
jbe 0x100a731e
lea ecx, [eax + 8]
call fcn.10029cc0
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c4]
movzx ecx, al
shl ecx, 0x18
mov eax, ecx
or ecx, 0xff
or eax, 0x64d29b
cmp byte [edx + 0x400], 0
cmovne ecx, eax
test byte [edx + 0x420], 1
mov dword [ebp - 0x1ec], ecx
jne 0x100a731e
lea eax, [ebp - 0x1ec]
push eax
push ecx
lea ecx, [ebp - 0x260]
call fcn.100ab190
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 8
call fcn.1002a5a0
cmp dword [esi], 8
jne 0x100a752d
mov eax, dword [0x100ca4f8]
test eax, eax
je 0x100a752d
mov eax, dword [eax]
mov ecx, edi
mov dword [ebp - 0x1ec], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x1ec]
push eax
call fcn.100349b0
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x1f0], xmm0
fld qword [ebp - 0x1f0]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov eax, dword [ebp - 0x1c4]
add esp, 8
fstp qword [ebp - 0x1f0]
cvttsd2si edx, qword [ebp - 0x1f0]
cmp edx, 0xaf
jg 0x100a73af
mov word [ebp - 0x244], 0xd29b
mov byte [ebp - 0x242], 0x64
mov byte [ebp - 0x241], al
mov eax, dword [ebp - 0x244]
jmp 0x100a73cb
mov word [ebp - 0x204], 0xff
mov byte [ebp - 0x202], 0
mov byte [ebp - 0x201], al
mov eax, dword [ebp - 0x204]
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x1ec], eax
call fcn.1003bdc0
push 0x100bf4dc
mov edx, eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x240]
call fcn.10041b00
add esp, 4
lea ecx, [ebp - 0x1ec]
push ecx
push eax
lea ecx, [ebp - 0x260]
call fcn.100ab1d0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100a7446
movups xmm0, xmmword [ebp - 0x260]
mov eax, dword [ebp - 0x248]
mov edx, 0xf
mov byte [ebp - 0x260], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x250]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100a745c
lea eax, [ebp - 0x260]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.1007f960
mov edx, dword [ebp - 0x24c]
mov byte [ebp - 4], 0x2b
cmp edx, 0xf
jbe 0x100a7496
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x260]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a748c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100a74d4
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a74ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp ecx, 0xf
jbe 0x100a752d
mov edx, dword [ebp - 0x21c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a7523
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
add esp, 8
cmp dword [esi], 9
mov eax, dword [ebp - 0x1c0]
mov cl, byte [ebp - 0x1b9]
jne 0x100a75b6
test eax, eax
je 0x100a75b6
cmp dword [eax + 0x18], 0
je 0x100a75b6
test cl, cl
je 0x100a75b6
lea ecx, [eax + 8]
call fcn.10029cc0
mov ecx, dword [ebp - 0x1c4]
mov byte [ebp - 0x1c9], cl
lea ecx, [ebp - 0x1cc]
push ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x260]
sub eax, 0xffffff80
mov word [ebp - 0x1cc], 0x96cc
push eax
mov byte [ebp - 0x1ca], 0x60
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 8
call fcn.1002a5a0
mov eax, dword [ebp - 0x1c0]
mov cl, byte [ebp - 0x1b9]
cmp dword [esi], 0xa
jne 0x100a768e
test eax, eax
je 0x100a768e
cmp dword [eax + 0x18], 0
je 0x100a768e
test cl, cl
je 0x100a768e
lea ecx, [eax + 8]
call fcn.10029cc0
mov edx, str.OVERRIDE:BACK
mov eax, dword [eax]
sub eax, 0xffffff80
mov ecx, eax
mov dword [ebp - 0x1ec], eax
call fcn.1004e8c0
test al, al
jne 0x100a7624
mov ecx, dword [ebp - 0x1ec]
mov edx, str.OVERRIDE:RIGHT
call fcn.1004e8c0
test al, al
jne 0x100a7624
mov ecx, dword [ebp - 0x1ec]
mov edx, str.OVERRIDE:LEFT
call fcn.1004e8c0
test al, al
je 0x100a768e
push str.OVERRIDE
lea ecx, [ebp - 0x21c]
call fcn.1002a5f0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x2e
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x21c]
mov word [ebp - 0x18], 0xd29b
push eax
mov byte [ebp - 0x16], 0x64
call fcn.100ab160
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x24]
call fcn.100aae70
lea ecx, [ebp - 0x260]
call fcn.1002a5a0
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 8
call fcn.1002a5a0
add esi, 4
cmp esi, dword [ebp - 0x38]
jne 0x100a64d6
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov esi, dword [ebp - 0x24]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100a7775
xor eax, eax
xor edi, edi
mov dword [ebp - 0x18], eax
cmp dword [0x100dd340], 0
lea ecx, [esi + eax]
jne 0x100a76ff
mov eax, dword [0x1010e578]
dec eax
push 0
push ecx
push dword [ecx + 0x18]
mov ecx, dword [ebp - 0x1dc]
imul eax, edi
dec ecx
add eax, ecx
mov ecx, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x1e0]
add ecx, 2
add eax, ecx
mov ecx, 0x1010e570
jmp 0x100a7739
cmp dword [0x100dd340], 1
jne 0x100a7745
mov eax, dword [0x1010e548]
dec eax
push 0
push ecx
push dword [ecx + 0x18]
mov ecx, dword [ebp - 0x1dc]
imul eax, edi
add ecx, 0xfffffffe
add eax, ecx
mov ecx, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x1e0]
add ecx, 3
add eax, ecx
mov ecx, 0x1010e540
push eax
call fcn.1009bb70
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add eax, 0x1c
mov dword [ebp - 0x18], eax
sub ecx, esi
mov eax, 0x92492493
inc edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
mov eax, dword [ebp - 0x18]
jb 0x100a76c2
mov edi, dword [ebp - 0x228]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x100a77b6
mov eax, dword [ebp - 0x34]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a77a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7810
push ecx
push edx
call fcn.100acc31
mov esi, dword [ebp - 0x24]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100a7820
mov edx, dword [ebp - 0x20]
push ecx
mov ecx, esi
call fcn.1007f760
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
mov esi, dword [ebp - 0x24]
add esp, 4
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 0x100a7816
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a7816
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100acc31
add esp, 8
cmp byte [ebp - 0x1b9], 0
mov dword [ebp - 0x1c0], 3
je 0x100a8224
cmp byte [0x100cf780], 0
je 0x100a79bb
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0xaa0
add esi, 0x100de6e4
je 0x100a79bb
cmp byte [esi + 0x47d], 0
je 0x100a79bb
cmp dword [esi + 0x18], 0
je 0x100a79bb
lea ecx, [esi + 8]
call fcn.10029cc0
mov eax, dword [eax]
test eax, eax
je 0x100a79bb
movss xmm1, dword [eax + 0x3c]
movss xmm0, dword [eax + 0x38]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10023380
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100bf688]
jbe 0x100a78bf
cmp byte [eax + 0x428], 0
je 0x100a79bb
cmp dword [esi + 0x494], 3
jg 0x100a79bb
movss xmm0, dword [esi + 0x478]
lea edx, [ebp - 0x18]
subss xmm0, dword [eax + 0x430]
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1ec], 0x3f800000
push eax
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 0x18], 0
movss dword [ebp - 0x1cc], xmm0
call fcn.1002ac30
mov edx, dword [ebp - 0x1d8]
xorps xmm0, xmm0
add esp, 4
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100bf668]
comiss xmm1, xmm0
movss dword [ebp - 0x18], xmm1
jbe 0x100a79bb
mov esi, dword [ebp - 0x1e0]
push ecx
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
push 4
push edx
mov edx, dword [ebp - 0x1d4]
mov byte [eax + 3], cl
mov ecx, esi
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x1dc]
add eax, 2
add edx, eax
call fcn.1009ba80
mov eax, dword [0x100cf824]
lea ecx, [esi + 1]
mov edx, dword [ebp - 0x1d4]
add esp, 0xc
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x224]
mov byte [ebp - 0x1e9], al
cvttss2si eax, dword [ebp - 0x18]
push dword [ebp - 0x1ec]
push 2
push eax
mov eax, dword [ebp - 0x1dc]
add eax, 3
add edx, eax
call fcn.1009ba40
add esp, 0xc
mov dword [ebp - 0x1c0], 8
mov ecx, dword [0x1010ba54]
mov eax, dword [0x1010bd34]
add eax, 0xffffffa4
xor eax, 0xcbf97289
mov edx, dword [ecx]
add eax, dword [ebp - 0x1d0]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x204], esi
test esi, esi
je 0x100a8224
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x100a8224
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1ec], eax
mov eax, dword [0x1010bd50]
add eax, 0xffffff9d
xor eax, 0xcbf97290
mov esi, dword [eax + esi]
mov eax, dword [0x1010bbf0]
mov dword [ebp - 0x29c], esi
mov ecx, dword [eax + edx]
mov dword [ebp - 0x244], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a7a96
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1010bbac]
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [0x1010bc0c]
mov dword [ebp - 0x18], eax
cmp dword [edx + ecx], 0
jne 0x100a7a7a
mov eax, dword [0x1010bb88]
mov ecx, edx
call eax
mov ecx, dword [0x1010bc0c]
mov eax, dword [ebp - 0x18]
mov edx, eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x1cc]
cmp eax, 0x3c7
jne 0x100a7a96
mov al, 1
jmp 0x100a7a98
xor al, al
mov ecx, dword [ebp - 0x1ec]
mov byte [ebp - 0x1b9], al
cmp ecx, 0xffffffff
je 0x100a7cce
cmp byte [0x100cf5b4], 0
je 0x100a7cce
test al, al
je 0x100a7acb
mov eax, dword [ebp - 0x244]
movss xmm1, dword [eax + 0x64]
jmp 0x100a7add
movd xmm0, ecx
movd xmm1, esi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
mov eax, dword [ebp - 0x1d8]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov esi, dword [ebp - 0x1c0]
push 4
fstp dword [ebp - 0x1cc]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x1d4]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x1dc]
add eax, esi
add ecx, eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x18], ecx
add eax, 2
push eax
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0x1e0]
lea ecx, [ecx - 1]
call fcn.1009ba80
mov eax, dword [0x100cf6e0]
add esp, 0xc
cmp byte [ebp - 0x1c5], 0
mov dword [ebp - 0x1c0], eax
je 0x100a7b79
mov word [ebp - 0x1c0], 0x7d78
mov byte [ebp - 0x1be], 0x82
mov eax, dword [ebp - 0x224]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1e0]
add edx, 3
mov byte [ebp - 0x1bd], al
cvttss2si eax, dword [ebp - 0x1cc]
push dword [ebp - 0x1c0]
add eax, 2
push 2
push eax
call fcn.1009ba40
mov ecx, dword [ebp - 0x29c]
add esp, 0xc
test ecx, ecx
jle 0x100a7cc5
mov eax, dword [ebp - 0x1ec]
xorps xmm4, xmm4
movss xmm3, dword [0x100bf850]
movss xmm2, dword [0x100bf848]
cvtsi2ss xmm4, eax
mulss xmm4, dword [0x100bf664]
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm1, xmm4
cmpltss xmm0, xmm2
andps xmm2, xmm0
orps xmm2, xmm3
addss xmm1, xmm2
subss xmm1, xmm2
movss xmm2, dword [0x100bf674]
movaps xmm0, xmm1
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si eax, xmm1
cmp ecx, eax
jg 0x100a7cc5
cmp byte [ebp - 0x1b9], 0
jne 0x100a7cc5
mov eax, dword [0x100dd340]
test eax, eax
jne 0x100a7c66
mov edx, ecx
lea ecx, [ebp - 0x21c]
call fcn.1003bdc0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov dword [ebp - 4], 0x30
mov byte [eax + 3], cl
mov ecx, 0x1010e570
jmp 0x100a7c93
cmp eax, 1
jne 0x100a7cc5
mov edx, ecx
lea ecx, [ebp - 0x21c]
call fcn.1003bdc0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1c4]
mov eax, esp
mov dword [ebp - 4], 0x31
mov byte [eax + 3], cl
mov ecx, 0x1010e540
push dword [ebp - 0x18]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
cvttss2si eax, dword [ebp - 0x1cc]
add eax, dword [ebp - 0x1e0]
push eax
call fcn.1009bb70
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a5a0
add esi, 6
mov dword [ebp - 0x1c0], esi
cmp byte [0x100cf3b4], 0
je 0x100a80a5
mov eax, dword [0x1010bbc8]
mov ecx, dword [ebp - 0x204]
call eax
test eax, eax
je 0x100a7ecd
mov edx, dword [0x1010bbcc]
mov ecx, eax
call edx
test eax, eax
je 0x100a7ecd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x1010baa0]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x38], 0
mov ecx, edx
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100a7d35
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.1004e9a0
mov dword [ebp - 4], 0x32
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x38]
test edx, edx
jne 0x100a7d8f
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], dl
jmp 0x100a7e62
cmp dword [ebp - 0x34], 7
lea eax, [ebp - 0x48]
mov ecx, dword [0x100de5b0]
cmova eax, dword [ebp - 0x48]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x240]
push 0
push esi
call fcn.10040610
push eax
lea ecx, [ebp - 0x30]
call fcn.10040590
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x100a7e06
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a7dfc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a7ea7
push ecx
push edx
call fcn.100acc31
add esp, 8
cmp dword [ebp - 0x1c], 0xf
lea ecx, [ebp - 0x30]
mov edx, dword [0x100de5b0]
lea eax, [ebp - 0x48]
cmova ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x34], 7
push 0
cmova eax, dword [ebp - 0x48]
push 0
push esi
push ecx
push dword [ebp - 0x38]
mov dword [ebp - 0x230], 0
push eax
push 0
push 0xfde9
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
call edx
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ebp - 0x60], xmm0
movq xmm0, qword [ebp - 0x20]
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 0x30], 0
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
cmp ecx, 7
jbe 0x100a7eb7
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a7ead
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a7ead
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100acc31
add esp, 8
xor eax, eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
jmp 0x100a7ef1
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.error
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
call fcn.1002aed0
mov dword [ebp - 4], 0x34
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0xf
lea ecx, [ebp - 0x60]
mov edx, dword [ebp - 0x60]
lea esi, [ebp - 0x60]
cmova eax, edx
cmova ecx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x50]
add eax, ecx
cmp dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x1ec], eax
cmova esi, edx
cmp esi, eax
je 0x100a7f4f
sub dword [ebp - 0x18], esi
mov edi, dword [ebp - 0x18]
nop dword [eax]
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x1ec]
jne 0x100a7f30
mov edi, dword [ebp - 0x228]
mov eax, dword [0x100dd340]
test eax, eax
jne 0x100a7fec
cmp byte [ebp - 0x1c5], 0
lea eax, [ebp - 0x60]
mov esi, dword [ebp - 0x1c0]
push 2
push eax
push ecx
mov eax, esp
je 0x100a7fb6
mov ecx, dword [ebp - 0x1c4]
mov byte [eax + 3], cl
mov ecx, 0x1010e570
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1dc]
add eax, esi
add eax, dword [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x1d8]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push eax
call fcn.1009bb70
jmp 0x100a8064
mov dword [eax], 0xd2ffffff
mov ecx, 0x1010e570
mov eax, dword [ebp - 0x1dc]
add eax, esi
add eax, dword [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x1d8]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push eax
call fcn.1009bb70
jmp 0x100a8064
cmp eax, 1
jne 0x100a805e
cmp byte [ebp - 0x1c5], 0
lea eax, [ebp - 0x60]
push 2
push eax
push ecx
mov eax, esp
je 0x100a8017
mov ecx, dword [ebp - 0x1c4]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], cl
jmp 0x100a801d
mov dword [eax], 0xd2ffffff
mov eax, dword [ebp - 0x1dc]
mov ecx, 0x1010e540
add eax, dword [ebp - 0x1c0]
add eax, dword [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x1d8]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1e0]
push eax
call fcn.1009bb70
mov eax, dword [ebp - 0x1c0]
add eax, dword [0x1010e578]
mov dword [ebp - 0x1c0], eax
mov esi, dword [ebp - 0x1c0]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4c]
cmp eax, 0xf
jbe 0x100a80ab
mov edx, dword [ebp - 0x60]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a8099
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a8099
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100acc31
add esp, 8
jmp 0x100a80ab
mov esi, dword [ebp - 0x1c0]
cmp byte [0x100cf32c], 0
je 0x100a8224
cmp byte [ebp - 0x1c5], 0
je 0x100a80df
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
movsx eax, word [eax*8 + 0x10110d98]
mov edx, eax
shr edx, 0x18
mov dword [ebp - 0x1ec], edx
jmp 0x100a8105
mov eax, dword [0x1010bd4c]
mov ecx, dword [ebp - 0x204]
add eax, 0xffffff9e
xor eax, 0xcbf9728f
mov eax, dword [eax + ecx]
mov edx, eax
mov ecx, eax
shr edx, 0x18
shr ecx, 0x10
mov dword [ebp - 0x1ec], ecx
mov ecx, eax
mov dword [ebp - 0x18], eax
movzx eax, al
xor eax, 0x811c9dc5
shr ecx, 8
mov dword [ebp - 0x228], ecx
imul ecx, eax, 0x1000193
mov eax, dword [ebp - 0x228]
movzx eax, al
xor ecx, eax
mov eax, dword [ebp - 0x1ec]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x10111064
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2a0]
push eax
call fcn.100abbe0
mov edx, dword [0x10111068]
lea ecx, [ebp - 0x30]
xorps xmm0, xmm0
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 0x20], 0
cmovne edx, eax
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
cmp edx, dword [0x10111068]
je 0x100a8197
push 1
lea eax, [edx + 0xc]
push eax
jmp 0x100a819e
push 0
push 0x100b9686
call fcn.1002aed0
push 2
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x35
push eax
mov eax, dword [ebp - 0x1c4]
movzx ecx, al
mov eax, dword [ebp - 0x1d8]
shl ecx, 0x18
or ecx, 0xffffff
cdq
push ecx
mov ecx, dword [ebp - 0x1dc]
sub eax, edx
add ecx, esi
sar eax, 1
add ecx, dword [ebp - 0x1d4]
add eax, dword [ebp - 0x1e0]
push ecx
push eax
mov ecx, 0x1010e5ac
call fcn.1009bb70
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100a8224
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a821a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a821a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100acc31
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100ac7b6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4