Function at 0x10098830
Capabilities:
Authenticate hmac
Encode data using base64
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 0x100aa350
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x268
mov eax, dword [0x100be008]
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 - 0x1f0], eax
mov dword [ebp - 0x210], 0
lea edi, [eax + 8]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x23c], edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10117998]
mov dword [ebp - 0x1cc], eax
movss xmm0, dword [ecx + 0x14]
mov ecx, dword [edi]
mulss xmm0, dword [0x100b37cc]
mov eax, dword [ecx + 0x24]
mov ecx, edi
movss dword [ebp - 0x224], xmm0
call eax
mov esi, dword [0x10117b54]
mov ecx, dword [0x100be240]
add esi, 0xffffffd6
mov byte [ebp - 0x1c5], al
xor esi, 0x193f62a1
mov eax, dword [ebp - 0x1f0]
mov edx, dword [eax + esi]
cmp edx, dword [esi + ecx]
je 0x100988f2
mov byte [ebp - 0x1cd], 1
jmp 0x10098908
mov ecx, dword [0x10117a1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1cd]
cmp byte [0x100c67ac], 0
mov esi, dword [ebp - 0x1f0]
je 0x10098928
mov eax, dword [0x10117be8]
add eax, 0xffffffb1
xor eax, 0x193f62c6
mov byte [eax + esi], 1
cmp byte [ebp - 0x1c5], 0
mov eax, dword [ebp - 0x1cc]
jne 0x10098940
mov byte [eax + 0x1011c017], 1
jmp 0x1009894d
cmp byte [eax + 0x1011c017], 0
je 0x1009b3ff
cmp byte [0x100c1d9c], 0
jne 0x10098967
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1009b3ff
mov ecx, dword [0x10117938]
lea edx, [ebp - 0x1c0]
push edx
push dword [ebp - 0x1cc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1009b3ff
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x10098a1d
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x3c], xmm0
movss xmm1, dword [ebp - 0x3c]
movss xmm0, dword [0x100b38fc]
comiss xmm1, xmm0
mov dword [ebp - 0x34], eax
jbe 0x10098a0b
movss xmm2, dword [0x100b3618]
comiss xmm2, xmm1
jbe 0x10098a0b
movss xmm1, dword [ebp - 0x38]
comiss xmm1, xmm0
jbe 0x10098a0b
comiss xmm2, xmm1
jbe 0x10098a0b
movss xmm1, dword [ebp - 0x34]
comiss xmm1, xmm0
jbe 0x10098a0b
comiss xmm2, xmm1
jbe 0x10098a0b
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax*4]
mov dword [ecx + 0x1011c058], 0
jmp 0x10098aae
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax*4]
jmp 0x10098aae
mov eax, dword [ebp - 0x1cc]
movss xmm2, dword [0x100b36f8]
lea ecx, [eax*4]
comiss xmm2, dword [ecx + 0x1011c058]
mov dword [ebp - 0x1c4], ecx
jbe 0x10098a82
mov edx, dword [0x10117b80]
lea eax, [edx - 0x35]
xor eax, 0x193f62ac
cmp dword [eax + esi], 0
jne 0x10098a88
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [ebp - 0x1c4]
test al, al
jne 0x10098a82
movss xmm1, dword [ebp - 0x224]
addss xmm1, dword [ecx + 0x1011c058]
movss dword [ecx + 0x1011c058], xmm1
jmp 0x10098aae
mov edx, dword [0x10117b80]
lea eax, [edx - 0x35]
xor eax, 0x193f62ac
cmp dword [eax + esi], 0
je 0x10098aae
movss xmm0, dword [ecx + 0x1011c058]
subss xmm0, dword [ebp - 0x224]
movss dword [ecx + 0x1011c058], xmm0
movss xmm0, dword [ecx + 0x1011c058]
movss xmm1, dword [0x100b36f8]
mov eax, dword [0x100c1b84]
comiss xmm0, xmm1
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x18], eax
seta al
test al, al
je 0x10098adb
movaps xmm0, xmm1
jmp 0x10098aeb
xorps xmm1, xmm1
comiss xmm1, xmm0
seta al
test al, al
je 0x10098aeb
xorps xmm0, xmm0
movss dword [ecx + 0x1011c058], xmm0
mulss xmm0, dword [0x100b38a8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm1
mulsd xmm0, qword [0x100b3748]
cvttsd2si ecx, xmm0
movaps xmm0, xmm1
mulsd xmm1, qword [0x100b3738]
mov dword [ebp - 0x230], ecx
mulsd xmm0, qword [0x100b3740]
cvttsd2si ecx, xmm0
movss xmm0, dword [0x100b37d0]
mov dword [ebp - 0x1d4], ecx
cvttsd2si ecx, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x1c4], ecx
comiss xmm0, xmm1
ja 0x1009b3ff
mov ecx, dword [0x10117938]
lea edx, [ebp - 0x1c0]
push edx
push dword [ebp - 0x1cc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1009b3ff
push dword [ebp - 0x230]
push esi
call fcn.100981f0
lea eax, [ebp - 0x220]
push eax
push esi
call fcn.1009c290
test al, al
je 0x1009b3ff
cmp byte [ebp - 0x1cd], 0
je 0x10098bb2
cmp byte [0x100c2ca4], 0
jne 0x10098bbf
jmp 0x10098bd4
mov al, byte [0x100c1a58]
test al, al
je 0x100991bd
push ecx
push esi
mov ecx, 0x1011c018
call fcn.1009ca90
cmp byte [ebp - 0x1cd], 0
je 0x10098bdf
cmp byte [0x100c4310], 0
jne 0x10098bec
jmp 0x10098c01
mov al, byte [0x100c1a58]
test al, al
je 0x100991bd
push dword [ebp - 0x230]
push esi
call fcn.1009d660
cmp byte [ebp - 0x1cd], 0
je 0x10098c0f
cmp byte [0x100c1ae0], 0
jne 0x10098c1c
jmp 0x10098d1e
mov al, byte [0x100c1a58]
test al, al
je 0x100991bd
cmp byte [ebp - 0x1c5], 0
je 0x10098c6f
mov eax, dword [ebp - 0x230]
mov edx, dword [ebp - 0x1d4]
movzx ecx, al
shl ecx, 0x18
or ecx, 0xd2d2d2
push ecx
mov eax, esp
push ecx
push dword [ebp - 0x214]
mov ecx, dword [ebp - 0x220]
push dword [ebp - 0x218]
mov byte [eax + 3], dl
mov edx, dword [ebp - 0x21c]
mov word [eax], 0
mov byte [eax + 2], 0
call fcn.1008e4f0
jmp 0x10098d12
cvttss2si eax, dword [0x100c2bec]
lea ecx, [ebp - 0x1cc]
mov word [ebp - 0x1cc], 0
mov byte [ebp - 0x1ca], 0
push dword [ebp - 0x1d4]
mov byte [ebp - 0x1c9], al
lea eax, [ebp - 0x22c]
push eax
call fcn.10031cb0
push dword [ebp - 0x230]
movzx edx, byte [ebp - 0x16]
mov byte [ebp - 0x1ca], dl
mov esi, dword [eax]
mov eax, dword [ebp - 0x224]
movzx ecx, ah
movzx eax, al
mov byte [ebp - 0x1cc], al
cvttss2si eax, dword [0x100c2bec]
mov byte [ebp - 0x1cb], cl
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0x1c9], al
lea eax, [ebp - 0x18]
push eax
call fcn.10031cb0
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x220]
push esi
push dword [eax]
push dword [ebp - 0x214]
push dword [ebp - 0x218]
call fcn.1008e4f0
mov esi, dword [ebp - 0x1f0]
add esp, 0x10
cmp byte [ebp - 0x1cd], 0
je 0x10098d2c
cmp byte [0x100c20ac], 0
jne 0x10098d39
jmp 0x10098eb8
mov al, byte [0x100c1a58]
test al, al
je 0x100991bd
lea eax, [ebp - 0x1b0]
push eax
lea ecx, [ebp - 0x30]
call fcn.10022090
push 0x18
push 0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.1003ef70
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.10022040
mov eax, dword [0x100c2150]
mov edx, eax
mov ecx, dword [0x100cfa84]
shr edx, 8
test ecx, ecx
jne 0x10098e04
cmp byte [ebp - 0x1c5], cl
je 0x10098dab
mov eax, dword [ebp - 0x21c]
sub eax, dword [0x1011bac4]
push ecx
lea ecx, [ebp - 0x48]
push ecx
push 0xffd2c8d2
push eax
mov ecx, 0x1011babc
jmp 0x10098e89
cvttss2si ecx, dword [0x100c1c28]
mov byte [ebp - 0x1cc], al
mov al, byte [0x100c2152]
mov byte [ebp - 0x1ca], al
lea eax, [ebp - 0x18]
mov byte [ebp - 0x1cb], dl
push dword [ebp - 0x1c4]
mov byte [ebp - 0x1c9], cl
lea ecx, [ebp - 0x1cc]
push eax
call fcn.10031cb0
mov ecx, dword [ebp - 0x21c]
lea edx, [ebp - 0x48]
sub ecx, dword [0x1011bac4]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x1011babc
jmp 0x10098e89
cmp ecx, 1
jne 0x10098ea0
cmp byte [ebp - 0x1c5], 0
je 0x10098e35
mov eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x48]
sub eax, dword [0x1011bac4]
push 0
push ecx
push 0xffd2c8d2
push eax
mov ecx, 0x1011babc
jmp 0x10098e89
cvttss2si ecx, dword [0x100c1c28]
mov byte [ebp - 0x1cc], al
mov al, byte [0x100c2152]
mov byte [ebp - 0x1ca], al
lea eax, [ebp - 0x18]
mov byte [ebp - 0x1cb], dl
push dword [ebp - 0x1c4]
mov byte [ebp - 0x1c9], cl
lea ecx, [ebp - 0x1cc]
push eax
call fcn.10031cb0
mov ecx, dword [ebp - 0x21c]
lea edx, [ebp - 0x48]
sub ecx, dword [0x1011badc]
push 2
push edx
push dword [eax]
push ecx
mov ecx, 0x1011bad4
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x220]
push eax
call fcn.1008eb90
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.10022040
cmp byte [ebp - 0x1cd], 0
je 0x10098ec6
cmp byte [0x100c22ac], 0
jne 0x10098ed3
jmp 0x100991bd
mov al, byte [0x100c1a58]
test al, al
je 0x100991bd
mov ecx, dword [0x10117ba0]
mov eax, dword [ebp - 0x214]
add ecx, 0xffffffc3
xor ecx, 0x193f62b4
mov dword [ebp - 0x18], 0x64
add ecx, esi
add eax, 0xfffffffe
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x18]
cmp dword [ecx], 0x64
cmovl eax, ecx
cmp dword [0x100cfa84], 1
mov esi, dword [eax]
mov dword [ebp - 0x1c4], esi
jne 0x10098fa0
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 + 0x1011ec10]
comiss xmm0, xmm1
jbe 0x10098f71
mov eax, dword [0x10117998]
movss xmm0, dword [eax + 0x14]
mov eax, dword [edi]
mulss xmm0, dword [0x100b38b0]
mov eax, dword [eax + 0x28]
movss dword [ebp - 0x18], xmm0
call eax
movss xmm0, dword [eax*4 + 0x1011ec10]
subss xmm0, dword [ebp - 0x18]
lea eax, [eax*4 + 0x1011ec10]
movss dword [eax], xmm0
jmp 0x10098f88
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [eax*4 + 0x1011ec10], xmm0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cvttss2si esi, dword [eax*4 + 0x1011ec10]
mov dword [ebp - 0x1c4], 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 - 0x224], 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 - 0x22c], eax
mov eax, esi
imul eax, dword [ebp - 0x1cc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100b3618]
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 - 0x1d4]
mov eax, esp
mov edx, dword [ebp - 0x21c]
fstp dword [ebp - 0x18]
cvttss2si esi, dword [ebp - 0x18]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x220]
lea edx, [edx - 1]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x1cc]
add eax, 4
lea ecx, [ecx - 6]
push eax
push 4
call fcn.1008e4b0
mov eax, dword [ebp - 0x1cc]
lea ecx, [esi + 2]
mov edx, dword [ebp - 0x21c]
sub eax, esi
add esp, 0xc
mov dword [ebp - 0x1cc], eax
add edx, eax
cmp byte [ebp - 0x1c5], 0
je 0x100990c0
mov eax, dword [ebp - 0x230]
mov byte [ebp - 0x225], al
mov word [ebp - 0x228], 0xd2d2
mov byte [ebp - 0x226], 0xd2
push dword [ebp - 0x228]
push ecx
mov ecx, dword [ebp - 0x220]
push 2
lea ecx, [ecx - 5]
call fcn.1008e470
mov esi, dword [ebp - 0x220]
jmp 0x100990f5
push ecx
mov ecx, dword [ebp - 0x224]
mov eax, esp
mov byte [eax], cl
mov ecx, dword [ebp - 0x22c]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x230]
mov byte [eax + 3], cl
lea ecx, [esi + 2]
mov esi, dword [ebp - 0x220]
push ecx
push 2
mov byte [eax + 2], 0
lea ecx, [esi - 5]
call fcn.1008e470
mov eax, dword [0x10117ba0]
add esp, 0xc
mov ecx, dword [ebp - 0x1f0]
add eax, 0xffffffc3
xor eax, 0x193f62b4
cmp dword [eax + ecx], 0x5c
jg 0x100991bd
mov eax, dword [0x100cfa84]
test eax, eax
jne 0x10099163
mov edx, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x48]
call fcn.100338b0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
mov dword [ebp - 4], 3
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x21c]
mov word [eax], 0xffff
add ecx, 0xfffffffc
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1cc]
add eax, ecx
mov ecx, 0x1011baec
jmp 0x100991ab
cmp eax, 1
jne 0x100991bd
mov edx, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x48]
call fcn.100338b0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
mov dword [ebp - 4], 4
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x21c]
mov word [eax], 0xffff
add ecx, 0xfffffffc
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1cc]
add eax, ecx
mov ecx, 0x1011bac8
push eax
lea eax, [esi - 5]
push eax
call fcn.1008eb90
lea ecx, [ebp - 0x48]
call fcn.10022040
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
cmp byte [ebp - 0x1cd], 0
mov dword [ebp - 4], 5
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
je 0x10099214
push 0x100c241c
lea ecx, [ebp - 0x54]
call fcn.10021d10
lea ecx, [ebp - 0x54]
mov eax, 0x41
jmp 0x1009922f
push 0x100c2b6c
lea ecx, [ebp - 0x250]
call fcn.10021d10
lea ecx, [ebp - 0x250]
mov eax, 0x22
push ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x228], eax
call fcn.1009db50
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x228]
test al, 2
je 0x10099269
and eax, 0xfffffffd
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x228], eax
call fcn.10021cb0
mov eax, dword [ebp - 0x228]
mov byte [ebp - 4], 8
test al, 1
je 0x10099279
lea ecx, [ebp - 0x54]
call fcn.10021cb0
mov esi, dword [ebp - 0x3c]
cmp esi, dword [ebp - 0x38]
je 0x10099b27
cmp dword [esi], 0
jne 0x1009942c
mov eax, dword [0x10117ba4]
lea ecx, [ebp - 0x1ec]
add eax, 0xffffffc2
mov edx, 0x100b3564
xor eax, 0x193f62b5
add eax, dword [ebp - 0x1f0]
push eax
call fcn.10074cb0
add esp, 4
cmp byte [ebp - 0x1c5], 0
je 0x100993cc
mov ecx, dword [ebp - 0x1d4]
mov byte [ebp - 4], 9
mov byte [ebp - 0x225], cl
lea ecx, [ebp - 0x20c]
push eax
mov word [ebp - 0x228], 0xd2d2
mov byte [ebp - 0x226], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x10099338
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x1009934e
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x10099388
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009937e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009942c
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100993c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009942c
mov ecx, dword [ebp - 0x1d4]
mov byte [ebp - 4], 0xb
mov byte [ebp - 0x1c9], cl
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x20c]
mov word [ebp - 0x1cc], 0xd29b
mov byte [ebp - 0x1ca], 0x64
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi], 1
mov ecx, dword [ebp - 0x1f0]
jne 0x1009959c
mov eax, dword [0x10117bf0]
add eax, 0xffffffaf
xor eax, 0x193f62c8
cmp dword [eax + ecx], 0
jle 0x1009959c
mov eax, dword [0x10117bd4]
add eax, 0xffffffb6
xor eax, 0x193f62c1
cmp byte [eax + ecx], 0
lea ecx, [ebp - 0x1ec]
je 0x100994de
push 0x100b3568
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x100994ae
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x254], 0xffd2d2d2
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0xe
jmp 0x1009956d
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x258], 0xffffffff
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x10
jmp 0x1009956d
push 0x100b356c
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x10099530
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x259], al
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x25c], 0xd2d2
push eax
mov byte [ebp - 0x25a], 0xd2
call fcn.1009e0a0
mov byte [ebp - 4], 0x12
jmp 0x1009956d
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x13
mov byte [ebp - 0x25d], al
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x260], 0xffff
push eax
mov byte [ebp - 0x25e], 0xff
call fcn.1009e0a0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
mov ecx, dword [ebp - 0x1f0]
cmp dword [esi], 2
jne 0x10099656
mov eax, dword [0x10117be0]
add eax, 0xffffffb3
xor eax, 0x193f62c4
cmp byte [eax + ecx], 0
je 0x10099656
push str.ZOOM
lea ecx, [ebp - 0x1ec]
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x10099602
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x264], 0xffd2d2d2
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x16
jmp 0x1009962d
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x268], 0xffffaf00
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi], 3
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x1f0]
jne 0x10099726
mov eax, dword [0x10117bfc]
add eax, 0xffffffac
xor eax, 0x193f62cb
movss xmm0, dword [eax + ecx]
comiss xmm0, xmm1
jbe 0x10099726
push str.BLIND
lea ecx, [ebp - 0x1ec]
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x100996c9
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x26c], 0xffd2d2d2
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x1a
jmp 0x100996f4
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x270], 0xffffaf00
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
mov ecx, dword [ebp - 0x1f0]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x10099828
mov eax, dword [0x10117adc]
mov edx, dword [eax + ecx]
movss xmm0, dword [edx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10099828
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x18], eax
mov eax, dword [0x10117a98]
mov dword [ebp - 0x210], eax
mov eax, dword [0x10117afc]
cmp dword [eax + ecx], 0
jne 0x10099777
mov eax, dword [0x10117a74]
call eax
mov eax, dword [0x10117afc]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x210]
cmp eax, 0x3c7
jne 0x10099828
push 0x100b3554
lea ecx, [ebp - 0x1ec]
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x100997d4
lea eax, [ebp - 0x274]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x274], 0xffd2d2d2
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x1e
jmp 0x100997ff
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x234], 0xffffaf00
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi], 5
jne 0x100998da
mov eax, dword [0x10117aa4]
mov ecx, dword [ebp - 0x1f0]
call eax
test al, al
je 0x100998da
push 0x100af11c
lea ecx, [ebp - 0x1ec]
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x1009988c
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x238], 0xffd2d2d2
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x22
jmp 0x100998b1
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x4c], 0xff0000ff
push eax
lea ecx, [ebp - 0x20c]
call fcn.1009e0a0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi], 6
jne 0x100999c5
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp dword [eax*4 + 0x1011be88], 1
jne 0x100999c5
cmp byte [ebp - 0x1cd], 0
je 0x100999c5
push str.FAKE
lea ecx, [ebp - 0x1ec]
call fcn.10022090
cmp byte [ebp - 0x1c5], 0
je 0x1009995f
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x229], al
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x22c], 0x8282
push eax
mov byte [ebp - 0x22a], 0x82
call fcn.1009e0a0
mov byte [ebp - 4], 0x26
jmp 0x1009999c
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x221], al
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x224], 0xffff
push eax
mov byte [ebp - 0x222], 0xff
call fcn.1009e0a0
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi], 7
jne 0x10099b1b
mov ecx, dword [0x1011793c]
mov eax, dword [0x10117c34]
add eax, 0xffffff9e
mov dword [ebp - 0x210], ecx
xor eax, 0x193f62d9
mov edx, dword [ecx]
add eax, dword [0x100be240]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax]
push ecx
mov edx, esp
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x210]
mov dword [edx], eax
call dword [ebp - 0x18]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10099b1b
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [ebp - 0x18]
cmp dword [eax + 0xc8], 0
jne 0x10099a3f
mov eax, dword [0x10117c50]
add eax, 0xffffff97
xor eax, 0x193f62e0
cmp dword [eax + ecx], 0x1f
jne 0x10099b1b
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [0x10117ba0]
sub esp, 8
add ecx, 0xffffffc3
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x1f0]
xor ecx, 0x193f62b4
movd xmm0, dword [ecx + eax]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x250], xmm0
fld qword [ebp - 0x250]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov ecx, dword [ebp - 0x210]
add esp, 8
fstp qword [ebp - 0x250]
cvttsd2si eax, qword [ebp - 0x250]
cmp dword [ecx + 0xec], eax
jl 0x10099b1b
push str.LETHAL
lea ecx, [ebp - 0x1ec]
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x29
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xa9a3
push eax
mov byte [ebp - 0x1c2], 0x6f
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
add esi, 4
cmp esi, dword [ebp - 0x38]
jne 0x10099285
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul esi, eax, 0x1078
add esi, 0x100d2cac
cmp byte [esi - 0x847], 0
je 0x10099d3d
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x10099c99
push 6
push str.CHEESE
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x2b
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x10099c02
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x10099c18
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x2b
cmp edx, 0x10
jb 0x10099c52
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x10099c48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x10099d3d
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099c8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x10099d3d
push str.CHEESE
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x2d
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xffff
mov byte [ebp - 0x1c2], 0xff
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x10099d19
movups xmm0, xmmword [ebp - 0x64]
mov dword [ecx], 0
mov byte [ebp - 0x64], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x54]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
jmp 0x10099d26
lea eax, [ebp - 0x64]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
lea ecx, [ebp - 0x64]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x848], 0
je 0x10099f07
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x10099e97
push 5
push str.KAABA
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x2f
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x10099e03
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x10099e19
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x2f
cmp edx, 0x10
jb 0x10099e53
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x10099e49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x10099f07
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099e8b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x10099f07
push str.KAABA
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x31
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xffff
push eax
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x845], 0
je 0x1009a0cf
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x1009a05f
push 6
push str.DOPIUM
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x33
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x10099fcd
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x10099fe3
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x33
cmp edx, 0x10
jb 0x1009a019
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a00f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a04d
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009a0cf
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a053
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009a053
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009a0cf
push str.DOPIUM
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x35
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xffff
push eax
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x846], 0
je 0x1009a243
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
push str.WHITELIST
je 0x1009a18b
cmp byte [0x100bf3b0], 0
je 0x1009a144
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x37
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xd2d2
push eax
mov byte [ebp - 0x1c2], 0xd2
call fcn.1009e0a0
mov byte [ebp - 4], 0x38
jmp 0x1009a21a
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x39
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xff
push eax
mov byte [ebp - 0x1c2], 0
call fcn.1009e0a0
mov byte [ebp - 4], 0x3a
jmp 0x1009a21a
cmp byte [0x100bf3b0], 0
je 0x1009a1d8
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x3b
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xd29b
push eax
mov byte [ebp - 0x1c2], 0x64
call fcn.1009e0a0
mov byte [ebp - 4], 0x3c
jmp 0x1009a21a
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x3d
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xff
push eax
mov byte [ebp - 0x1c2], 0
call fcn.1009e0a0
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x844], 0
je 0x1009a40d
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x1009a39d
push 6
push str.ROBERT
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x3f
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x1009a309
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x1009a31f
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x3f
cmp edx, 0x10
jb 0x1009a359
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a34f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009a40d
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a391
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009a40d
push str.ROBERT
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x41
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xffff
push eax
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x843], 0
je 0x1009a5d7
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x1009a567
push 4
push str.FADE
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x43
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x1009a4d3
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x1009a4e9
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x43
cmp edx, 0x10
jb 0x1009a523
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a519
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009a5d7
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a55b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009a5d7
push str.FADE
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x45
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xffff
push eax
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp byte [esi - 0x842], 0
je 0x1009a7a1
cmp byte [ebp - 0x1c5], 0
lea ecx, [ebp - 0x1ec]
je 0x1009a731
push 0xd
push str.GODHOOK_LEAK_
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
call fcn.10022810
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x47
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1ec]
push eax
mov word [ebp - 0x1c4], 0xd2d2
mov byte [ebp - 0x1c2], 0xd2
call fcn.100220d0
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x1009a69d
movups xmm0, xmmword [ebp - 0x20c]
mov dword [ecx], 0
mov edx, 0xf
mov byte [ebp - 0x20c], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x1fc]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x1009a6b3
lea eax, [ebp - 0x20c]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.10070c60
mov edx, dword [ebp - 0x1f8]
mov byte [ebp - 4], 0x47
cmp edx, 0x10
jb 0x1009a6ed
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x20c]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a6e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009a7a1
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a725
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009a7a1
push str.GODHOOK_LEAK_
call fcn.10022090
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x49
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1ec]
mov word [ebp - 0x1c4], 0xffff
push eax
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
call fcn.10022040
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 8
call fcn.10022040
cmp dword [esi - 0x1068], 0
je 0x1009a85c
mov edx, dword [esi - 0x106c]
mov eax, edx
mov ecx, dword [esi - 0x1070]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi - 0x1074]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
test ecx, ecx
je 0x1009a85c
cmp byte [0x100bf190], 0
je 0x1009a85c
mov eax, dword [ebp - 0x1d4]
add ecx, 0x88
cmp byte [ebp - 0x1c5], 0
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push eax
push ecx
lea ecx, [ebp - 0x20c]
je 0x1009a825
mov word [ebp - 0x1c4], 0xffff
mov byte [ebp - 0x1c2], 0xff
call fcn.1009e0a0
mov byte [ebp - 4], 0x4b
jmp 0x1009a83e
mov word [ebp - 0x1c4], 0xd29b
mov byte [ebp - 0x1c2], 0x64
call fcn.1009e0a0
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x24]
call fcn.1009da70
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 8
call fcn.10022040
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 0x1009a94c
xor eax, eax
xor edi, edi
mov dword [ebp - 0x1c4], eax
nop word [eax + eax]
cmp dword [0x100cfa84], 0
lea ecx, [eax + esi]
jne 0x1009a8cd
mov eax, dword [0x1011baf4]
dec eax
push 0
push ecx
push dword [ecx + 0x18]
mov ecx, dword [ebp - 0x21c]
imul eax, edi
dec ecx
add eax, ecx
mov ecx, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
add ecx, 2
add eax, ecx
mov ecx, 0x1011baec
jmp 0x1009a907
cmp dword [0x100cfa84], 1
jne 0x1009a916
mov eax, dword [0x1011bad0]
dec eax
push 0
push ecx
push dword [ecx + 0x18]
mov ecx, dword [ebp - 0x21c]
imul eax, edi
add ecx, 0xfffffffe
add eax, ecx
mov ecx, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x220]
add ecx, 3
add eax, ecx
mov ecx, 0x1011bac8
push eax
call fcn.1008eb90
mov eax, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add eax, 0x1c
mov dword [ebp - 0x1c4], 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 - 0x1c4]
jb 0x1009a890
mov edi, dword [ebp - 0x23c]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x1009a98d
mov eax, dword [ebp - 0x34]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009a980
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009a9e7
push ecx
push edx
call fcn.1009fb15
mov esi, dword [ebp - 0x24]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1009a9f7
mov edx, dword [ebp - 0x20]
push ecx
mov ecx, esi
call fcn.10070740
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 0x1009a9ed
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009a9ed
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1009fb15
add esp, 8
cmp byte [ebp - 0x1cd], 0
mov dword [ebp - 0x1cc], 3
je 0x1009b3ff
cmp byte [0x100c28ec], 0
je 0x1009ab8e
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x1078
lea ecx, [eax + 0x100d1c34]
test ecx, ecx
je 0x1009ab8e
cmp byte [ecx + 0x79d], 0
je 0x1009ab8e
cmp dword [ecx + 0x10], 0
je 0x1009ab8e
call fcn.10021fc0
mov eax, dword [eax]
test eax, eax
je 0x1009ab8e
movss xmm1, dword [eax + 0x44]
movss xmm0, dword [eax + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001a120
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100b3708]
jbe 0x1009aa94
cmp byte [eax + 0x72c], 0
je 0x1009ab8e
cmp dword [ecx + 0x7b0], 3
jg 0x1009ab8e
movss xmm0, dword [ecx + 0x798]
lea edx, [ebp - 0x18]
subss xmm0, dword [eax + 0x448]
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x3f800000
push eax
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x18], 0
movss dword [ebp - 0x1c4], xmm0
call fcn.1002a950
mov edx, dword [ebp - 0x218]
add esp, 4
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100b36ec]
comiss xmm1, dword [0x100b35dc]
movss dword [ebp - 0x210], xmm1
jbe 0x1009ab8e
mov esi, dword [ebp - 0x220]
push ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
push 4
push edx
mov edx, dword [ebp - 0x214]
mov byte [eax + 3], cl
mov ecx, esi
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x21c]
add eax, 2
add edx, eax
call fcn.1008e4b0
mov eax, dword [0x100c2990]
lea ecx, [esi + 1]
mov edx, dword [ebp - 0x214]
add esp, 0xc
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x230]
mov byte [ebp - 0x15], al
cvttss2si eax, dword [ebp - 0x210]
push dword [ebp - 0x18]
push 2
push eax
mov eax, dword [ebp - 0x21c]
add eax, 3
add edx, eax
call fcn.1008e470
add esp, 0xc
mov dword [ebp - 0x1cc], 8
mov ecx, dword [0x1011793c]
mov eax, dword [0x10117c34]
add eax, 0xffffff9e
xor eax, 0x193f62d9
mov edx, dword [ecx]
add eax, dword [ebp - 0x1f0]
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 - 0x234], esi
test esi, esi
je 0x1009b3ff
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x1009b3ff
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x238], eax
mov eax, dword [0x10117c54]
add eax, 0xffffff96
xor eax, 0x193f62e1
mov ecx, dword [eax + esi]
mov eax, dword [0x10117adc]
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + esi]
mov dword [ebp - 0x1c4], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100b35dc]
lahf
test ah, 0x44
jnp 0x1009ac61
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x10117a98]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x10117afc]
mov dword [ebp - 0x210], eax
cmp dword [ecx + esi], 0
jne 0x1009ac4e
mov eax, dword [0x10117a74]
mov ecx, esi
call eax
mov ecx, dword [0x10117afc]
mov eax, dword [ebp - 0x210]
mov ecx, dword [ecx + esi]
mov edx, eax
call dword [ebp - 0x18]
cmp eax, 0x3c7
jne 0x1009ac61
mov al, 1
jmp 0x1009ac63
xor al, al
mov ecx, dword [ebp - 0x238]
mov byte [ebp - 0x1cd], al
cmp ecx, 0xffffffff
je 0x1009aeac
cmp byte [0x100c2720], 0
je 0x1009aeac
test al, al
je 0x1009ac96
mov eax, dword [ebp - 0x1c4]
movss xmm1, dword [eax + 0x64]
jmp 0x1009aca9
movd xmm1, dword [ebp - 0x4c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
mov eax, dword [ebp - 0x218]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x210], xmm0
fld dword [ebp - 0x210]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
mov esi, dword [ebp - 0x1cc]
push 4
fstp dword [ebp - 0x22c]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x220]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x21c]
add eax, esi
lea ecx, [ecx - 1]
add eax, dword [ebp - 0x214]
mov dword [ebp - 0x224], eax
lea edx, [eax - 1]
mov eax, dword [ebp - 0x218]
add eax, 2
mov dword [ebp - 0x210], edx
push eax
call fcn.1008e4b0
mov eax, dword [0x100c284c]
add esp, 0xc
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x18], eax
cvttss2si eax, dword [ebp - 0x22c]
mov byte [ebp - 0x15], cl
add eax, 2
cmp byte [ebp - 0x1c5], 0
je 0x1009ad7a
mov word [ebp - 0x1c4], 0xd2d2
add edx, 3
mov byte [ebp - 0x1c2], 0xd2
mov byte [ebp - 0x1c1], cl
push dword [ebp - 0x1c4]
jmp 0x1009ad7d
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x220]
push 2
push eax
call fcn.1008e470
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
test ecx, ecx
jle 0x1009aea3
mov eax, dword [ebp - 0x238]
xorps xmm4, xmm4
movss xmm3, dword [0x100b38ec]
movss xmm2, dword [0x100b38e4]
cvtsi2ss xmm4, eax
mulss xmm4, dword [0x100b36e8]
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 [0x100b36f8]
movaps xmm0, xmm1
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si eax, xmm1
cmp ecx, eax
jg 0x1009aea3
cmp byte [ebp - 0x1cd], 0
jne 0x1009aea3
mov eax, dword [0x100cfa84]
test eax, eax
jne 0x1009ae47
mov edx, ecx
lea ecx, [ebp - 0x48]
call fcn.100338b0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
mov dword [ebp - 4], 0x4d
push dword [ebp - 0x224]
mov byte [eax + 3], cl
mov ecx, 0x1011baec
jmp 0x1009ae77
cmp eax, 1
jne 0x1009aea3
mov edx, ecx
lea ecx, [ebp - 0x48]
call fcn.100338b0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x1d4]
mov eax, esp
mov dword [ebp - 4], 0x4e
push dword [ebp - 0x210]
mov byte [eax + 3], cl
mov ecx, 0x1011bac8
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
cvttss2si eax, dword [ebp - 0x22c]
add eax, dword [ebp - 0x220]
push eax
call fcn.1008eb90
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.10022040
add esi, 4
mov dword [ebp - 0x1cc], esi
cmp byte [0x100c2520], 0
je 0x1009b285
mov eax, dword [0x10117ab4]
mov ecx, dword [ebp - 0x234]
call eax
test eax, eax
je 0x1009b0aa
mov edx, dword [0x10117ab8]
mov ecx, eax
call edx
test eax, eax
je 0x1009b0aa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x10117988]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x30], 0
mov ecx, edx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009af13
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.10045660
mov dword [ebp - 4], 0x4f
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 0x50
mov edx, dword [ebp - 0x20]
test edx, edx
jne 0x1009af6c
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], dl
jmp 0x1009b03f
cmp dword [ebp - 0x1c], 8
lea eax, [ebp - 0x30]
mov ecx, dword [0x100d2b80]
cmovae eax, dword [ebp - 0x30]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x1ec]
push 0
push esi
call fcn.100382a0
push eax
lea ecx, [ebp - 0x60]
call fcn.10038220
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009afe3
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009afd9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009b084
push ecx
push edx
call fcn.1009fb15
add esp, 8
cmp dword [ebp - 0x4c], 0x10
lea ecx, [ebp - 0x60]
mov edx, dword [0x100d2b80]
lea eax, [ebp - 0x30]
cmovae ecx, dword [ebp - 0x60]
cmp dword [ebp - 0x1c], 8
push 0
cmovae eax, dword [ebp - 0x30]
push 0
push esi
push ecx
push dword [ebp - 0x20]
mov dword [ebp - 0x1dc], 0
push eax
push 0
push 0xfde9
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
call edx
movups xmm0, xmmword [ebp - 0x60]
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [ebp - 0x50]
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
cmp ecx, 8
jb 0x1009b094
mov edx, dword [ebp - 0x30]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b08a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b08a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009fb15
add esp, 8
xor eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
jmp 0x1009b0ce
push 5
push str.error
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.10022810
mov dword [ebp - 4], 0x51
lea eax, [ebp - 0x48]
cmp dword [ebp - 0x34], 0x10
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x48]
lea esi, [ebp - 0x48]
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x38]
add eax, ecx
cmp dword [ebp - 0x34], 0x10
mov dword [ebp - 0x210], eax
cmovae esi, edx
cmp esi, eax
je 0x1009b132
sub dword [ebp - 0x1c4], esi
mov edi, dword [ebp - 0x1c4]
movsx eax, byte [esi]
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 esi
cmp esi, dword [ebp - 0x210]
jne 0x1009b113
mov edi, dword [ebp - 0x23c]
mov eax, dword [0x100cfa84]
test eax, eax
jne 0x1009b1cc
cmp byte [ebp - 0x1c5], 0
lea eax, [ebp - 0x48]
mov esi, dword [ebp - 0x1cc]
push 2
push eax
push ecx
mov eax, esp
je 0x1009b199
mov ecx, dword [ebp - 0x1d4]
mov byte [eax + 3], cl
mov ecx, 0x1011baec
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x21c]
add eax, esi
add eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x220]
push eax
call fcn.1008eb90
jmp 0x1009b244
mov dword [eax], 0xd2ffffff
mov ecx, 0x1011baec
mov eax, dword [ebp - 0x21c]
add eax, esi
add eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x220]
push eax
call fcn.1008eb90
jmp 0x1009b244
cmp eax, 1
jne 0x1009b23e
cmp byte [ebp - 0x1c5], 0
lea eax, [ebp - 0x48]
push 2
push eax
push ecx
mov eax, esp
je 0x1009b1f7
mov ecx, dword [ebp - 0x1d4]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], cl
jmp 0x1009b1fd
mov dword [eax], 0xd2ffffff
mov eax, dword [ebp - 0x21c]
mov ecx, 0x1011bac8
add eax, dword [ebp - 0x1cc]
add eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x220]
push eax
call fcn.1008eb90
mov eax, dword [ebp - 0x1cc]
add eax, dword [0x1011baf4]
mov dword [ebp - 0x1cc], eax
mov esi, dword [ebp - 0x1cc]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x34]
cmp eax, 0x10
jb 0x1009b28b
mov edx, dword [ebp - 0x48]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b279
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b279
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009fb15
add esp, 8
jmp 0x1009b28b
mov esi, dword [ebp - 0x1cc]
cmp byte [0x100c2498], 0
je 0x1009b3ff
cmp byte [ebp - 0x1c5], 0
je 0x1009b2b4
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
movsx eax, word [eax*8 + 0x1011e358]
jmp 0x1009b2ca
mov eax, dword [0x10117c50]
mov ecx, dword [ebp - 0x234]
add eax, 0xffffff97
xor eax, 0x193f62e0
mov eax, dword [eax + ecx]
mov edx, eax
mov dword [ebp - 0x18], eax
mov ecx, eax
shr edx, 8
mov edi, eax
shr ecx, 0x10
movzx eax, al
xor eax, 0x811c9dc5
mov dword [ebp - 0x23c], ecx
imul ecx, eax, 0x1000193
movzx eax, dl
shr edi, 0x18
xor ecx, eax
mov eax, dword [ebp - 0x23c]
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1011e60c
xor eax, edi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1009e880
mov edx, dword [0x1011e610]
lea ecx, [ebp - 0x1ec]
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 0x1ec], 0
cmovne edx, eax
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
cmp edx, dword [0x1011e610]
je 0x1009b369
push 1
lea eax, [edx + 0xc]
push eax
jmp 0x1009b370
push 0
push 0x100ae18c
call fcn.10022810
push 2
lea eax, [ebp - 0x1ec]
mov dword [ebp - 4], 0x52
push eax
mov eax, dword [ebp - 0x1d4]
movzx ecx, al
mov eax, dword [ebp - 0x218]
shl ecx, 0x18
or ecx, 0xffffff
cdq
push ecx
mov ecx, dword [ebp - 0x21c]
sub eax, edx
add ecx, esi
sar eax, 1
add ecx, dword [ebp - 0x214]
add eax, dword [ebp - 0x220]
push ecx
push eax
mov ecx, 0x1011bb1c
call fcn.1008eb90
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x1009b3ff
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009b3f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009b3f5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009fb15
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.1009f69a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4