Function at 0x100aedf0
Capabilities:
Authenticate hmac
Encode data using base64

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 0x100c628f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x508
mov eax, dword [0x100db364]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebx + 8]
xor eax, eax
mov dword [ebp - 0x3bc], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0xac], xmm0
mov dword [ebp - 0x380], edi
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], al
mov dword [ebp - 4], eax
mov ecx, dword [0x102e4dd0]
mov eax, dword [0x102cb660]
add ecx, 0xffffffdb
xor ecx, 0xb66caf2f
movss xmm1, dword [edi + ecx]
movss xmm2, dword [edi + ecx + 4]
subss xmm2, dword [ecx + eax + 4]
subss xmm1, dword [ecx + eax]
movss xmm0, dword [edi + ecx + 8]
subss xmm0, dword [ecx + eax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x100d0668]
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [0x100d06f8]
cvttsd2si esi, xmm0
mov dword [ebp - 0x7c], esi
test esi, esi
jle 0x100aef7f
cmp esi, 5
jle 0x100aef29
mov eax, 0x66666667
mov ecx, esi
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
je 0x100aef12
dec esi
mov eax, 0x66666667
imul esi
mov ecx, esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x100aeef5
mov dword [ebp - 0x7c], esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
jne 0x100aef7f
lea eax, [ebp - 0x7c]
mov edx, str._i_FT
push eax
lea ecx, [ebp - 0x74]
call fcn.100546e0
add esp, 4
lea ecx, [ebp - 0xac]
push eax
call fcn.10043920
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x100aef7f
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aef75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100aef75
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
mov eax, dword [edi + 8]
add edi, 8
mov ecx, edi
mov dword [ebp - 0x5c], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x102e4de4]
mov ecx, dword [0x102e4c24]
add edx, 0xffffffd6
mov dword [ebp - 0x3c0], eax
xor edx, 0xb66caf34
lea esi, [eax*4 + 0x102e87f4]
mov eax, dword [ebp - 0x380]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100d07c4]
mov ecx, dword [eax + edx]
mov eax, dword [0x102cb660]
movss dword [ebp - 0x37c], xmm0
cmp ecx, dword [edx + eax]
je 0x100aefe2
mov byte [ebp - 0x369], 1
jmp 0x100aeff8
mov ecx, dword [0x102e4cac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x369]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x102d45bc], 0
mov dl, al
mov dh, byte [ebp - 0x369]
mov byte [ebp - 0x361], dl
je 0x100af046
test dh, dh
je 0x100af046
test dl, dl
jne 0x100af059
mov eax, dword [0x102e4e74]
mov ecx, dword [ebp - 0x380]
add eax, 0xffffffb2
xor eax, 0xb66caf58
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x3c0]
mov byte [eax + 0x102e87b7], 1
jmp 0x100af06c
test dl, dl
jne 0x100af059
mov eax, dword [ebp - 0x3c0]
mov byte [eax + 0x102e87b7], 1
jmp 0x100af06c
mov eax, dword [ebp - 0x3c0]
cmp byte [eax + 0x102e87b7], 0
je 0x100b25df
movss xmm0, dword [esi]
test dl, dl
je 0x100af07e
subss xmm0, dword [ebp - 0x37c]
jmp 0x100af086
addss xmm0, dword [ebp - 0x37c]
movss dword [esi], xmm0
test dh, dh
je 0x100af09b
cmp byte [0x102d12a4], 0
je 0x100af09b
mov dh, 1
jmp 0x100af09d
xor dh, dh
movss xmm0, dword [esi]
lea ecx, [ebp - 0x4c0]
comiss xmm0, dword [0x100d0718]
mov dword [ebp - 0x4c0], 0x3f800000
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x37c], 0
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 0x100af0f1
test dh, dh
je 0x100b25df
mov ecx, dword [0x102e4e50]
mov eax, dword [0x102e4c24]
add ecx, 0xffffffbb
mov esi, dword [ebp - 0x380]
xor ecx, 0xb66caf4f
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x100af126
comiss xmm2, dword [0x100d0834]
ja 0x100b25df
movaps xmm0, xmm1
mulss xmm1, dword [0x100d0904]
mulss xmm0, dword [0x100d0928]
cvttss2si eax, xmm0
mov dword [ebp - 0x3c4], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x368], eax
mov eax, dword [0x102d13e0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x37c], eax
test dl, dl
je 0x100af1e4
test dh, dh
je 0x100af1e4
movss xmm0, dword [0x100d081c]
comiss xmm2, xmm0
mov dword [ebp - 0x3c4], 0x70
mov dword [ebp - 0x368], 0x50
jbe 0x100af1cb
subss xmm2, xmm0
movss xmm0, dword [0x100d08d8]
movaps xmm1, xmm2
mulss xmm2, dword [0x100d0850]
mulss xmm1, dword [0x100d0860]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100d08b4]
subss xmm0, xmm2
mov dword [ebp - 0x3c4], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x3a0], 0xff707070
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x37c], eax
mov ecx, dword [0x102e4bc8]
lea edx, [ebp - 0x208]
push edx
push dword [ebp - 0x3c0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100b25df
push dword [ebp - 0x3c4]
push esi
call fcn.100ae870
mov dword [ebp - 0x20], 0
mov ecx, esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x20]
movss xmm0, dword [eax]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [eax + 4]
mov eax, dword [0x102e4d1c]
push ecx
mov ecx, esi
movss dword [ebp - 0x3b8], xmm0
call eax
movss xmm0, dword [ebp - 0x18]
lea edx, [ebp - 0x3b0]
addss xmm0, dword [0x100d0818]
movss xmm2, dword [ebp - 0x374]
lea ecx, [ebp - 0x20]
movss xmm1, dword [ebp - 0x3b8]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x100d082c]
movss dword [ebp - 0x48], xmm2
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
call fcn.100a5cb0
test al, al
je 0x100b25df
lea edx, [ebp - 0x4c8]
lea ecx, [ebp - 0x48]
call fcn.100a5cb0
test al, al
je 0x100b25df
cmp byte [ebp - 0x369], 0
movss xmm4, dword [ebp - 0x3ac]
movaps xmm0, xmm4
subss xmm0, dword [ebp - 0x4c4]
cvttss2si eax, xmm0
mov dword [ebp - 0x3b4], eax
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
subss xmm4, xmm3
mulss xmm0, dword [0x100d06d8]
cvttss2si eax, xmm0
mov dword [ebp - 0x3a0], eax
movd xmm0, eax
cvtdq2ps xmm1, xmm0
movss xmm0, dword [ebp - 0x3b0]
mulss xmm1, dword [0x100d06d8]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x3a4], eax
cvttss2si eax, xmm4
mov dword [ebp - 0x3a8], eax
je 0x100af363
cmp byte [0x102d24f8], 0
jne 0x100af370
jmp 0x100af385
cmp byte [0x102d121c], 0
je 0x100af4fe
push dword [ebp - 0x3c4]
push esi
call fcn.100b34d0
cmp byte [ebp - 0x369], 0
je 0x100af390
cmp byte [0x102d2650], 0
jne 0x100af39d
jmp 0x100af3b2
cmp byte [0x102d121c], 0
je 0x100af4fe
push dword [ebp - 0x3c4]
push esi
call fcn.100b31f0
cmp byte [ebp - 0x369], 0
je 0x100af3c6
cmp byte [0x102d132c], 0
jne 0x100af3d3
mov esi, dword [ebp - 0x3a8]
jmp 0x100af4c9
cmp byte [0x102d121c], 0
je 0x100af4fe
movd xmm3, dword [ebp - 0x368]
lea ecx, [ebp - 0x30]
movzx eax, byte [0x102d13e3]
mov edx, esi
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x36d], al
mov word [ebp - 0x370], 0
mov byte [ebp - 0x36e], 0
push dword [ebp - 0x370]
call fcn.100aed70
movzx ecx, byte [0x102d13e3]
add esp, 4
mov dword [ebp - 0x374], ecx
movd xmm2, ecx
lea ecx, [ebp - 0x78]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.100aac60
movd xmm3, dword [ebp - 0x3c4]
movzx edx, byte [ebp - 0x37a]
mov byte [ebp - 0x36e], dl
mov esi, dword [eax]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x380]
movzx ecx, ah
movzx eax, al
mov byte [ebp - 0x370], al
mov eax, dword [ebp - 0x374]
mov byte [ebp - 0x36f], cl
lea ecx, [ebp - 0x40]
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x36d], al
push dword [ebp - 0x370]
call fcn.100aed70
movzx ecx, byte [0x102d13e3]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3c8]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.100aac60
mov ecx, dword [ebp - 0x3a4]
push esi
mov esi, dword [ebp - 0x3a8]
mov edx, esi
push dword [eax]
push dword [ebp - 0x3b4]
push dword [ebp - 0x3a0]
call fcn.100a5ea0
add esp, 0x10
cmp byte [ebp - 0x369], 0
je 0x100af504
cmp byte [0x102d150c], 0
jne 0x100af50d
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x368], eax
mov al, byte [ebp - 0x369]
test al, al
je 0x100af5b3
cmp byte [0x102d1484], 0
jne 0x100af5c0
jmp 0x100af789
mov esi, dword [ebp - 0x3a8]
cmp byte [0x102d121c], 0
je 0x100af4d2
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1002e5a0
push 0x18
push 0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 1
push ecx
mov ecx, eax
call fcn.10049ed0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1002e550
cmp dword [ebp - 0x64], 0xf
jbe 0x100af55a
push 0
push 0xf
lea ecx, [ebp - 0x74]
call fcn.1003bad0
push 0x100d0068
lea ecx, [ebp - 0x74]
call fcn.100438d0
mov eax, dword [0x102d15c0]
mov ecx, 0x102e808c
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x379], al
lea eax, [ebp - 0x74]
push 2
push eax
push dword [ebp - 0x37c]
mov eax, esi
sub eax, dword [0x102e8094]
push eax
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100a61d0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.1002e550
jmp 0x100af4de
cmp byte [0x102d121c], 0
je 0x100af789
mov ecx, dword [0x102e4e28]
lea eax, [ebp - 0x4cc]
mov esi, dword [ebp - 0x3b4]
add ecx, 0xffffffc5
xor ecx, 0xb66caf45
mov dword [ebp - 0x4cc], 0x64
add ecx, dword [ebp - 0x380]
add esi, 0xfffffffe
cmp dword [ecx], 0x64
cmovl eax, ecx
mov ecx, dword [eax]
mov eax, 0x64
sub eax, ecx
mov dword [ebp - 0x374], ecx
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, dword [ebp - 0x374], 0x1fe
mov dword [ebp - 0x34], 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 - 0x3b8], eax
mov eax, dword [ebp - 0x374]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100d0630]
movss dword [ebp - 0x37c], xmm0
fld dword [ebp - 0x37c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov edx, dword [ebp - 0x3a8]
fstp dword [ebp - 0x37c]
cvttss2si esi, dword [ebp - 0x37c]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x3a4]
lea edx, [edx - 1]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x3b4]
add eax, 2
lea ecx, [ecx - 6]
push eax
push 4
call fcn.100a5e60
mov ecx, dword [ebp - 0x34]
add esp, 8
mov edx, dword [ebp - 0x3a8]
mov eax, esp
add edx, 0xfffffffe
mov byte [eax], cl
mov ecx, dword [ebp - 0x3b8]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x3c4]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x3b4]
mov byte [eax + 2], 0
sub ecx, esi
lea eax, [esi + 2]
mov dword [ebp - 0x37c], ecx
mov esi, dword [ebp - 0x3a4]
add edx, ecx
push eax
push 2
add esi, 0xfffffffb
mov ecx, esi
call fcn.100a5e20
mov eax, dword [0x102e4e28]
add esp, 0xc
mov ecx, dword [ebp - 0x380]
add eax, 0xffffffc5
xor eax, 0xb66caf45
cmp dword [eax + ecx], 0x5c
jg 0x100af783
mov edx, dword [ebp - 0x374]
lea ecx, [ebp - 0x74]
call fcn.1003f2f0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [ebp - 4], 4
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x3a8]
mov word [eax], 0xffff
add ecx, 0xfffffff9
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x37c]
add eax, ecx
mov ecx, 0x102e8074
push eax
push esi
call fcn.100a61d0
lea ecx, [ebp - 0x74]
call fcn.1002e550
mov al, byte [ebp - 0x369]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 5
movq qword [ebp - 0x68], xmm0
mov dword [ebp - 0x60], 0
test al, al
je 0x100af7e5
push 0x102d1dec
lea ecx, [ebp - 0x504]
call fcn.1002db40
mov ecx, dword [ebp - 0x378]
or ecx, 0x40
lea edx, [ebp - 0x504]
or ecx, 1
jmp 0x100af807
push 0x102d1e94
lea ecx, [ebp - 0x4f8]
call fcn.1002db40
mov ecx, dword [ebp - 0x378]
lea edx, [ebp - 0x4f8]
or ecx, 0x82
mov esi, dword [edx + 4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x37c], esi
mov esi, dword [edx]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx], 0
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 7
test cl, 2
je 0x100af864
and ecx, 0xfffffffd
mov dword [ebp - 0x378], ecx
lea ecx, [ebp - 0x4f8]
call fcn.1002dc30
mov ecx, dword [ebp - 0x378]
mov byte [ebp - 4], 8
test cl, 1
je 0x100af881
and ecx, 0xfffffffe
mov dword [ebp - 0x378], ecx
lea ecx, [ebp - 0x504]
call fcn.1002dc30
mov edx, dword [ebp - 0x3c0]
lea edi, [ebp - 0x360]
mov ecx, dword [0x102e4bc8]
imul eax, edx, 0x4df0
push edi
push edx
lea eax, [eax + 0x1012dc0c]
mov dword [ebp - 0x370], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov edi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x2cc]
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100af8d0
sub ecx, edx
lea eax, [ebp - 0x2cc]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.1002ef20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x378]
mov edx, dword [ebp - 0x44]
or eax, 4
cmp dword [ebp - 0x40], 0x10
push 0x13
cmovae ecx, dword [ebp - 0x54]
push str.STEAM_1:0:174177380
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x3bc], eax
call fcn.10052560
add esp, 8
test al, al
jne 0x100af940
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x398]
call fcn.1002e5a0
mov eax, dword [ebp - 0x378]
or eax, 8
jmp 0x100af946
mov eax, dword [ebp - 0x378]
test al, 8
je 0x100af964
and eax, 0xfffffff7
lea ecx, [ebp - 0x398]
mov dword [ebp - 0x378], eax
call fcn.1002e550
mov eax, dword [ebp - 0x378]
mov dword [ebp - 4], 8
test al, 4
je 0x100af977
lea ecx, [ebp - 0x54]
call fcn.1002e550
cmp esi, dword [ebp - 0x37c]
je 0x100b169c
cmp dword [esi], 0
jne 0x100afb4b
mov eax, dword [0x102e4e2c]
lea ecx, [ebp - 0x54]
add eax, 0xffffffc4
mov edx, 0x100d04c0
xor eax, 0xb66caf46
add eax, dword [ebp - 0x380]
push eax
call fcn.100546e0
add esp, 4
cmp byte [ebp - 0x361], 0
je 0x100afa53
mov ecx, dword [ebp - 0x368]
mov byte [ebp - 0x3bd], cl
lea ecx, [ebp - 0x39c]
push eax
mov byte [ebp - 4], 0xa
mov word [ebp - 0x3c0], 0xc896
mov byte [ebp - 0x3be], 0x3c
call fcn.10033650
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100afa34
movups xmm0, xmmword [ebp - 0x39c]
mov edx, 0xf
mov byte [ebp - 0x39c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x38c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
mov byte [ebp - 4], 0xa
jmp 0x100afadd
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
mov edx, dword [ebp - 0x388]
mov byte [ebp - 4], 0xa
jmp 0x100afadd
mov ecx, dword [ebp - 0x368]
mov byte [ebp - 0x469], cl
lea ecx, [ebp - 0x39c]
push eax
mov byte [ebp - 4], 0xc
mov word [ebp - 0x46c], 0xc896
mov byte [ebp - 0x46a], 0x3c
call fcn.10033650
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100afac3
movups xmm0, xmmword [ebp - 0x39c]
mov edx, 0xf
mov byte [ebp - 0x39c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x38c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
jmp 0x100afad9
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
mov edx, dword [ebp - 0x388]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x100afb13
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x39c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100afb09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aef6f
push ecx
push edx
call fcn.100babc1
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100afb4b
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100afb41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aef6f
push ecx
push edx
call fcn.100babc1
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x380]
jne 0x100afd72
mov eax, dword [0x102e4e60]
add eax, 0xffffffb7
xor eax, 0xb66caf53
cmp byte [eax + ecx], 0
mov eax, dword [0x102e4e7c]
je 0x100afca8
add eax, 0xffffffb0
xor eax, 0xb66caf5a
push 0x100d0490
cmp dword [eax + ecx], 0
lea ecx, [ebp - 0x54]
jle 0x100afc1c
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100afbdd
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0xe
mov byte [ebp - 0x429], al
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x42c], 0xffff
push eax
mov byte [ebp - 0x42a], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0xf
jmp 0x100afd46
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x46d], al
lea eax, [ebp - 0x470]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x470], 0xffff
push eax
mov byte [ebp - 0x46e], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0x11
jmp 0x100afd46
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100afc69
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x471], al
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x474], 0xffff
push eax
mov byte [ebp - 0x472], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0x13
jmp 0x100afd46
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x475], al
lea eax, [ebp - 0x478]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x478], 0xffff
push eax
mov byte [ebp - 0x476], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0x15
jmp 0x100afd46
add eax, 0xffffffb0
xor eax, 0xb66caf5a
cmp dword [eax + ecx], 0
jle 0x100afd72
push 0x100d0494
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100afd0c
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x479], al
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x47c], 0xffff
push eax
mov byte [ebp - 0x47a], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0x17
jmp 0x100afd46
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x18
mov byte [ebp - 0x47d], al
lea eax, [ebp - 0x480]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x480], 0xffff
push eax
mov byte [ebp - 0x47e], 0xff
call fcn.100b5290
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
mov ecx, dword [ebp - 0x380]
cmp dword [esi], 2
jne 0x100afec1
mov eax, dword [0x102e4e6c]
add eax, 0xffffffb4
xor eax, 0xb66caf56
cmp byte [eax + ecx], 0
je 0x100afec1
cmp byte [ebp - 0x361], 0
lea ecx, [ebp - 0x54]
je 0x100afe57
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push str.ZOOM
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0
call fcn.1002ef20
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 0x481], al
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x484], 0xb43c
mov byte [ebp - 0x482], 0xe1
call fcn.10033650
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100afe45
movups xmm0, xmmword [ebp - 0x39c]
mov byte [ebp - 0x39c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x38c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0xf
jmp 0x100afeaa
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
jmp 0x100afeaa
push str.ZOOM
call fcn.1002e5a0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x485], al
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x488], 0xb43c
push eax
mov byte [ebp - 0x486], 0xe1
call fcn.100b5290
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x380]
jne 0x100affa9
mov eax, dword [0x102e4e88]
add eax, 0xffffffad
xor eax, 0xb66caf5d
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100affa9
push str.BLIND
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100aff40
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x489], al
lea eax, [ebp - 0x48c]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x48c], 0xb43c
push eax
mov byte [ebp - 0x48a], 0xe1
call fcn.100b5290
mov byte [ebp - 4], 0x1f
jmp 0x100aff7a
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x20
mov byte [ebp - 0x48d], al
lea eax, [ebp - 0x490]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x490], 0xb43c
push eax
mov byte [ebp - 0x48e], 0xe1
call fcn.100b5290
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
mov edx, dword [ebp - 0x380]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x100b00ca
mov eax, dword [0x102e4d60]
mov ecx, dword [edx + eax]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100b00ca
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x102e4d20]
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x102e4d78]
mov dword [ebp - 0x3c8], eax
cmp dword [edx + ecx], 0
jne 0x100affff
mov eax, dword [0x102e4cfc]
mov ecx, edx
call eax
mov ecx, dword [0x102e4d78]
mov eax, dword [ebp - 0x3c8]
mov edx, eax
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x40]
cmp eax, 0x3c7
jne 0x100b00ca
push str.RELOAD
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100b006a
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x22
mov byte [ebp - 0x491], al
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x494], 0xb43c
push eax
mov byte [ebp - 0x492], 0xe1
call fcn.100b5290
mov byte [ebp - 4], 0x23
jmp 0x100b00a4
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x24
mov byte [ebp - 0x495], al
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x498], 0xb43c
push eax
mov byte [ebp - 0x496], 0xe1
call fcn.100b5290
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 5
jne 0x100b019a
mov eax, dword [0x102e4d2c]
mov ecx, dword [ebp - 0x380]
call eax
test al, al
je 0x100b019a
push 0x100d04f4
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
cmp byte [ebp - 0x361], 0
je 0x100b013a
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x499], al
lea eax, [ebp - 0x49c]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x49c], 0xff
push eax
mov byte [ebp - 0x49a], 0
call fcn.100b5290
mov byte [ebp - 4], 0x27
jmp 0x100b0174
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x28
mov byte [ebp - 0x4a1], al
lea eax, [ebp - 0x4a4]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x4a4], 0xff
push eax
mov byte [ebp - 0x4a2], 0
call fcn.100b5290
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 6
mov eax, dword [ebp - 0x370]
jne 0x100b0263
test eax, eax
je 0x100b0263
cmp dword [eax + 0x18], 0
je 0x100b0263
lea ecx, [eax + 8]
call fcn.1002dcf0
mov eax, dword [eax]
test eax, eax
je 0x100b025d
cmp byte [eax + 0x10], 0
jne 0x100b025d
mov eax, dword [eax + 0x4c28]
cmp eax, 1
je 0x100b025d
cmp eax, 2
je 0x100b025d
cmp eax, 0xd
je 0x100b025d
test eax, eax
je 0x100b025d
push str.FAKE
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x2a
mov byte [ebp - 0x4a5], al
lea eax, [ebp - 0x4a8]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x4a8], 0xffff
push eax
mov byte [ebp - 0x4a6], 0xff
call fcn.100b5290
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [ebp - 0x370]
cmp dword [esi], 7
jne 0x100b10f2
test eax, eax
je 0x100b10f2
mov eax, dword [0x102cd514]
mov ecx, dword [0x102cd510]
cmp ecx, eax
je 0x100b02f8
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4e8]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd514]
je 0x100b02f8
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 0x4a9], al
lea eax, [ebp - 0x4ac]
push eax
push str.VADER
mov word [ebp - 0x4ac], 0xffff
mov byte [ebp - 0x4aa], 0xff
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd52c]
mov ecx, dword [0x102cd528]
cmp ecx, eax
je 0x100b03a7
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4ec]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd52c]
je 0x100b03a7
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0358
mov byte [ebp - 0x4ad], al
lea eax, [ebp - 0x4b0]
mov word [ebp - 0x4b0], 0xffff
mov byte [ebp - 0x4ae], 0xff
jmp 0x100b0374
mov byte [ebp - 0x4b1], al
lea eax, [ebp - 0x4b4]
mov word [ebp - 0x4b4], 0xffff
mov byte [ebp - 0x4b2], 0xff
push eax
push str.KAABA
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd520]
mov ecx, dword [0x102cd51c]
cmp ecx, eax
je 0x100b0456
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x508]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd520]
je 0x100b0456
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0407
mov byte [ebp - 0x4b5], al
lea eax, [ebp - 0x4b8]
mov word [ebp - 0x4b8], 0xf2ce
mov byte [ebp - 0x4b6], 0xa7
jmp 0x100b0423
mov byte [ebp - 0x4b9], al
lea eax, [ebp - 0x4bc]
mov word [ebp - 0x4bc], 0xf2ce
mov byte [ebp - 0x4ba], 0xa7
push eax
push str.CHEESE
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd538]
mov ecx, dword [0x102cd534]
cmp ecx, eax
je 0x100b0501
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x50c]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd538]
je 0x100b0501
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b04b6
mov byte [ebp - 0x3d1], al
lea eax, [ebp - 0x3d4]
mov word [ebp - 0x3d4], 0xf2ce
mov byte [ebp - 0x3d2], 0xa7
jmp 0x100b04d2
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x3d8]
mov word [ebp - 0x3d8], 0xf2ce
mov byte [ebp - 0x3d6], 0xa7
push eax
push ecx
lea ecx, [ebp - 0x39c]
call fcn.100b5310
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd544]
mov ecx, dword [0x102cd540]
cmp ecx, eax
je 0x100b05b0
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x510]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd544]
je 0x100b05b0
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0561
mov byte [ebp - 0x3d9], al
lea eax, [ebp - 0x3dc]
mov word [ebp - 0x3dc], 0xf2ce
mov byte [ebp - 0x3da], 0xa7
jmp 0x100b057d
mov byte [ebp - 0x3dd], al
lea eax, [ebp - 0x3e0]
mov word [ebp - 0x3e0], 0xf2ce
mov byte [ebp - 0x3de], 0xa7
push eax
push str.CHEESE
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd550]
mov ecx, dword [0x102cd54c]
cmp ecx, eax
je 0x100b065f
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x514]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd550]
je 0x100b065f
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0610
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x3e4]
mov word [ebp - 0x3e4], 0x7c40
mov byte [ebp - 0x3e2], 0xf5
jmp 0x100b062c
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x3e8]
mov word [ebp - 0x3e8], 0x7c40
mov byte [ebp - 0x3e6], 0xf5
push eax
push str.DOPIUM
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd4f0]
mov ecx, dword [0x102cd4ec]
cmp ecx, eax
je 0x100b070a
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4d0]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd4f0]
je 0x100b070a
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b06bf
mov byte [ebp - 0x3e9], al
lea eax, [ebp - 0x3ec]
mov word [ebp - 0x3ec], 0xffff
mov byte [ebp - 0x3ea], 0xff
jmp 0x100b06db
mov byte [ebp - 0x3ed], al
lea eax, [ebp - 0x3f0]
mov word [ebp - 0x3f0], 0xffff
mov byte [ebp - 0x3ee], 0xff
push eax
push ecx
lea ecx, [ebp - 0x39c]
call fcn.100b5350
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd4cc]
mov ecx, dword [0x102cd4c8]
cmp ecx, eax
je 0x100b07b9
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4d4]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd4cc]
je 0x100b07b9
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b076a
mov byte [ebp - 0x3f1], al
lea eax, [ebp - 0x3f4]
mov word [ebp - 0x3f4], 0xffff
mov byte [ebp - 0x3f2], 0xff
jmp 0x100b0786
mov byte [ebp - 0x3f5], al
lea eax, [ebp - 0x3f8]
mov word [ebp - 0x3f8], 0xffff
mov byte [ebp - 0x3f6], 0xff
push eax
push str.ROBERTHOOK
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd4d8]
mov ecx, dword [0x102cd4d4]
cmp ecx, eax
je 0x100b0868
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4d8]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd4d8]
je 0x100b0868
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0819
mov byte [ebp - 0x3f9], al
lea eax, [ebp - 0x3fc]
mov word [ebp - 0x3fc], 0xffff
mov byte [ebp - 0x3fa], 0xff
jmp 0x100b0835
mov byte [ebp - 0x3fd], al
lea eax, [ebp - 0x400]
mov word [ebp - 0x400], 0xffff
mov byte [ebp - 0x3fe], 0xff
push eax
push str.BOOGIE
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x34
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd4e4]
mov ecx, dword [0x102cd4e0]
cmp ecx, eax
je 0x100b0917
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4dc]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd4e4]
je 0x100b0917
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b08c8
mov byte [ebp - 0x401], al
lea eax, [ebp - 0x404]
mov word [ebp - 0x404], 0xffff
mov byte [ebp - 0x402], 0xff
jmp 0x100b08e4
mov byte [ebp - 0x405], al
lea eax, [ebp - 0x408]
mov word [ebp - 0x408], 0xffff
mov byte [ebp - 0x406], 0xff
push eax
push 0x100d0548
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd55c]
mov ecx, dword [0x102cd558]
cmp ecx, eax
je 0x100b09c6
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x518]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd55c]
je 0x100b09c6
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0977
mov byte [ebp - 0x409], al
lea eax, [ebp - 0x40c]
mov word [ebp - 0x40c], 0x778e
mov byte [ebp - 0x40a], 0xed
jmp 0x100b0993
mov byte [ebp - 0x40d], al
lea eax, [ebp - 0x410]
mov word [ebp - 0x410], 0x778e
mov byte [ebp - 0x40e], 0xed
push eax
push str.PANDORA
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd574]
mov ecx, dword [0x102cd570]
cmp ecx, eax
je 0x100b0a75
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4e0]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd574]
je 0x100b0a75
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0a26
mov byte [ebp - 0x411], al
lea eax, [ebp - 0x414]
mov word [ebp - 0x414], 0xffff
mov byte [ebp - 0x412], 0xff
jmp 0x100b0a42
mov byte [ebp - 0x415], al
lea eax, [ebp - 0x418]
mov word [ebp - 0x418], 0xffff
mov byte [ebp - 0x416], 0xff
push eax
push str.ZERGHACK
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd568]
mov ecx, dword [0x102cd564]
cmp ecx, eax
je 0x100b0b24
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4e4]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd568]
je 0x100b0b24
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0ad5
mov byte [ebp - 0x419], al
lea eax, [ebp - 0x41c]
mov word [ebp - 0x41c], 0xffff
mov byte [ebp - 0x41a], 0xff
jmp 0x100b0af1
mov byte [ebp - 0x41d], al
lea eax, [ebp - 0x420]
mov word [ebp - 0x420], 0xffff
mov byte [ebp - 0x41e], 0xff
push eax
push str.GODHOOK
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd508]
mov ecx, dword [0x102cd504]
cmp ecx, eax
je 0x100b0bd3
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x4c4]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd508]
je 0x100b0bd3
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0b84
mov byte [ebp - 0x421], al
lea eax, [ebp - 0x424]
mov word [ebp - 0x424], 0xffff
mov byte [ebp - 0x422], 0xff
jmp 0x100b0ba0
mov byte [ebp - 0x425], al
lea eax, [ebp - 0x428]
mov word [ebp - 0x428], 0xffff
mov byte [ebp - 0x426], 0xff
push eax
push str.OLIVE
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd4fc]
mov ecx, dword [0x102cd4f8]
cmp ecx, eax
je 0x100b0c82
push eax
push ecx
lea edx, [ebp - 0x178]
lea ecx, [ebp - 0x3ac]
call fcn.1002ed10
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x102cd4fc]
je 0x100b0c82
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0c33
mov byte [ebp - 0x49d], al
lea eax, [ebp - 0x4a0]
mov word [ebp - 0x4a0], 0xffff
mov byte [ebp - 0x49e], 0xff
jmp 0x100b0c4f
mov byte [ebp - 0x42d], al
lea eax, [ebp - 0x430]
mov word [ebp - 0x430], 0xffff
mov byte [ebp - 0x42e], 0xff
push eax
push str.ASTRAL
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd580]
mov ecx, dword [0x102cd57c]
cmp ecx, eax
je 0x100b0d22
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd580]
je 0x100b0d22
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0cd7
mov byte [ebp - 0x431], al
lea eax, [ebp - 0x434]
mov word [ebp - 0x434], 0xffff
mov byte [ebp - 0x432], 0xff
jmp 0x100b0cf3
mov byte [ebp - 0x435], al
lea eax, [ebp - 0x438]
mov word [ebp - 0x438], 0xffff
mov byte [ebp - 0x436], 0xff
push eax
push ecx
lea ecx, [ebp - 0x39c]
call fcn.100b5390
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd58c]
mov ecx, dword [0x102cd588]
cmp ecx, eax
je 0x100b0dc6
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd58c]
je 0x100b0dc6
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0d77
mov byte [ebp - 0x439], al
lea eax, [ebp - 0x43c]
mov word [ebp - 0x43c], 0xffff
mov byte [ebp - 0x43a], 0xff
jmp 0x100b0d93
mov byte [ebp - 0x43d], al
lea eax, [ebp - 0x440]
mov word [ebp - 0x440], 0xffff
mov byte [ebp - 0x43e], 0xff
push eax
push str.EAX_CRACK_
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd598]
mov ecx, dword [0x102cd594]
cmp ecx, eax
je 0x100b0e66
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd598]
je 0x100b0e66
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0e1b
mov byte [ebp - 0x441], al
lea eax, [ebp - 0x444]
mov word [ebp - 0x444], 0xffff
mov byte [ebp - 0x442], 0xff
jmp 0x100b0e37
mov byte [ebp - 0x445], al
lea eax, [ebp - 0x448]
mov word [ebp - 0x448], 0xffff
mov byte [ebp - 0x446], 0xff
push eax
push ecx
lea ecx, [ebp - 0x39c]
call fcn.100b53d0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd5a4]
mov ecx, dword [0x102cd5a0]
cmp ecx, eax
je 0x100b0f0a
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd5a4]
je 0x100b0f0a
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0ebb
mov byte [ebp - 0x449], al
lea eax, [ebp - 0x44c]
mov word [ebp - 0x44c], 0xffff
mov byte [ebp - 0x44a], 0xff
jmp 0x100b0ed7
mov byte [ebp - 0x44d], al
lea eax, [ebp - 0x450]
mov word [ebp - 0x450], 0xffff
mov byte [ebp - 0x44e], 0xff
push eax
push str.XOXAHOOK
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd5b0]
mov ecx, dword [0x102cd5ac]
cmp ecx, eax
je 0x100b0faa
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd5b0]
je 0x100b0faa
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0f5f
mov byte [ebp - 0x451], al
lea eax, [ebp - 0x454]
mov word [ebp - 0x454], 0xffff
mov byte [ebp - 0x452], 0xff
jmp 0x100b0f7b
mov byte [ebp - 0x455], al
lea eax, [ebp - 0x458]
mov word [ebp - 0x458], 0xffff
mov byte [ebp - 0x456], 0xff
push eax
push ecx
lea ecx, [ebp - 0x39c]
call fcn.100b5410
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd5c8]
mov ecx, dword [0x102cd5c4]
cmp ecx, eax
je 0x100b104e
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd5c8]
je 0x100b104e
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b0fff
mov byte [ebp - 0x459], al
lea eax, [ebp - 0x45c]
mov word [ebp - 0x45c], 0xb87f
mov byte [ebp - 0x45a], 0xe3
jmp 0x100b101b
mov byte [ebp - 0x45d], al
lea eax, [ebp - 0x460]
mov word [ebp - 0x460], 0xb87f
mov byte [ebp - 0x45e], 0xe3
push eax
push str.AMIGO
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [0x102cd5d4]
mov ecx, dword [0x102cd5d0]
cmp ecx, eax
je 0x100b10f2
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd5d4]
je 0x100b10f2
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b10a3
mov byte [ebp - 0x461], al
lea eax, [ebp - 0x464]
mov word [ebp - 0x464], 0xc896
mov byte [ebp - 0x462], 0x3c
jmp 0x100b10bf
mov byte [ebp - 0x465], al
lea eax, [ebp - 0x468]
mov word [ebp - 0x468], 0xc896
mov byte [ebp - 0x466], 0x3c
push eax
push str.FAMILY
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 8
jne 0x100b11bc
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x100b11bc
cmp dword [eax + 0x18], 0
je 0x100b11bc
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, edx
shr eax, 1
dec ecx
and ecx, eax
and edx, 1
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100b11bc
cmp byte [eax + 0x10], 0
jne 0x100b11bc
cmp dword [eax + 0x4c24], 0xffffffff
jge 0x100b11bc
cmp dword [eax + 0xc], 2
jg 0x100b11bc
push 0x100d0570
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x42
mov byte [ebp - 0x3cd], al
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x3d0], 0xffff
push eax
mov byte [ebp - 0x3ce], 0xff
call fcn.100b5290
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 9
jne 0x100b145b
mov eax, dword [0x102cd714]
test eax, eax
je 0x100b145b
mov eax, dword [eax]
mov ecx, edi
mov dword [ebp - 0x3c8], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x102eb29c]
mov dword [ebp - 0x40], eax
test cl, 1
jne 0x100b123e
or ecx, 1
mov dword [0x102eb29c], ecx
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x44
push eax
mov ecx, 0x102eae08
mov dword [ebp - 0x30], 0x5fa2671c
mov dword [ebp - 0x78], 0x38d4fdc3
call fcn.10048c40
lea ecx, [ebp - 0x30]
push ecx
mov ecx, eax
call fcn.10048c20
push 0x100c6ad0
mov eax, dword [eax + 8]
mov dword [0x102eb298], eax
call fcn.100babac
add esp, 4
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x40]
sub esp, 8
mov eax, dword [0x102eb298]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x3c8]
movd xmm0, dword [eax + ecx]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
fld qword [ebp - 0x48]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
fstp qword [ebp - 0x48]
cvttsd2si edx, qword [ebp - 0x48]
lea ecx, [ebp - 0x40]
add esp, 8
mov dword [ebp - 0x3c8], 0x2ee
mov dword [ebp - 0x40], 0
mov edi, dword [ebp - 0x5c]
mov byte [ebp - 0x378], 0xc1
movss xmm0, dword [0x100d0928]
mov eax, edx
mov dword [ebp - 0x34], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x34]
cmove ecx, eax
cmp edx, 0x2ee
lea eax, [ebp - 0x3c8]
mov edx, str._iMS
cmovle eax, ecx
cmp byte [ebp - 0x361], 0
movd xmm2, dword [eax]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
mulss xmm2, dword [0x100d068c]
mulss xmm1, dword [0x100d06b4]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100d08f8]
subss xmm0, xmm2
mov byte [ebp - 0x377], al
cvttss2si eax, xmm0
mov byte [ebp - 0x376], al
mov eax, dword [ebp - 0x368]
mov byte [ebp - 0x375], al
lea eax, [ebp - 0x34]
push eax
je 0x100b1417
lea ecx, [ebp - 0x54]
call fcn.100546e0
add esp, 4
movq xmm1, qword [eax + 0x10]
xorps xmm0, xmm0
movups xmmword [ebp - 0x39c], xmm0
movups xmm0, xmmword [eax]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x378]
movups xmmword [ebp - 0x39c], xmm0
mov dword [ebp - 0x384], eax
movq qword [ebp - 0x38c], xmm1
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100b138d
movups xmmword [ecx], xmm0
mov edx, 0xf
mov byte [ebp - 0x39c], 0
movq qword [ecx + 0x10], xmm1
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
jmp 0x100b13a3
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
mov edx, dword [ebp - 0x388]
mov byte [ebp - 4], 0x45
cmp edx, 0x10
jb 0x100b13dd
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x39c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100b13d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aef6f
push ecx
push edx
call fcn.100babc1
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100b145b
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b140b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100aef6f
push ecx
push edx
call fcn.100babc1
add esp, 8
jmp 0x100b145b
lea ecx, [ebp - 0x398]
call fcn.100546e0
add esp, 4
lea ecx, [ebp - 0x378]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.100b5450
mov eax, ecx
mov byte [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x58]
call fcn.1002e550
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 0xa
mov eax, dword [ebp - 0x370]
jne 0x100b155b
test eax, eax
je 0x100b155b
cmp dword [eax + 0x18], 0
je 0x100b155b
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, edx
shr eax, 1
dec ecx
and ecx, eax
and edx, 1
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100b1555
cmp byte [eax + 0x10], 0
jne 0x100b1555
movss xmm1, dword [eax + 0x24]
movss xmm2, dword [eax + 0x28]
subss xmm2, dword [eax + 0x34]
subss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + 0x2c]
subss xmm0, dword [eax + 0x38]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, dword [0x100d0958]
jbe 0x100b1555
push 0x100d0438
lea ecx, [ebp - 0x54]
call fcn.1002e5a0
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x49
mov byte [ebp - 0x3c9], al
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x3cc], 0xff
push eax
mov byte [ebp - 0x3ca], 0
call fcn.100b5290
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
call fcn.1002e550
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1002e550
mov eax, dword [ebp - 0x370]
cmp dword [esi], 0xb
jne 0x100b15d3
test eax, eax
je 0x100b15d3
cmp dword [eax + 0x18], 0
je 0x100b15d3
cmp byte [ebp - 0x369], 0
je 0x100b15d3
lea ecx, [eax + 8]
call fcn.1002dcf0
mov ecx, dword [ebp - 0x368]
mov byte [ebp - 0x3b9], cl
lea ecx, [ebp - 0x3bc]
push ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x39c]
add eax, 0x84
mov word [ebp - 0x3bc], 0x96cc
push eax
mov byte [ebp - 0x3ba], 0x60
call fcn.100b5290
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
cmp dword [esi], 0xc
jne 0x100b168d
cmp dword [ebp - 0x370], 0
je 0x100b168d
mov eax, dword [0x102cd5bc]
mov ecx, dword [0x102cd5b8]
cmp ecx, eax
je 0x100b168d
push dword [ebp - 0x178]
push eax
push ecx
call fcn.100ba540
cmp eax, dword [0x102cd5bc]
je 0x100b168d
cmp byte [ebp - 0x361], 0
mov eax, dword [ebp - 0x368]
je 0x100b163e
mov byte [ebp - 0x3b5], al
lea eax, [ebp - 0x3b8]
mov word [ebp - 0x3b8], 0xb87f
mov byte [ebp - 0x3b6], 0xe3
jmp 0x100b165a
mov byte [ebp - 0x371], al
lea eax, [ebp - 0x374]
mov word [ebp - 0x374], 0xb87f
mov byte [ebp - 0x372], 0xe3
push eax
push str.RECODED
lea ecx, [ebp - 0x39c]
call fcn.100b52c0
lea eax, [ebp - 0x39c]
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0x20]
call fcn.100b4ba0
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 8
call fcn.1002e550
add esi, 4
cmp esi, dword [ebp - 0x37c]
jne 0x100af983
mov al, byte [ebp - 0x369]
mov dword [ebp - 0x3b0], 0x3534a1a9
mov dword [ebp - 0x3ac], 0x1100001
test al, al
je 0x100b17fd
mov ecx, dword [ebp - 0x1fc]
xor eax, eax
mov edx, dword [ebp - 0x200]
nop dword [eax]
cmp edx, dword [ebp + eax*8 - 0x3b0]
jne 0x100b16e2
cmp ecx, dword [ebp + eax*8 - 0x3ac]
je 0x100b1701
inc eax
cmp eax, 1
jl 0x100b16d0
mov dword [ebp - 0x3b0], 0x1c9129a8
mov dword [ebp - 0x3ac], 0x1100001
jmp 0x100b1825
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
push 3
xorps xmm0, xmm0
mov word [ebp - 0x374], 0xffff
push 0x100d05d4
mov byte [ebp - 0x372], 0xff
mov byte [ebp - 0x371], al
movups xmmword [ebp - 0x39c], xmm0
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0
call fcn.1002ef20
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100b1791
movups xmm0, xmmword [ebp - 0x39c]
mov edx, 0xf
mov byte [ebp - 0x39c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x38c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
jmp 0x100b17a7
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
mov edx, dword [ebp - 0x388]
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x100b17f7
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x39c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100b17d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b1a20
push ecx
push edx
call fcn.100babc1
add esp, 8
mov dword [ebp - 0x3b0], 0x1c9129a8
mov dword [ebp - 0x3ac], 0x1100001
jmp 0x100b1819
mov al, byte [ebp - 0x369]
mov dword [ebp - 0x3b0], 0x1c9129a8
mov dword [ebp - 0x3ac], 0x1100001
test al, al
je 0x100b1924
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
xor eax, eax
cmp edx, dword [ebp + eax*8 - 0x3b0]
jne 0x100b1839
cmp ecx, dword [ebp + eax*8 - 0x3ac]
je 0x100b1844
inc eax
cmp eax, 1
jl 0x100b1827
jmp 0x100b1924
mov eax, dword [ebp - 0x368]
lea ecx, [ebp - 0x39c]
push 5
xorps xmm0, xmm0
mov word [ebp - 0x374], 0xffff
push str.NIGGA
mov byte [ebp - 0x372], 0xff
mov byte [ebp - 0x371], al
movups xmmword [ebp - 0x39c], xmm0
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0
call fcn.1002ef20
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x18]
je 0x100b18d4
movups xmm0, xmmword [ebp - 0x39c]
mov edx, 0xf
mov byte [ebp - 0x39c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x38c]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x1c], 0x1c
jmp 0x100b18ea
lea eax, [ebp - 0x39c]
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.1008a0f0
mov edx, dword [ebp - 0x388]
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x100b1924
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x39c]
mov eax, edx
cmp ecx, 0x1000
jb 0x100b191a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b1a20
push ecx
push edx
call fcn.100babc1
add esp, 8
mov esi, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x37c], ecx
mov eax, 0x92492493
mov ecx, dword [ebp - 0x1c]
sub ecx, esi
mov dword [ebp - 0x34], 0
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100b19c0
mov ecx, dword [ebp - 0x3a0]
add ecx, 2
add ecx, dword [ebp - 0x3a4]
xor edi, edi
mov dword [ebp - 0x30], ecx
push 0
lea eax, [edi + esi]
mov esi, dword [ebp - 0x34]
push eax
push dword [eax + 0x18]
mov eax, dword [ebp - 0x3a8]
dec eax
add eax, esi
push eax
push ecx
mov ecx, 0x102e8074
call fcn.100a61d0
add esi, dword [0x102e807c]
lea edi, [edi + 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
inc dword [ebp - 0x37c]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x20]
sub ecx, esi
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x30]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x37c], eax
jb 0x100b1964
mov edi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x68]
call fcn.1002dc30
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x100b1a30
mov edx, dword [ebp - 0x1c]
push ecx
call fcn.10089ed0
mov ecx, dword [ebp - 0x18]
mov eax, 0x92492493
mov esi, dword [ebp - 0x20]
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 0x100b1a26
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b1a26
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100babc1
add esp, 8
xor eax, eax
mov dword [ebp - 0x3d0], 0
xor ecx, ecx
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x3bc], ecx
cmp byte [ebp - 0x369], al
je 0x100b1c64
cmp byte [0x102d2068], al
je 0x100b1c80
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x4df0
lea esi, [eax + 0x1012dc0c]
test esi, esi
je 0x100b1c80
cmp byte [esi + 0x4c90], 0
je 0x100b1c80
cmp dword [esi + 0x18], 0
je 0x100b1c80
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100b1c80
movss xmm1, dword [eax + 0x40]
movss xmm0, dword [eax + 0x3c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10026fd0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100d0738]
jbe 0x100b1af3
cmp byte [eax + 0x4c2c], 0
je 0x100b1c80
cmp dword [esi + 0x4d14], 3
jg 0x100b1c80
movss xmm0, dword [esi + 0x4d90]
lea ecx, [ebp - 0x78]
subss xmm0, dword [eax + 0x4c34]
xorps xmm1, xmm1
movd xmm2, dword [ebp - 0x3a0]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
cvtdq2ps xmm2, xmm2
mov dword [ebp - 0x40], 0x3f800000
comiss xmm1, xmm0
movss dword [ebp - 0x78], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x40]
comiss xmm0, dword [0x100d0718]
seta al
test al, al
cmove ecx, edx
movss xmm0, dword [ecx]
mulss xmm0, xmm2
mulss xmm0, dword [0x100d0710]
comiss xmm0, xmm1
movss dword [ebp - 0x30], xmm0
jbe 0x100b1c80
mov ecx, dword [ebp - 0x3b4]
mov edi, dword [ebp - 0x3a8]
add ecx, 2
mov eax, dword [ebp - 0x368]
add edi, ecx
mov ecx, dword [0x102e4bd4]
mov esi, dword [ebp - 0x3a4]
mov byte [ebp - 0x371], al
dec esi
mov word [ebp - 0x374], 0xa0a
mov eax, dword [ecx]
mov byte [ebp - 0x372], 0xa
push dword [ebp - 0x374]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x102e4bd4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 4]
push eax
mov eax, dword [ebp - 0x3a0]
add eax, 2
add eax, esi
push eax
push edi
push esi
call edx
cmp byte [ebp - 0x361], 0
mov eax, dword [0x102d211c]
mov dword [ebp - 0x378], eax
je 0x100b1bfc
mov word [ebp - 0x378], 0x6482
mov byte [ebp - 0x376], 0x78
mov ecx, dword [ebp - 0x3b4]
mov esi, dword [ebp - 0x3a8]
add ecx, 3
mov eax, dword [ebp - 0x3c4]
add esi, ecx
mov ecx, dword [0x102e4bd4]
mov byte [ebp - 0x375], al
push dword [ebp - 0x378]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x102e4bd4]
mov edi, dword [ebp - 0x3a4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
lea eax, [esi + 2]
push eax
cvttss2si eax, dword [ebp - 0x30]
add eax, edi
push eax
push esi
push edi
call edx
mov edi, 5
mov dword [ebp - 0x3b8], 1
mov dword [ebp - 0x370], edi
jmp 0x100b1c82
xor edi, edi
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x370], edi
cmp byte [0x102d121c], al
je 0x100b25df
jmp 0x100b1c82
xor edi, edi
mov ecx, dword [0x102e4bcc]
mov eax, dword [0x102e4ec0]
add eax, 0xffffff9f
xor eax, 0xb66caf6b
mov edx, dword [ecx]
add eax, dword [ebp - 0x380]
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 - 0x3cc], esi
test esi, esi
je 0x100b25df
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x100b25df
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x37c], eax
mov eax, dword [0x102e4edc]
add eax, 0xffffff98
xor eax, 0xb66caf72
mov esi, dword [eax + esi]
mov eax, dword [0x102e4d60]
mov dword [ebp - 0x3c8], esi
mov ecx, dword [edx + eax]
mov dword [ebp - 0x40], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100d05e0]
lahf
test ah, 0x44
jnp 0x100b1d55
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x102e4d20]
mov dword [ebp - 0x78], ecx
mov ecx, dword [0x102e4d78]
mov dword [ebp - 0x30], eax
cmp dword [edx + ecx], 0
jne 0x100b1d3c
mov eax, dword [0x102e4cfc]
mov ecx, edx
call eax
mov ecx, dword [0x102e4d78]
mov eax, dword [ebp - 0x30]
mov edx, eax
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x78]
cmp eax, 0x3c7
jne 0x100b1d55
mov al, 1
jmp 0x100b1d57
xor al, al
mov ecx, dword [ebp - 0x37c]
mov byte [ebp - 0x369], al
cmp ecx, 0xffffffff
je 0x100b1ff2
cmp byte [0x102d1f10], 0
je 0x100b1ff2
test al, al
je 0x100b1d87
mov eax, dword [ebp - 0x40]
movss xmm1, dword [eax + 0x64]
jmp 0x100b1d99
movd xmm1, esi
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x3a0]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x30], xmm0
fld dword [ebp - 0x30]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [ebp - 0x368]
add esp, 4
mov ecx, dword [0x102e4bd4]
mov esi, dword [ebp - 0x3a4]
mov byte [ebp - 0x371], al
dec esi
mov eax, dword [ebp - 0x3b4]
add eax, edi
mov word [ebp - 0x374], 0xa0a
add eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x372], 0xa
push dword [ebp - 0x374]
lea edi, [eax + 2]
mov eax, dword [ecx]
fstp dword [ebp - 0x5c]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x102e4bd4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 4]
push eax
mov eax, dword [ebp - 0x3a0]
add eax, 2
add eax, esi
push eax
push edi
push esi
call edx
cmp byte [ebp - 0x361], 0
mov eax, dword [0x102d1fc4]
mov dword [ebp - 0x378], eax
je 0x100b1e51
mov word [ebp - 0x378], 0x7d78
mov byte [ebp - 0x376], 0x82
mov ecx, dword [0x102e4bd4]
mov eax, dword [ebp - 0x3c4]
mov esi, dword [ebp - 0x34]
mov byte [ebp - 0x375], al
add esi, 3
mov eax, dword [ecx]
push dword [ebp - 0x378]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x102e4bd4]
mov edi, dword [ebp - 0x3a4]
add edi, 2
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
lea eax, [esi + 2]
push eax
cvttss2si eax, dword [ebp - 0x5c]
add eax, edi
push eax
push esi
mov esi, dword [ebp - 0x3a4]
push esi
call edx
mov eax, 0x66666667
sub esp, 8
imul dword [ebp - 0x37c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x3b0], xmm0
fld qword [ebp - 0x3b0]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov ecx, dword [ebp - 0x3c8]
add esp, 8
mov edi, dword [ebp - 0x34]
fstp qword [ebp - 0x3b0]
cvttsd2si eax, qword [ebp - 0x3b0]
cmp ecx, eax
jg 0x100b1fe3
cmp byte [ebp - 0x369], 0
jne 0x100b1fe3
mov edx, ecx
lea ecx, [ebp - 0x74]
call fcn.1003f2f0
cmp byte [ebp - 0x361], 0
je 0x100b1f7a
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [ebp - 4], 0x4f
push edi
mov byte [eax + 3], cl
mov ecx, 0x102e8074
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
cvttss2si eax, dword [ebp - 0x5c]
add eax, esi
push eax
call fcn.100a61d0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x100b1fe3
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b1fd9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b1fd9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [ebp - 4], 0x50
push edi
mov byte [eax + 3], cl
mov ecx, 0x102e8074
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
cvttss2si eax, dword [ebp - 0x5c]
add eax, esi
push eax
call fcn.100a61d0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x100b1fe3
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b1fd9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b1fd9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
mov edi, dword [ebp - 0x370]
add edi, 6
mov dword [ebp - 0x370], edi
cmp byte [0x102d21c0], 0
je 0x100b21e7
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
mov edx, 0xf
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x74], 0
mov esi, dword [ebp - 0x380]
mov byte [ebp - 4], 0x51
mov ecx, dword [0x102e4dd0]
mov eax, dword [0x102cb660]
add ecx, 0xffffffdb
xor ecx, 0xb66caf2f
movss xmm1, dword [esi + ecx]
movss xmm2, dword [esi + ecx + 4]
subss xmm2, dword [ecx + eax + 4]
subss xmm1, dword [ecx + eax]
movss xmm0, dword [esi + ecx + 8]
subss xmm0, dword [ecx + eax + 8]
xor ecx, ecx
mulss xmm2, xmm2
mov dword [ebp - 0x3bc], ecx
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x100d0668]
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [0x100d06f8]
cvttsd2si esi, xmm0
mov dword [ebp - 0x5c], esi
test esi, esi
jle 0x100b21b0
mov ecx, dword [ebp - 0x3b8]
add ecx, 9
mov dword [ebp - 0x3bc], ecx
cmp esi, 5
jle 0x100b20f8
mov eax, 0x66666667
mov ecx, esi
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
je 0x100b20e1
dec esi
mov eax, 0x66666667
imul esi
mov ecx, esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x100b20c4
mov dword [ebp - 0x5c], esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
jne 0x100b214b
lea eax, [ebp - 0x5c]
mov edx, str._i_FT
push eax
lea ecx, [ebp - 0x2c]
call fcn.100546e0
add esp, 4
lea ecx, [ebp - 0x74]
push eax
call fcn.10043920
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x100b214b
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b2141
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b2141
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
mov edx, dword [ebp - 0x3b8]
lea eax, [ebp - 0x74]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x368]
mov eax, esp
add edx, edi
cmp byte [ebp - 0x361], 0
mov byte [eax + 3], cl
mov ecx, 0x102e8074
je 0x100b217e
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100b2187
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3b4]
add eax, edx
add eax, dword [ebp - 0x3a8]
push eax
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100a61d0
mov edx, dword [ebp - 0x60]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x100b21e7
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100b21dd
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b21dd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100babc1
add esp, 8
cmp byte [0x102d1704], 0
je 0x100b24d3
mov eax, dword [0x102e4d3c]
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], 0xfffffff7
call eax
test eax, eax
je 0x100b23a1
mov edx, dword [0x102e4d40]
mov ecx, eax
call edx
test eax, eax
je 0x100b23a1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x102e4c14]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x1c], 0
mov ecx, edx
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x2c], xmm0
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100b2260
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.10051d70
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
mov byte [ebp - 4], 0x53
mov edx, dword [ebp - 0x1c]
test edx, edx
jne 0x100b22bc
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], dl
jmp 0x100b2385
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov ecx, dword [0x102e30a8]
cmovae eax, dword [ebp - 0x2c]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x54]
push 0
push esi
call fcn.100439a0
push eax
lea ecx, [ebp - 0x74]
call fcn.10043920
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x100b232c
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b2322
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b2322
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
cmp dword [ebp - 0x60], 0x10
lea ecx, [ebp - 0x74]
mov edx, dword [0x102e30a8]
lea eax, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x74]
cmp dword [ebp - 0x18], 8
push 0
cmovae eax, dword [ebp - 0x2c]
push 0
push esi
push ecx
push dword [ebp - 0x1c]
mov dword [ebp - 0x44], 0
push eax
push 0
push 0xfde9
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call edx
movups xmm0, xmmword [ebp - 0x74]
movups xmmword [ebp - 0x94], xmm0
movq xmm0, qword [ebp - 0x64]
movq qword [ebp - 0x84], xmm0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
call fcn.10051aa0
jmp 0x100b23ce
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.error
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x80], 0
movups xmmword [ebp - 0x94], xmm0
call fcn.1002ef20
mov byte [ebp - 4], 0x54
lea eax, [ebp - 0x94]
cmp dword [ebp - 0x80], 0x10
lea ecx, [ebp - 0x94]
mov edx, dword [ebp - 0x94]
lea edi, [ebp - 0x94]
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x84]
add eax, ecx
cmp dword [ebp - 0x80], 0x10
mov dword [ebp - 0x78], eax
cmovae edi, edx
cmp edi, eax
je 0x100b2428
mov esi, dword [ebp - 0x30]
sub esi, edi
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [edi + esi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x78]
jne 0x100b2412
cmp byte [ebp - 0x361], 0
lea eax, [ebp - 0x94]
mov edi, dword [ebp - 0x370]
mov esi, dword [ebp - 0x3bc]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x368]
lea edx, [esi + edi]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x102e8074
je 0x100b2465
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100b246e
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3b4]
add eax, edx
add eax, dword [ebp - 0x3a8]
push eax
mov eax, dword [ebp - 0x3a0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100a61d0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x80]
cmp ecx, 0x10
jb 0x100b24d9
mov edx, dword [ebp - 0x94]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b24c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b24c7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
jmp 0x100b24d9
mov esi, dword [ebp - 0x3bc]
cmp byte [0x102d185c], 0
je 0x100b25df
mov eax, dword [0x102e4ed8]
mov ecx, 0x102eadb0
add eax, 0xffffff99
xor eax, 0xb66caf71
add eax, dword [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.100b54a0
lea ecx, [ebp - 0x74]
mov eax, dword [eax]
add eax, 0xc
push eax
call fcn.100b5170
add esp, 4
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x74]
sub esi, dword [ebp - 0x3d0]
push 2
push eax
push ecx
lea edx, [esi - 1]
add edx, edi
cmp byte [ebp - 0x361], 0
je 0x100b2565
mov eax, dword [ebp - 0x368]
mov ecx, esp
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x3a8]
mov word [ecx], 0x8282
add eax, 2
mov byte [ecx + 2], 0x82
mov ecx, dword [ebp - 0x3b4]
add ecx, edx
add ecx, eax
push ecx
jmp 0x100b258d
mov ecx, dword [ebp - 0x368]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x3a8]
mov word [eax], 0xffff
add ecx, 2
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x3b4]
add eax, edx
add eax, ecx
push eax
mov eax, dword [ebp - 0x3a0]
mov ecx, 0x102e80e0
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x3a4]
push eax
call fcn.100a61d0
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x100b25df
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b25d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b25d5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
add esp, 8
mov ecx, dword [ebp - 0x98]
cmp ecx, 0x10
jb 0x100b261b
mov edx, dword [ebp - 0xac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100b2611
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100b2611
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100babc1
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.100ba746
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4