Function at 0x100c6f00
Capabilities:
Authenticate hmac

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 0x100d7b3d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x388
mov eax, dword [0x100e8040]
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 - 0x2a4], eax
mov dword [ebp - 0x2c8], 0
lea esi, [eax + 8]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1010e7c4]
mov dword [ebp - 0x2a0], eax
mov eax, dword [esi]
vmovss xmm0, dword [ecx + 0x14]
vmulss xmm1, xmm0, dword [0x100dcd0c]
mov eax, dword [eax + 0x24]
mov ecx, esi
vaddss xmm0, xmm0, xmm0
vmovss dword [ebp - 0x1c], xmm1
vmovss dword [ebp - 0x18], xmm0
call eax
mov edi, dword [0x1010e954]
mov ecx, dword [0x100e80a0]
add edi, 0xffffffd6
mov byte [ebp - 0x291], al
xor edi, 0xd81b754e
mov eax, dword [ebp - 0x2a4]
mov edx, dword [edi + eax]
cmp edx, dword [edi + ecx]
je 0x100c6fc2
mov byte [ebp - 0x292], 1
jmp 0x100c6fd8
mov ecx, dword [0x1010e83c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x292]
mov eax, dword [0x1010e97c]
mov edi, dword [ebp - 0x2a4]
add eax, 0xffffffcc
xor eax, 0xd81b7558
cmp dword [eax + edi], 0
jne 0x100c977a
cmp byte [ebp - 0x291], 0
mov eax, dword [ebp - 0x2a0]
jne 0x100c700d
mov byte [eax + 0x10111fb7], 1
jmp 0x100c701a
cmp byte [eax + 0x10111fb7], 0
je 0x100c977a
mov al, byte [0x100ec36c]
mov byte [ebp - 0x2cb], al
test al, al
jne 0x100c703a
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100c977a
mov ecx, dword [0x1010e768]
lea edx, [ebp - 0x290]
push edx
push dword [ebp - 0x2a0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100c977a
mov eax, dword [0x1010e97c]
add eax, 0xffffffcc
xor eax, 0xd81b7558
cmp dword [eax + edi], 0
je 0x100c708c
mov eax, dword [ebp - 0x2a0]
vmovss xmm0, dword [eax*4 + 0x10111ff8]
vsubss xmm0, xmm0, dword [ebp - 0x18]
vmovss dword [eax*4 + 0x10111ff8], xmm0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x24]
call eax
test al, al
je 0x100c7149
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
vmovss xmm1, dword [0x100dce34]
vmovq xmm0, qword [eax]
mov eax, dword [eax + 8]
vmovq qword [ebp - 0x6c], xmm0
vmovss xmm2, dword [ebp - 0x6c]
vcomiss xmm2, xmm1
mov dword [ebp - 0x64], eax
jbe 0x100c710d
vmovss xmm0, dword [0x100dcb74]
vcomiss xmm0, xmm2
jbe 0x100c710d
vmovss xmm2, dword [ebp - 0x68]
vcomiss xmm2, xmm1
jbe 0x100c710d
vcomiss xmm0, xmm2
jbe 0x100c710d
vmovss xmm2, dword [ebp - 0x64]
vcomiss xmm2, xmm1
jbe 0x100c710d
vcomiss xmm0, xmm2
mov edx, dword [ebp - 0x2a0]
jbe 0x100c7113
vxorps xmm0, xmm0, xmm0
vmovss dword [edx*4 + 0x10111ff8], xmm0
jmp 0x100c7113
mov edx, dword [ebp - 0x2a0]
vmovss xmm0, dword [edx*4 + 0x10111ff8]
vcomiss xmm0, dword [0x100dcb44]
lea eax, [edx*4 + 0x10111ff8]
mov dword [ebp - 0x2b0], eax
jbe 0x100c713c
vsubss xmm0, xmm0, dword [ebp - 0x1c]
vmovss dword [eax], xmm0
vmovss xmm1, dword [0x100dcc40]
jmp 0x100c71cc
mov eax, dword [ebp - 0x2a0]
vmovss xmm1, dword [0x100dcc40]
vcomiss xmm1, dword [eax*4 + 0x10111ff8]
lea esi, [eax*4 + 0x10111ff8]
mov eax, esi
mov dword [ebp - 0x2b0], eax
jbe 0x100c71c6
mov eax, dword [0x1010e97c]
add eax, 0xffffffcc
mov dword [ebp - 0x2b0], esi
xor eax, 0xd81b7558
cmp dword [eax + edi], 0
jne 0x100c71c4
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov dword [ebp - 0x2b0], esi
mov eax, dword [eax + 0x24]
call eax
vmovss xmm1, dword [0x100dcc40]
mov edx, dword [ebp - 0x2a0]
test al, al
mov eax, esi
jne 0x100c71cc
vmovss xmm0, dword [esi]
vaddss xmm0, xmm0, dword [ebp - 0x1c]
vmovss dword [esi], xmm0
mov dword [ebp - 0x2b0], eax
jmp 0x100c71cc
mov eax, esi
mov edx, dword [ebp - 0x2a0]
cmp byte [ebp - 0x292], 0
lea ecx, [ebp - 0x18]
mov esi, dword [0x100ec2cc]
cmovne esi, dword [0x100ec210]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [eax]
vcomiss xmm0, dword [0x100dcb44]
vmovss dword [ebp - 0x1c], xmm1
cmovae ecx, eax
lea eax, [ebp - 0x1c]
vcomiss xmm1, xmm0
cmovae eax, ecx
cmp byte [ebp - 0x291], 0
vmovss xmm0, dword [eax]
mov eax, dword [ebp - 0x2b0]
vmovss dword [eax], xmm0
vmulss xmm0, xmm0, dword [0x100dcddc]
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vmulsd xmm0, xmm0, qword [0x100dcc90]
mov dword [ebp - 0x2f8], eax
vcvttsd2si eax, xmm0
mov dword [ebp - 0x29c], eax
je 0x100c725c
cmp byte [ebp - 0x2cb], 0
mov eax, 0xffdcdcdc
cmovne esi, eax
mov ecx, dword [0x1010e768]
lea edi, [ebp - 0x290]
push edi
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov edi, dword [ebp - 0x2a4]
test al, al
je 0x100c977a
push dword [ebp - 0x2f8]
push edi
call fcn.100c69e0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x84], xmm0
vmovss dword [ebp - 0x80], xmm0
vmovss dword [ebp - 0x7c], xmm0
vmovss dword [ebp - 0x28], xmm0
vmovss dword [ebp - 0x24], xmm0
vmovss dword [ebp - 0x20], xmm0
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x84]
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0x18], xmm0
vmovss xmm0, dword [eax + 4]
mov eax, dword [0x1010e8a8]
push ecx
mov ecx, edi
vmovss dword [ebp - 0x1c], xmm0
call eax
vmovss xmm0, dword [ebp - 0x20]
vmovss xmm2, dword [ebp - 0x18]
vmovss xmm1, dword [ebp - 0x1c]
vaddss xmm0, xmm0, dword [0x100dcd20]
lea edx, [ebp - 0x300]
lea ecx, [ebp - 0x84]
vmovss dword [ebp - 0x84], xmm2
vmovss dword [ebp - 0x80], xmm1
vmovss dword [ebp - 0x28], xmm2
vmovss dword [ebp - 0x24], xmm1
vmovss dword [ebp - 0x20], xmm0
call fcn.100be390
test al, al
je 0x100c977a
lea edx, [ebp - 0x34c]
lea ecx, [ebp - 0x28]
call fcn.100be390
test al, al
je 0x100c977a
cmp byte [ebp - 0x292], 0
vmovss xmm4, dword [ebp - 0x2fc]
vsubss xmm0, xmm4, dword [ebp - 0x348]
vmovss xmm1, dword [ebp - 0x300]
vcvttss2si eax, xmm0
vxorps xmm3, xmm3, xmm3
vcvtsi2ss xmm3, xmm3, eax
vmulss xmm0, xmm3, dword [0x100dcc00]
mov dword [ebp - 0x2bc], eax
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vfnmadd231ss xmm1, xmm0, dword [0x100dcc00]
mov dword [ebp - 0x2b0], eax
vcvttss2si eax, xmm1
vsubss xmm0, xmm4, xmm3
mov dword [ebp - 0x2a0], eax
vcvttss2si eax, xmm0
mov dword [ebp - 0x2b8], eax
je 0x100c73cd
push 0
push dword [0x100ecd24]
push dword [0x100ecd20]
call fcn.100ccee0
cmp eax, dword [0x100ecd24]
jne 0x100c73fb
jmp 0x100c7410
push dword [0x100ecd24]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100ecd20]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ecd24]
je 0x100c7430
push dword [ebp - 0x2f8]
push edi
call fcn.100c9e10
cmp byte [ebp - 0x292], 0
je 0x100c7430
push 0
push dword [0x100ec17c]
push dword [0x100ec178]
call fcn.100ccee0
cmp eax, dword [0x100ec17c]
jne 0x100c7462
jmp 0x100c7558
push dword [0x100ec17c]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100ec178]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ec17c]
je 0x100c758b
mov ecx, dword [0x1010e774]
mov eax, dword [ebp - 0x29c]
mov byte [ebp - 0x295], al
push esi
mov eax, dword [ecx]
mov word [ebp - 0x298], 0xa0a
mov byte [ebp - 0x296], 0xa
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e774]
mov esi, dword [ebp - 0x2b8]
mov edi, dword [ebp - 0x2a0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x2bc]
add eax, esi
push eax
mov eax, dword [ebp - 0x2b0]
add eax, edi
push eax
push esi
push edi
call edx
mov ecx, dword [0x1010e774]
dec edi
mov esi, dword [ebp - 0x298]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e774]
mov esi, dword [ebp - 0x2bc]
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x2b8]
add eax, esi
push eax
mov eax, dword [ebp - 0x2b0]
add eax, 2
add eax, edi
push eax
mov eax, dword [ebp - 0x2b8]
dec eax
push eax
push edi
call edx
mov ecx, dword [0x1010e774]
mov edi, dword [ebp - 0x2a0]
mov esi, dword [ebp - 0x298]
inc edi
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e774]
mov esi, dword [ebp - 0x2b8]
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x2bc]
add eax, 0xfffffffe
add eax, esi
push eax
mov eax, dword [ebp - 0x2b0]
add eax, 0xfffffffe
add eax, edi
push eax
push esi
push edi
call edx
cmp byte [ebp - 0x292], 0
mov edi, dword [ebp - 0x2a4]
je 0x100c758b
push dword [0x100ec568]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100ec564]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ec568]
jne 0x100c75bd
jmp 0x100c76d6
push dword [0x100ec568]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100ec564]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ec568]
je 0x100c7709
vpxor xmm0, xmm0, xmm0
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x68], 0
vmovdqu xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c75e0
sub ecx, edx
lea eax, [ebp - 0x280]
push ecx
push eax
lea ecx, [ebp - 0x78]
call fcn.1002a290
mov dword [ebp - 4], 0
cmp dword [ebp - 0x68], 0xf
jbe 0x100c762b
push 0
push 0xf
lea ecx, [ebp - 0x78]
call fcn.100354f0
lea eax, [ebp - 0x298]
mov dword [ebp - 0x298], 0x2e2e2e
push eax
lea ecx, [ebp - 0x78]
call fcn.1003d1f0
cmp byte [ebp - 0x291], 0
mov eax, dword [0x100ec5fc]
mov dword [ebp - 0x298], eax
je 0x100c764f
mov word [ebp - 0x298], 0x8282
mov byte [ebp - 0x296], 0x82
mov eax, dword [ebp - 0x29c]
mov ecx, 0x1011129c
mov byte [ebp - 0x295], al
lea eax, [ebp - 0x78]
push 2
push eax
push dword [ebp - 0x298]
mov eax, dword [ebp - 0x2b8]
sub eax, dword [0x101112a4]
push eax
mov eax, dword [ebp - 0x2b0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2a0]
push eax
call fcn.100bebb0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x64]
cmp ecx, 0xf
jbe 0x100c76cd
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c76c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c76c3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100cd567
add esp, 8
cmp byte [ebp - 0x292], 0
je 0x100c7709
push dword [0x100ec6cc]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100ec6c8]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ec6cc]
jne 0x100c773b
jmp 0x100c78ec
push dword [0x100ec6cc]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100ec6c8]
lea ecx, [ebp - 0x2b4]
call fcn.1002a160
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100ec6cc]
je 0x100c78ec
mov esi, dword [0x1010e988]
lea edx, [ebp - 0x2c0]
add esi, 0xffffffc9
mov dword [ebp - 0x2c0], 0
xor esi, 0xd81b755b
lea ecx, [ebp - 0x1c]
mov eax, dword [esi + edi]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], 0x64
call fcn.100cabb0
mov edx, dword [ebp - 0x2bc]
xor edi, edi
add esp, 4
mov ecx, edx
test edx, edx
mov eax, dword [eax]
cmovs ecx, edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
imul ecx, eax
mov eax, 0x51eb851f
mov dword [ebp - 0x2c0], edi
imul ecx
lea ecx, [ebp - 0x2d0]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [ebp - 0x2c0]
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100cabb0
add esp, 4
mov dword [ebp - 0x298], 0xc8000000
mov edx, 0x64
mov byte [ebp - 0x2c4], 0x96
mov byte [ebp - 0x2c2], 0
mov edi, dword [eax]
mov eax, dword [ebp - 0x2a4]
push dword [ebp - 0x298]
cmp dword [esi + eax], edx
cmovl edx, dword [esi + eax]
mov eax, 0x51eb851f
imul ecx, edx, 0xe1
mov esi, dword [ebp - 0x2a0]
imul ecx
mov eax, 0xff
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp - 0x2b8]
cmp ecx, eax
cmovl eax, ecx
add esi, 0xfffffffa
mov byte [ebp - 0x2c3], al
lea edx, [edx - 1]
mov eax, dword [ebp - 0x2f8]
mov ecx, esi
mov byte [ebp - 0x2c1], al
mov eax, dword [ebp - 0x2bc]
add eax, 2
push eax
push 4
call fcn.100be900
mov eax, dword [ebp - 0x2bc]
add esp, 0xc
mov ecx, dword [ebp - 0x2a0]
sub eax, edi
add eax, dword [ebp - 0x2b8]
add ecx, 0xfffffffb
mov edx, eax
mov dword [ebp - 0x2c0], eax
push dword [ebp - 0x2c4]
push edi
push 2
call fcn.100be900
add esp, 0xc
mov edx, dword [0x1010e988]
mov edi, dword [ebp - 0x2a4]
lea eax, [edx - 0x37]
xor eax, 0xd81b755b
cmp dword [eax + edi], 0x5c
jg 0x100c78ec
add edx, 0xffffffc9
lea ecx, [ebp - 0x78]
xor edx, 0xd81b755b
mov edx, dword [edx + edi]
call fcn.10038c50
push 2
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 0x10111290
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
mov dword [ebp - 4], 1
push eax
push dword [ebp - 0x2c0]
push esi
call fcn.100bebb0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10029c30
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x4ac
vpxor xmm0, xmm0, xmm0
vmovq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea eax, [eax + 0x100f8c50]
mov dword [ebp - 0x2b4], eax
cmp byte [ebp - 0x292], 0
mov dword [ebp - 4], 2
vmovq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 0
je 0x100c7967
push 0x100ec770
lea ecx, [ebp - 0x398]
call fcn.100291a0
lea ecx, [ebp - 0x398]
mov edx, 0x81
jmp 0x100c7982
push 0x100ec818
lea ecx, [ebp - 0x38c]
call fcn.100291a0
lea ecx, [ebp - 0x38c]
mov edx, 0x42
mov esi, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x1c], esi
mov esi, dword [ecx]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 4
test dl, 2
je 0x100c79cd
and edx, 0xfffffffd
lea ecx, [ebp - 0x38c]
mov dword [ebp - 0x18], edx
call fcn.100292d0
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 5
test dl, 1
je 0x100c79e1
lea ecx, [ebp - 0x398]
call fcn.100292d0
cmp esi, dword [ebp - 0x1c]
je 0x100c89dd
nop word [eax + eax]
cmp dword [esi], 0
jne 0x100c7bb2
mov eax, dword [0x1010e990]
lea ecx, [ebp - 0x5c]
add eax, 0xffffffc7
xor eax, 0xd81b755d
add eax, dword [ebp - 0x2a4]
cmp byte [ebp - 0x291], 0
push eax
je 0x100c7ab8
lea edx, [ebp - 0x32c]
mov dword [ebp - 0x32c], 0x692524
call fcn.100a6ff0
add esp, 4
mov ecx, dword [ebp - 0x29c]
mov byte [ebp - 0x32d], cl
lea ecx, [ebp - 0x44]
push eax
mov byte [ebp - 4], 6
mov word [ebp - 0x330], 0x8282
mov byte [ebp - 0x32e], 0x82
call fcn.1002d880
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c7a9f
vmovdqu xmm0, xmmword [ebp - 0x44]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x34]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x44], 0
mov byte [ebp - 4], 6
jmp 0x100c7b47
lea eax, [ebp - 0x44]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 6
jmp 0x100c7b47
lea edx, [ebp - 0x334]
mov dword [ebp - 0x334], 0x692524
call fcn.100a6ff0
add esp, 4
mov ecx, dword [ebp - 0x29c]
mov byte [ebp - 0x365], cl
lea ecx, [ebp - 0x44]
push eax
mov byte [ebp - 4], 8
mov word [ebp - 0x368], 0xbeaa
mov byte [ebp - 0x366], 0x50
call fcn.1002d880
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c7b33
vmovdqu xmm0, xmmword [ebp - 0x44]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x34]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x44], 0
jmp 0x100c7b43
lea eax, [ebp - 0x44]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 8
cmp edx, 0xf
jbe 0x100c7b7a
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x44]
mov eax, edx
cmp ecx, 0x1000
jb 0x100c7b70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100c7bb2
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c7ba8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x2a4]
jne 0x100c7e42
mov eax, dword [0x1010e9c8]
add eax, 0xffffffb9
xor eax, 0xd81b756b
cmp byte [eax + ecx], 0
mov eax, dword [0x1010e9e4]
je 0x100c7d64
add eax, 0xffffffb2
xor eax, 0xd81b7572
cmp dword [eax + ecx], 0
lea ecx, [ebp - 0x5c]
jle 0x100c7cab
cmp byte [ebp - 0x291], 0
je 0x100c7c53
lea eax, [ebp - 0x314]
mov word [ebp - 0x314], 0x4b48
push eax
mov byte [ebp - 0x312], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
mov byte [ebp - 0x361], al
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x364], 0x8282
push eax
mov byte [ebp - 0x362], 0x82
call fcn.100cabe0
mov byte [ebp - 4], 0xb
jmp 0x100c7e1c
lea eax, [ebp - 0x318]
mov word [ebp - 0x318], 0x4b48
push eax
mov byte [ebp - 0x316], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xc
mov byte [ebp - 0x35d], al
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x360], 0xffff
push eax
mov byte [ebp - 0x35e], 0xff
call fcn.100cabe0
mov byte [ebp - 4], 0xd
jmp 0x100c7e1c
cmp byte [ebp - 0x291], 0
je 0x100c7d0c
lea eax, [ebp - 0x2c4]
mov word [ebp - 0x2c4], 0x4b48
push eax
mov byte [ebp - 0x2c2], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe
mov byte [ebp - 0x359], al
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x35c], 0x8282
push eax
mov byte [ebp - 0x35a], 0x82
call fcn.100cabe0
mov byte [ebp - 4], 0xf
jmp 0x100c7e1c
lea eax, [ebp - 0x298]
mov word [ebp - 0x298], 0x4b48
push eax
mov byte [ebp - 0x296], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x351], al
lea eax, [ebp - 0x354]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x354], 0xffff
push eax
mov byte [ebp - 0x352], 0xff
call fcn.100cabe0
mov byte [ebp - 4], 0x11
jmp 0x100c7e1c
add eax, 0xffffffb2
xor eax, 0xd81b7572
cmp dword [eax + ecx], 0
jle 0x100c7e42
cmp byte [ebp - 0x291], 0
lea ecx, [ebp - 0x5c]
je 0x100c7dd0
lea eax, [ebp - 0x2f0]
mov word [ebp - 0x2f0], 0x4b
push eax
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x358], 0x8282
push eax
mov byte [ebp - 0x356], 0x82
call fcn.100cabe0
mov byte [ebp - 4], 0x13
jmp 0x100c7e1c
lea eax, [ebp - 0x2f4]
mov word [ebp - 0x2f4], 0x4b
push eax
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x341], al
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x344], 0xffff
push eax
mov byte [ebp - 0x342], 0xff
call fcn.100cabe0
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
mov ecx, dword [ebp - 0x2a4]
cmp dword [esi], 2
jne 0x100c805e
mov eax, dword [0x1010e9d4]
add eax, 0xffffffb6
xor eax, 0xd81b756e
cmp byte [eax + ecx], 0
je 0x100c805e
cmp byte [ebp - 0x291], 0
vpxor xmm0, xmm0, xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x40], xmm0
je 0x100c7f3f
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x308], 0x4d4f4f5a
mov byte [ebp - 0x304], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c7ea0
sub ecx, edx
lea eax, [ebp - 0x308]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x33d], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x16
mov word [ebp - 0x340], 0x8282
mov byte [ebp - 0x33e], 0x82
call fcn.1002d880
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c7f26
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 0x16
jmp 0x100c7ff3
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x16
jmp 0x100c7ff3
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x310], 0x4d4f4f5a
mov byte [ebp - 0x30c], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c7f60
sub ecx, edx
lea eax, [ebp - 0x310]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x335], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x338], 0xa941
mov byte [ebp - 0x336], 0xcd
call fcn.1002d880
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c7fdf
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
jmp 0x100c7fef
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x18
cmp edx, 0xf
jbe 0x100c8026
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x60]
mov eax, edx
cmp ecx, 0x1000
jb 0x100c801c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x100c805e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8054
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
cmp dword [esi], 3
mov ecx, dword [ebp - 0x2a4]
vxorps xmm1, xmm1, xmm1
jne 0x100c8298
mov eax, dword [0x1010e9f0]
add eax, 0xffffffaf
xor eax, 0xd81b7575
vmovss xmm0, dword [eax + ecx]
vcomiss xmm0, xmm1
jbe 0x100c8298
cmp byte [ebp - 0x291], 0
vpxor xmm0, xmm0, xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x40], xmm0
je 0x100c816f
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x320], 0x4e494c42
mov word [ebp - 0x31c], 0x44
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c80d0
sub ecx, edx
lea eax, [ebp - 0x320]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x325], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x328], 0x8282
mov byte [ebp - 0x326], 0x82
call fcn.1002d880
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c8156
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 0x1a
jmp 0x100c8223
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1a
jmp 0x100c8223
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2ac], 0x4e494c42
mov word [ebp - 0x2a8], 0x44
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c8190
sub ecx, edx
lea eax, [ebp - 0x2ac]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x321], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x1c
mov word [ebp - 0x324], 0xaa48
mov byte [ebp - 0x322], 0xd1
call fcn.1002d880
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c820f
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
jmp 0x100c821f
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
cmp edx, 0xf
jbe 0x100c8256
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x60]
mov eax, edx
cmp ecx, 0x1000
jb 0x100c824c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x100c828e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c8284
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
mov ecx, dword [ebp - 0x2a4]
vxorps xmm1, xmm1, xmm1
cmp dword [esi], 4
jne 0x100c83dd
mov eax, dword [0x1010e8ec]
mov edx, dword [eax + ecx]
vmovss xmm0, dword [edx + 0x58]
vucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100c83dd
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x18], eax
mov eax, dword [0x1010e8ac]
mov dword [ebp - 0x2c8], eax
mov eax, dword [0x1010e904]
cmp dword [eax + ecx], 0
jne 0x100c82ea
mov eax, dword [0x1010e888]
call eax
mov eax, dword [0x1010e904]
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x2c8]
cmp eax, 0x3c7
jne 0x100c83dd
cmp byte [ebp - 0x291], 0
lea ecx, [ebp - 0x5c]
je 0x100c8360
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], 0x4f4c4552
push eax
mov word [ebp - 0x7c], 0x4441
mov byte [ebp - 0x7a], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x339], al
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x33c], 0x8282
push eax
mov byte [ebp - 0x33a], 0x82
call fcn.100cabe0
mov byte [ebp - 4], 0x1f
jmp 0x100c83bd
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x34c], 0x4f4c4552
push eax
mov word [ebp - 0x348], 0x4441
mov byte [ebp - 0x346], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x20
mov byte [ebp - 0x34d], al
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x350], 0xb43c
push eax
mov byte [ebp - 0x34e], 0xe1
call fcn.100cabe0
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
cmp dword [esi], 5
jne 0x100c85e0
mov eax, dword [0x1010e8b8]
mov ecx, dword [ebp - 0x2a4]
call eax
test al, al
je 0x100c85e0
cmp byte [ebp - 0x291], 0
vpxor xmm0, xmm0, xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
vmovdqu xmmword [ebp - 0x40], xmm0
je 0x100c84d0
lea ecx, [ebp - 0x2cc]
mov word [ebp - 0x2cc], 0x42
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c8431
sub ecx, edx
lea eax, [ebp - 0x2cc]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x2dd], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x22
mov word [ebp - 0x2e0], 0x8282
mov byte [ebp - 0x2de], 0x82
call fcn.1002d880
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c84b7
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 0x22
jmp 0x100c8575
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x22
jmp 0x100c8575
lea ecx, [ebp - 0x2dc]
mov word [ebp - 0x2dc], 0x42
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c84e2
sub ecx, edx
lea eax, [ebp - 0x2dc]
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002a290
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x2e1], al
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x24
mov word [ebp - 0x2e4], 0xff
mov byte [ebp - 0x2e2], 0
call fcn.1002d880
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
je 0x100c8561
vmovdqu xmm0, xmmword [ebp - 0x60]
vmovdqu xmmword [ecx], xmm0
vmovq xmm0, qword [ebp - 0x50]
vmovq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
mov edx, 0xf
add dword [ebp - 0x24], 0x1c
mov byte [ebp - 0x60], 0
jmp 0x100c8571
lea eax, [ebp - 0x60]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.100a3d60
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x24
cmp edx, 0xf
jbe 0x100c85a8
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x60]
mov eax, edx
cmp ecx, 0x1000
jb 0x100c859e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x100c85e0
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c85d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c76bd
push ecx
push edx
call fcn.100cd567
add esp, 8
cmp dword [esi], 6
jne 0x100c86e6
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
cmp dword [eax*4 + 0x10111c20], 1
mov al, byte [ebp - 0x292]
jne 0x100c86ec
test al, al
je 0x100c86ec
cmp byte [ebp - 0x291], 0
lea ecx, [ebp - 0x5c]
je 0x100c8672
lea eax, [ebp - 0x380]
mov dword [ebp - 0x380], 0x454b4146
push eax
mov byte [ebp - 0x37c], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x2e5], al
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x2e8], 0x8282
push eax
mov byte [ebp - 0x2e6], 0x82
call fcn.100cabe0
mov byte [ebp - 4], 0x27
jmp 0x100c86c6
lea eax, [ebp - 0x378]
mov dword [ebp - 0x378], 0x454b4146
push eax
mov byte [ebp - 0x374], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x28
mov byte [ebp - 0x2e9], al
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x2ec], 0xffff
push eax
mov byte [ebp - 0x2ea], 0xff
call fcn.100cabe0
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
mov al, byte [ebp - 0x292]
cmp dword [esi], 7
jne 0x100c87c9
test al, al
je 0x100c87c9
mov eax, dword [0x1010ea24]
mov ecx, dword [ebp - 0x2a4]
add eax, 0xffffffa2
xor eax, 0xd81b7582
mov eax, dword [eax + ecx]
mov ecx, dword [0x1010e76c]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10]
push ecx
mov edx, esp
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x2c8]
mov dword [edx], eax
call dword [ebp - 0x18]
test eax, eax
je 0x100c87c9
mov ecx, dword [0x1010ea3c]
add ecx, 0xffffff9c
xor ecx, 0xd81b7588
cmp dword [ecx + eax], 0x1f
jne 0x100c87c9
lea eax, [ebp - 0x370]
mov dword [ebp - 0x370], 0x5355455a
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 0x36c], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2a
mov byte [ebp - 0x2d5], al
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x2d8], 0xffff
push eax
mov byte [ebp - 0x2d6], 0
call fcn.100cabe0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
cmp dword [esi], 8
jne 0x100c8932
mov ecx, dword [0x1010ea24]
mov eax, dword [0x100e80a0]
add ecx, 0xffffffa2
xor ecx, 0xd81b7582
mov eax, dword [ecx + eax]
mov ecx, dword [0x1010e76c]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10]
push ecx
mov edx, esp
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x2c8]
mov dword [edx], eax
call dword [ebp - 0x18]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100c8932
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [ebp - 0x18]
cmp dword [eax + 0xc8], 0
jne 0x100c8845
mov eax, dword [0x1010ea3c]
add eax, 0xffffff9c
xor eax, 0xd81b7588
cmp dword [eax + ecx], 0x1f
jne 0x100c8932
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [0x1010e988]
mov edx, eax
mov eax, dword [ebp - 0x2a4]
add ecx, 0xffffffc9
vmovdqa xmm2, xmmword [0x100dd7e0]
xor ecx, 0xd81b755b
vxorps xmm1, xmm1, xmm1
vcvtsi2sd xmm1, xmm1, dword [ecx + eax]
vandnpd xmm0, xmm2, xmm1
vandpd xmm2, xmm2, xmm1
vroundpd xmm1, xmm0, 0
vsubsd xmm0, xmm0, xmm1
vcmpeqsd xmm0, xmm0, qword [0x100dd280]
vandpd xmm0, xmm0, xmmword [0x100dd290]
vaddsd xmm0, xmm0, xmm1
vorpd xmm0, xmm0, xmm2
vcvttsd2si eax, xmm0
cmp dword [edx + 0xec], eax
jl 0x100c8932
lea eax, [ebp - 0x300]
mov dword [ebp - 0x300], 0x4854454c
push eax
lea ecx, [ebp - 0x5c]
mov word [ebp - 0x2fc], 0x4c41
mov byte [ebp - 0x2fa], 0
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
mov byte [ebp - 0x2cd], al
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x2d0], 0xa9a3
push eax
mov byte [ebp - 0x2ce], 0x6f
call fcn.100cabe0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
cmp dword [esi], 9
jne 0x100c89cb
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x100c89cb
cmp dword [eax + 0x18], 0
jbe 0x100c89cb
cmp byte [ebp - 0x292], 0
je 0x100c89cb
cmp byte [ebp - 0x291], 0
jne 0x100c89cb
cmp dword [eax + 0x1c], 0
je 0x100c89cb
push 0x100dcb40
lea ecx, [ebp - 0x5c]
call fcn.10029c80
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2e
mov byte [ebp - 0x2bd], al
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x5c]
mov word [ebp - 0x2c0], 0xdcdc
push eax
mov byte [ebp - 0x2be], 0xdc
call fcn.100cabe0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x28]
call fcn.100ca7c0
lea ecx, [ebp - 0x44]
call fcn.10029c30
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 5
call fcn.10029c30
add esi, 4
cmp esi, dword [ebp - 0x1c]
jne 0x100c79f0
mov edi, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x24]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x28]
xor esi, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100c8a6e
mov edx, dword [ebp - 0x2a0]
mov edi, dword [ebp - 0x28]
add edx, 2
add edx, dword [ebp - 0x2b0]
xor eax, eax
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x1c], eax
lea ecx, [edi + eax]
mov eax, dword [0x10111298]
dec eax
push 0
imul eax, esi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x10111290
add eax, dword [ebp - 0x2b8]
push eax
push edx
call fcn.100bebb0
mov ecx, dword [ebp - 0x24]
mov eax, 0x92492493
mov edi, dword [ebp - 0x28]
inc esi
add dword [ebp - 0x1c], 0x1c
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x2b4]
cmp esi, eax
mov eax, dword [ebp - 0x1c]
jb 0x100c8a17
mov edi, dword [ebp - 0x2a4]
lea ecx, [ebp - 0x6c]
call fcn.100292d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x100c8ae1
mov edx, dword [ebp - 0x24]
push ecx
call fcn.100a3b00
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov esi, dword [ebp - 0x28]
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 0x100c8ad7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8ad7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100cd567
add esp, 8
xor esi, esi
mov dword [ebp - 0x2e0], 0
cmp byte [ebp - 0x292], 0
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x2d0], esi
je 0x100c8cf7
cmp byte [0x100ecbb0], 0
je 0x100c8cd7
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x4ac
add esi, 0x100f90fc
je 0x100c8cd7
cmp byte [esi + 0x444], 0
je 0x100c8cd7
cmp dword [esi + 0x18], 0
je 0x100c8cd7
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 0x100c8cd7
vmovss xmm1, dword [eax + 0x3c]
vmovss xmm0, dword [eax + 0x40]
vmulss xmm1, xmm1, xmm1
vfmadd213ss xmm0, xmm0, xmm1
call fcn.100234f0
vcvtss2sd xmm0, xmm0, xmm0
vcomisd xmm0, qword [0x100dcc60]
jbe 0x100c8ba6
cmp byte [eax + 0x3f4], 0
je 0x100c8cd7
cmp dword [esi + 0x45c], 3
jg 0x100c8cd7
vmovss xmm0, dword [0x100dcc48]
vmovss dword [ebp - 0x2b4], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x2c8], xmm0
vmovss xmm0, dword [esi + 0x440]
vsubss xmm0, xmm0, dword [eax + 0x400]
lea eax, [ebp - 0x2b4]
push eax
lea edx, [ebp - 0x2c8]
lea ecx, [ebp - 0x18]
vmovss dword [ebp - 0x18], xmm0
call fcn.10030ca0
mov edx, dword [ebp - 0x2b0]
add esp, 4
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, edx
vmulss xmm0, xmm0, dword [eax]
vmulss xmm0, xmm0, dword [0x100dcc30]
vcomiss xmm0, dword [0x100dcb44]
vmovss dword [ebp - 0x2b4], xmm0
jbe 0x100c8cd7
mov esi, dword [ebp - 0x2b8]
push ecx
mov ecx, dword [ebp - 0x29c]
mov eax, esp
push 4
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x2a0]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
lea eax, [edx + 2]
mov edx, dword [ebp - 0x2bc]
add edx, 2
lea ecx, [ecx - 1]
push eax
add edx, esi
call fcn.100be900
mov eax, dword [0x100ecc54]
add esp, 0xc
cmp byte [ebp - 0x291], 0
mov dword [ebp - 0x298], eax
je 0x100c8c8d
mov word [ebp - 0x298], 0x6482
mov byte [ebp - 0x296], 0x78
mov eax, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2a0]
add edx, 3
mov byte [ebp - 0x295], al
add edx, esi
push dword [ebp - 0x298]
vcvttss2si eax, dword [ebp - 0x2b4]
push 2
push eax
call fcn.100be8c0
add esp, 0xc
mov dword [ebp - 0x298], 5
mov dword [ebp - 0x2d8], 1
push 0
push dword [0x100ec8c4]
push dword [0x100ec8c0]
call fcn.100ccee0
cmp eax, dword [0x100ec8c4]
jne 0x100c8d24
jmp 0x100c977a
push 1
push dword [0x100ec8c4]
push dword [0x100ec8c0]
call fcn.100ccee0
xor ecx, ecx
mov dword [ebp - 0x298], esi
mov dword [ebp - 0x2d8], ecx
cmp eax, dword [0x100ec8c4]
je 0x100c977a
mov ecx, dword [0x1010e76c]
mov eax, dword [0x1010ea24]
add eax, 0xffffffa2
push ecx
mov edx, dword [ecx]
xor eax, 0xd81b7582
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + edi]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x2e4], esi
test esi, esi
je 0x100c977a
mov ecx, dword [esi]
mov edx, dword [ecx + 0x6f8]
mov ecx, esi
call edx
test eax, eax
je 0x100c977a
mov ecx, dword [eax + 0x14]
mov eax, dword [0x1010ea40]
add eax, 0xffffff9b
mov dword [ebp - 0x18], ecx
xor eax, 0xd81b7589
mov ecx, dword [eax + esi]
mov eax, dword [0x1010e8ec]
mov dword [ebp - 0x2ec], ecx
mov esi, dword [eax + edi]
vmovss xmm0, dword [esi + 0x58]
vucomiss xmm0, dword [0x100dcb44]
lahf
test ah, 0x44
jnp 0x100c8ded
mov ecx, dword [0x1010e8ac]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x2c8], ecx
mov ecx, dword [0x1010e904]
mov dword [ebp - 0x2b4], eax
cmp dword [ecx + edi], 0
jne 0x100c8dd7
mov eax, dword [0x1010e888]
mov ecx, edi
call eax
mov ecx, dword [0x1010e904]
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [ecx + edi]
mov edx, eax
call dword [ebp - 0x2c8]
cmp eax, 0x3c7
jne 0x100c8ded
mov al, 1
jmp 0x100c8def
xor al, al
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x292], al
cmp ecx, 0xffffffff
je 0x100c9044
cmp byte [0x100ec9e4], 0
je 0x100c9044
test al, al
je 0x100c8e19
vmovss xmm1, dword [esi + 0x64]
jmp 0x100c8e31
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [ebp - 0x2ec]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vdivss xmm1, xmm1, xmm0
mov eax, dword [ebp - 0x2b0]
add eax, 0xfffffffe
mov ecx, dword [0x1010e774]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmulss xmm2, xmm0, xmm1
vmovss xmm0, dword [0x100dd7f0]
vandnps xmm1, xmm0, xmm2
vandps xmm3, xmm0, xmm2
vroundps xmm2, xmm1, 0
mov esi, dword [ebp - 0x2a0]
vsubss xmm0, xmm1, xmm2
vcmpeqss xmm0, xmm0, dword [0x100dd200]
vandps xmm0, xmm0, xmmword [0x100dd230]
vaddss xmm0, xmm0, xmm2
vorps xmm0, xmm0, xmm3
vcvttss2si eax, xmm0
mov dword [ebp - 0x1c], eax
dec esi
mov eax, dword [ebp - 0x29c]
mov byte [ebp - 0x2bd], al
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x2bc]
add eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2e8], eax
mov word [ebp - 0x2c0], 0xa0a
mov byte [ebp - 0x2be], 0xa
push dword [ebp - 0x2c0]
lea edi, [eax + 2]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e774]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi + 4]
push eax
mov eax, dword [ebp - 0x2b0]
add eax, 2
add eax, esi
push eax
push edi
push esi
call edx
cmp byte [ebp - 0x291], 0
mov eax, dword [0x100ecb10]
mov dword [ebp - 0x2c4], eax
je 0x100c8f14
mov word [ebp - 0x2c4], 0x7d78
mov byte [ebp - 0x2c2], 0x82
mov ecx, dword [0x1010e774]
mov eax, dword [ebp - 0x2f8]
mov esi, dword [ebp - 0x2e8]
mov byte [ebp - 0x2c1], al
add esi, 3
mov eax, dword [ecx]
push dword [ebp - 0x2c4]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e774]
mov edi, dword [ebp - 0x2a0]
add edi, 2
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
lea eax, [esi + 2]
push eax
mov eax, dword [ebp - 0x1c]
add eax, edi
push eax
push esi
mov esi, dword [ebp - 0x2a0]
push esi
call edx
vmovdqa xmm2, xmmword [0x100dd7e0]
mov eax, 0x66666667
mov ecx, dword [ebp - 0x2ec]
imul dword [ebp - 0x18]
vxorps xmm1, xmm1, xmm1
mov edi, dword [ebp - 0x2e8]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
vcvtsi2sd xmm1, xmm1, eax
vandnpd xmm0, xmm2, xmm1
vandpd xmm2, xmm2, xmm1
vroundpd xmm1, xmm0, 0
vsubsd xmm0, xmm0, xmm1
vcmpeqsd xmm0, xmm0, qword [0x100dd280]
vandpd xmm0, xmm0, xmmword [0x100dd290]
vaddsd xmm0, xmm0, xmm1
vorpd xmm0, xmm0, xmm2
vcvttsd2si eax, xmm0
cmp ecx, eax
jg 0x100c9037
cmp byte [ebp - 0x292], 0
jne 0x100c9037
mov edx, ecx
lea ecx, [ebp - 0x78]
call fcn.10038c50
cmp byte [ebp - 0x291], 0
je 0x100c8ff8
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 0x30
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100c900e
push 2
push eax
push ecx
mov eax, esp
mov dword [ebp - 4], 0x31
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov ecx, dword [ebp - 0x29c]
mov byte [eax + 3], cl
mov ecx, 0x10111290
mov eax, dword [ebp - 0x1c]
push edi
add eax, esi
push eax
call fcn.100bebb0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10029c30
add dword [ebp - 0x298], 6
mov edi, dword [ebp - 0x2a4]
cmp byte [0x100eca6c], 0
je 0x100c9220
vpxor xmm0, xmm0, xmm0
mov edx, 0xf
mov dword [ebp - 0x30], 0
vmovdqu xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x40], 0
mov dword [ebp - 4], 0x32
mov ecx, dword [0x1010e940]
mov eax, dword [0x100e80a0]
add ecx, 0xffffffdb
xor ecx, 0xd81b7549
mov dword [ebp - 0x2d0], 0
vmovss xmm0, dword [ecx + edi]
vsubss xmm2, xmm0, dword [ecx + eax]
vmovss xmm0, dword [ecx + edi + 4]
vsubss xmm3, xmm0, dword [ecx + eax + 4]
vmovss xmm0, dword [ecx + edi + 8]
vsubss xmm1, xmm0, dword [ecx + eax + 8]
vmulss xmm0, xmm2, xmm2
vfmadd213ss xmm3, xmm3, xmm0
vfmadd213ss xmm1, xmm1, xmm3
vmulss xmm0, xmm1, dword [0x100dcba0]
vcvtss2sd xmm0, xmm0, xmm0
vmulsd xmm0, xmm0, qword [0x100dcc20]
vcvttsd2si esi, xmm0
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x100c91e4
mov edi, dword [ebp - 0x2d8]
lea eax, [edi + 9]
mov dword [ebp - 0x2d0], eax
cmp esi, 5
jle 0x100c9146
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 0x100c912f
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 0x100c9112
mov dword [ebp - 0x1c], 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 0x100c917f
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x2ac], 0x46206925
push eax
lea edx, [ebp - 0x2ac]
mov word [ebp - 0x2a8], 0x54
lea ecx, [ebp - 0x5c]
call fcn.100a6ff0
add esp, 4
lea ecx, [ebp - 0x40]
push eax
call fcn.1003d2f0
lea ecx, [ebp - 0x5c]
call fcn.10029c30
mov edx, dword [ebp - 0x298]
lea eax, [ebp - 0x40]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x29c]
mov eax, esp
add edx, edi
cmp byte [ebp - 0x291], 0
mov byte [eax + 3], cl
mov ecx, 0x10111290
je 0x100c91b2
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100c91bb
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x2bc]
add eax, edx
add eax, dword [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0x2b0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2a0]
push eax
call fcn.100bebb0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
cmp edx, 0xf
jbe 0x100c9220
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x40]
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9216
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c9216
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100cd567
add esp, 8
push 0
push dword [0x100ec96c]
push dword [0x100ec968]
call fcn.100ccee0
cmp eax, dword [0x100ec96c]
je 0x100c958f
mov eax, dword [0x1010e8c8]
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2e0], 0xfffffff7
call eax
mov ecx, eax
test ecx, ecx
jne 0x100c92b1
vpxor xmm0, xmm0, xmm0
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2ac], 0x6f727265
mov word [ebp - 0x2a8], 0x72
lea edx, [ecx + 1]
vmovdqu xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c9290
sub ecx, edx
lea eax, [ebp - 0x2ac]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.1002a290
jmp 0x100c9470
mov eax, dword [0x1010e8cc]
call eax
mov ecx, eax
test ecx, ecx
jne 0x100c9313
vpxor xmm0, xmm0, xmm0
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x2ac], 0x6f727265
mov word [ebp - 0x2a8], 0x72
lea edx, [ecx + 1]
vmovdqu xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c92f2
sub ecx, edx
lea eax, [ebp - 0x2ac]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.1002a290
jmp 0x100c9470
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x1010e7b4]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x68], 0
mov ecx, edx
mov dword [ebp - 0x64], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x78], xmm0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100c9346
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x78]
call fcn.1004a540
mov dword [ebp - 4], 0x33
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x68]
test edx, edx
jne 0x100c93af
vmovdqu xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], dl
jmp 0x100c9468
cmp dword [ebp - 0x64], 7
lea eax, [ebp - 0x78]
mov ecx, dword [0x100f8fdc]
cmova eax, dword [ebp - 0x78]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x5c]
push 0
push esi
call fcn.1003d370
push eax
lea ecx, [ebp - 0x40]
call fcn.1003d2f0
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100c941f
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9415
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c9415
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100cd567
add esp, 8
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0x40]
mov edx, dword [0x100f8fdc]
lea eax, [ebp - 0x78]
cmova ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x64], 7
push 0
cmova eax, dword [ebp - 0x78]
push 0
push esi
push ecx
push dword [ebp - 0x68]
push eax
push 0
push 0xfde9
call edx
vmovdqu xmm0, xmmword [ebp - 0x40]
vmovdqu xmmword [ebp - 0x9c], xmm0
vmovq xmm0, qword [ebp - 0x30]
vmovq qword [ebp - 0x8c], xmm0
lea ecx, [ebp - 0x78]
call fcn.1004a330
mov dword [ebp - 4], 0x35
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0xf
lea ecx, [ebp - 0x9c]
mov edx, dword [ebp - 0x9c]
lea edi, [ebp - 0x9c]
cmova eax, edx
cmova ecx, edx
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x8c]
add eax, ecx
cmp dword [ebp - 0x88], 0xf
mov dword [ebp - 0x2c8], eax
cmova edi, edx
cmp edi, eax
je 0x100c94df
mov esi, dword [ebp - 0x2b4]
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 - 0x2c8]
jne 0x100c94c6
mov edx, dword [ebp - 0x2d0]
lea eax, [ebp - 0x9c]
mov edi, dword [ebp - 0x298]
add edx, edi
cmp byte [ebp - 0x291], 0
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x29c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10111290
je 0x100c951b
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100c9524
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x2bc]
add eax, edx
add eax, dword [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0x2b0]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2a0]
push eax
call fcn.100bebb0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x88]
cmp ecx, 0xf
jbe 0x100c9595
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9583
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c9583
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100cd567
add esp, 8
jmp 0x100c9595
mov edi, dword [ebp - 0x298]
push 1
push dword [0x100ec96c]
push dword [0x100ec968]
call fcn.100ccee0
cmp eax, dword [0x100ec96c]
je 0x100c977a
mov eax, dword [0x1010ea3c]
mov ecx, 0x1011448c
add eax, 0xffffff9c
xor eax, 0xd81b7588
add eax, dword [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.100cac10
push 0x98
push 0
mov word [ebp - 0x298], 0x6325
mov esi, dword [eax]
lea eax, [ebp - 0x138]
push eax
add esi, 0xc
mov byte [ebp - 0x296], 0
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x138]
call fcn.1002d7d0
mov dword [ebp - 4], 0x36
lea eax, [ebp - 0x34]
mov dword [ebp - 0x6c], esi
lea edx, [ebp - 0x298]
mov dword [ebp - 0x68], 0x100cca50
lea ecx, [ebp - 0x138]
vmovq xmm0, qword [ebp - 0x6c]
push 1
push eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 1
vmovq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x2c], 0x100ccac0
call fcn.1002b9c0
add esp, 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x134]
push eax
call fcn.1002da50
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x138], 0x100da5f4
mov eax, dword [ebp - 0x138]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x13c], eax
lea ecx, [ebp - 0x134]
call fcn.10029b80
lea ecx, [ebp - 0x130]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xe8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov dword [ebp - 4], 0x37
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 0x2d0]
sub edx, dword [ebp - 0x2e0]
add edx, 0xfffffffb
push 2
add edx, edi
cmp byte [ebp - 0x291], 0
push eax
push ecx
je 0x100c9700
mov eax, dword [ebp - 0x29c]
mov ecx, esp
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x2b8]
mov word [ecx], 0x8282
add eax, 0xb
mov byte [ecx + 2], 0x82
mov ecx, dword [ebp - 0x2bc]
add ecx, edx
add ecx, eax
push ecx
jmp 0x100c9728
mov ecx, dword [ebp - 0x29c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x2b8]
mov word [eax], 0xffff
add ecx, 0xb
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x2bc]
add eax, edx
add eax, ecx
push eax
mov eax, dword [ebp - 0x2b0]
mov ecx, 0x101112e4
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2a0]
push eax
call fcn.100bebb0
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x100c977a
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100c9770
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c9770
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100cd567
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.100cd0ec
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4