Function at 0x100a0a40
Capabilities:
Encode data using base64
Encrypt data using speck

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 0x100b7760
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x438
mov eax, dword [0x100cc380]
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 - 0x344], eax
mov dword [ebp - 0x37c], 0
lea edi, [eax + 8]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x3a4], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x1010eb44]
mov ecx, dword [0x1010e994]
add edx, 0xffffffd6
mov dword [ebp - 0x348], eax
xor edx, 0x4a7e031
lea esi, [eax*4 + 0x10112564]
mov eax, dword [ebp - 0x344]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100c1420]
mov ecx, dword [edx + eax]
mov eax, dword [0x100cc404]
movss dword [ebp - 0x35c], xmm0
cmp ecx, dword [edx + eax]
je 0x100a0af9
mov byte [ebp - 0x33e], 1
jmp 0x100a0b0f
mov ecx, dword [0x1010ea1c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x33e]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100d2660], 0
mov dh, al
mov dl, byte [ebp - 0x33e]
mov byte [ebp - 0x33d], dh
je 0x100a0b5d
test dl, dl
je 0x100a0b5d
test dh, dh
jne 0x100a0b70
mov eax, dword [0x1010ebd4]
mov ecx, dword [ebp - 0x344]
add eax, 0xffffffb2
xor eax, 0x4a7e055
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x10112527], 1
jmp 0x100a0b83
test dh, dh
jne 0x100a0b70
mov eax, dword [ebp - 0x348]
mov byte [eax + 0x10112527], 1
jmp 0x100a0b83
mov eax, dword [ebp - 0x348]
cmp byte [eax + 0x10112527], 0
je 0x100a3460
movss xmm0, dword [esi]
test dh, dh
je 0x100a0b95
subss xmm0, dword [ebp - 0x35c]
jmp 0x100a0b9d
addss xmm0, dword [ebp - 0x35c]
movss dword [esi], xmm0
test dl, dl
je 0x100a0bb2
cmp byte [0x100d07d0], 0
je 0x100a0bb2
mov dl, 1
jmp 0x100a0bb4
xor dl, dl
comiss xmm0, dword [0x100c13a8]
lea ecx, [ebp - 0x42c]
mov dword [ebp - 0x42c], 0x3f800000
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
xorps xmm2, xmm2
cmovbe ecx, esi
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100a0bfe
test dl, dl
je 0x100a3460
mov eax, dword [0x1010e994]
mov ecx, dword [0x1010ebb0]
add ecx, 0xffffffbb
xor ecx, 0x4a7e04c
movss xmm2, dword [eax + 0x10]
mov eax, dword [ebp - 0x344]
subss xmm2, dword [ecx + eax]
test dh, dh
je 0x100a0c33
comiss xmm2, dword [0x100c1454]
ja 0x100a3460
movaps xmm0, xmm1
mulss xmm1, dword [0x100c1520]
mulss xmm0, dword [0x100c153c]
cvttss2si eax, xmm0
mov dword [ebp - 0x39c], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x33c], eax
test dh, dh
je 0x100a0cc6
test dl, dl
je 0x100a0cc6
movss xmm0, dword [0x100c143c]
comiss xmm2, xmm0
mov dword [ebp - 0x39c], 0x70
mov dword [ebp - 0x33c], 0x50
jbe 0x100a0cc6
subss xmm2, xmm0
movss xmm0, dword [0x100c14fc]
movaps xmm1, xmm2
mulss xmm2, dword [0x100c1470]
mulss xmm1, dword [0x100c1484]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100c14dc]
subss xmm0, xmm2
mov dword [ebp - 0x39c], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x33c], eax
mov ecx, dword [0x1010e938]
lea edx, [ebp - 0x338]
mov esi, dword [ebp - 0x348]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100a3460
push dword [ebp - 0x39c]
push dword [ebp - 0x344]
call fcn.100a03f0
lea eax, [ebp - 0x390]
push eax
push dword [ebp - 0x344]
call fcn.100a4190
test al, al
je 0x100a3460
cmp byte [ebp - 0x33e], 0
lea edx, [ebp - 0x18]
push dword [0x100d10d8]
lea ecx, [ebp - 0x358]
push dword [0x100d10d4]
je 0x100a0d4d
mov dword [ebp - 0x18], 0
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d10d8]
jne 0x100a0d6a
jmp 0x100a0d88
mov dword [ebp - 0x18], 1
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d10d8]
je 0x100a10c6
push dword [ebp - 0x39c]
push dword [ebp - 0x344]
call fcn.100a4470
cmp byte [ebp - 0x33e], 0
je 0x100a10c6
push dword [0x100d0638]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100d0634]
lea ecx, [ebp - 0x358]
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d0638]
jne 0x100a10f8
xor cl, cl
mov eax, dword [0x100d06cc]
mov byte [ebp - 0x34c], al
shr eax, 8
mov byte [ebp - 0x34b], al
mov al, byte [0x100d06ce]
mov byte [ebp - 0x34a], al
mov eax, dword [ebp - 0x33c]
mov byte [ebp - 0x349], al
test cl, cl
je 0x100a0eb5
push dword [ebp - 0x34c]
mov edx, dword [ebp - 0x38c]
push dword [ebp - 0x384]
mov ecx, dword [ebp - 0x390]
push dword [ebp - 0x388]
call fcn.10097640
mov eax, dword [ebp - 0x33c]
add esp, 0xc
mov edx, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x390]
mov byte [ebp - 0x349], al
mov eax, dword [ebp - 0x384]
add eax, 2
mov word [ebp - 0x34c], 0
mov byte [ebp - 0x34a], 0
lea edx, [edx - 1]
push dword [ebp - 0x34c]
lea ecx, [ecx - 1]
push eax
mov eax, dword [ebp - 0x388]
add eax, 2
push eax
call fcn.10097640
mov eax, dword [ebp - 0x33c]
add esp, 0xc
mov edx, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x390]
mov byte [ebp - 0x349], al
mov eax, dword [ebp - 0x384]
add eax, 0xfffffffe
mov word [ebp - 0x34c], 0
mov byte [ebp - 0x34a], 0
lea edx, [edx + 1]
push dword [ebp - 0x34c]
lea ecx, [ecx + 1]
push eax
mov eax, dword [ebp - 0x388]
add eax, 0xfffffffe
push eax
call fcn.10097640
add esp, 0xc
cmp byte [ebp - 0x33e], 0
lea edx, [ebp - 0x18]
push dword [0x100d09a0]
lea ecx, [ebp - 0x358]
push dword [0x100d099c]
je 0x100a10ff
mov dword [ebp - 0x18], 0
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d09a0]
jne 0x100a111c
mov byte [ebp - 0x391], 0
cmp byte [ebp - 0x33e], 0
je 0x100a0f39
push dword [0x100d0b80]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 8
push dword [0x100d0b7c]
lea ecx, [ebp - 0x358]
call fcn.100275c0
add esp, 8
mov byte [ebp - 0x34d], 1
mov eax, dword [eax]
cmp eax, dword [0x100d0b80]
jne 0x100a0f40
mov byte [ebp - 0x34d], 0
cmp byte [ebp - 0x391], 0
je 0x100a0ff8
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x30]
call fcn.10026b60
push 0x18
push 0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
call fcn.10040aa0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.10026b10
cmp dword [ebp - 0x5c], 0xf
jbe 0x100a0f9d
push 0
push 0xf
lea ecx, [ebp - 0x6c]
call fcn.100338d0
push 0x100c0f34
lea ecx, [ebp - 0x6c]
call fcn.10033940
mov eax, dword [0x100d0a34]
mov ecx, 0x10111dcc
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x33c]
mov byte [ebp - 0x359], al
lea eax, [ebp - 0x6c]
push 2
push eax
push dword [ebp - 0x35c]
mov eax, dword [ebp - 0x38c]
sub eax, dword [0x10111dd4]
push eax
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x390]
push eax
call fcn.100978c0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.10026b10
cmp byte [ebp - 0x34d], 0
je 0x100a1155
mov ecx, dword [0x1010eb88]
lea eax, [ebp - 0x430]
add ecx, 0xffffffc5
mov dword [ebp - 0x430], 0x64
xor ecx, 0x4a7e042
mov dword [ebp - 0x34c], 0xb45df59a
add ecx, dword [ebp - 0x344]
push str.VULNERABLE
mov dword [ebp - 0x398], 0x4b5df59a
cmp dword [ecx], 0x64
cmovl eax, ecx
lea ecx, [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
call fcn.10026b60
push 0x18
push 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 3
push ecx
mov ecx, eax
call fcn.10040aa0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.10026b10
mov eax, dword [0x1010ebdc]
mov ecx, dword [ebp - 0x344]
add eax, 0xffffffb0
xor eax, 0x4a7e057
cmp dword [eax + ecx], 0
je 0x100a109b
cmp dword [ebp - 0x18], 0x32
jge 0x100a1146
lea eax, [ebp - 0x30]
mov ecx, 0x10111dc0
push 2
push eax
mov eax, dword [ebp - 0x38c]
sub eax, dword [0x10111de0]
sub eax, 0xb
cmp byte [ebp - 0x33d], 0
jne 0x100a1128
push dword [ebp - 0x34c]
jmp 0x100a112e
push dword [0x100d0638]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100d0634]
lea ecx, [ebp - 0x358]
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d0638]
je 0x100a0dba
mov cl, 1
jmp 0x100a0dbc
mov dword [ebp - 0x18], 1
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d09a0]
je 0x100a0ef4
mov byte [ebp - 0x391], 1
jmp 0x100a0efb
push dword [ebp - 0x398]
push eax
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x390]
push eax
call fcn.100978c0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.10026b10
cmp byte [ebp - 0x33e], 0
lea edx, [ebp - 0x18]
push dword [0x100d0ad8]
lea ecx, [ebp - 0x358]
push dword [0x100d0ad4]
je 0x100a1191
mov dword [ebp - 0x18], 0
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d0ad8]
jne 0x100a11ae
jmp 0x100a1355
mov dword [ebp - 0x18], 1
call fcn.100275c0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100d0ad8]
je 0x100a1355
mov ecx, dword [0x1010eb88]
lea eax, [ebp - 0x428]
mov esi, dword [ebp - 0x384]
add ecx, 0xffffffc5
xor ecx, 0x4a7e042
mov dword [ebp - 0x428], 0x64
add ecx, dword [ebp - 0x344]
add esi, 0xfffffffe
cmp dword [ecx], 0x64
cmovl eax, ecx
mov ecx, dword [eax]
mov eax, 0x64
sub eax, ecx
mov dword [ebp - 0x354], ecx
imul ecx, eax, 0x1fe
mov eax, 0x51eb851f
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, dword [ebp - 0x354], 0x1fe
mov dword [ebp - 0x3a0], 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 - 0x35c], eax
mov eax, dword [ebp - 0x354]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100c12d4]
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 - 0x33c]
mov eax, esp
mov edx, dword [ebp - 0x38c]
fstp dword [ebp - 0x18]
cvttss2si esi, dword [ebp - 0x18]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x390]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x384]
push eax
push 4
lea ecx, [ecx - 6]
call fcn.10097680
mov ecx, dword [ebp - 0x3a0]
add esp, 8
mov eax, esp
push esi
mov byte [eax], cl
mov ecx, dword [ebp - 0x35c]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x39c]
mov byte [eax + 3], cl
mov ecx, dword [ebp - 0x38c]
mov byte [eax + 2], 0
inc ecx
mov eax, dword [ebp - 0x384]
add eax, 0xfffffffe
sub eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x18], eax
add ecx, 0xfffffffb
push 2
mov edx, eax
call fcn.10097640
mov eax, dword [ebp - 0x354]
add esp, 0xc
cmp eax, 0x64
jge 0x100a134f
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.1002fc70
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x33c]
mov eax, esp
mov dword [ebp - 4], 6
mov byte [eax + 3], cl
mov ecx, 0x10111db4
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffb
push eax
mov eax, dword [ebp - 0x390]
add eax, 0xfffffffb
push eax
call fcn.100978c0
lea ecx, [ebp - 0x30]
call fcn.10026b10
mov esi, dword [ebp - 0x348]
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
cmp byte [ebp - 0x33e], 0
mov dword [ebp - 4], 7
movq qword [ebp - 0x60], xmm0
mov dword [ebp - 0x58], 0
je 0x100a13b2
push 0x100d0b7c
lea ecx, [ebp - 0x448]
call fcn.10026050
lea eax, [ebp - 0x448]
mov ecx, 0x41
jmp 0x100a13cd
push 0x100d0c24
lea ecx, [ebp - 0x43c]
call fcn.10026050
lea eax, [ebp - 0x43c]
mov ecx, 0x82
mov edx, dword [eax + 8]
mov dword [ebp - 0x18], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x35c], edx
mov edx, dword [eax]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 9
test cl, 2
je 0x100a142a
and ecx, 0xfffffffd
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x43c]
call fcn.10025ff0
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 0xa
test cl, 1
je 0x100a143e
lea ecx, [ebp - 0x448]
call fcn.10025ff0
imul eax, esi, 0xb70
lea edx, [ebp - 0x1e0]
push edx
push esi
lea ecx, [eax + 0x100dd5e4]
mov dword [ebp - 0x348], ecx
mov ecx, dword [0x1010e938]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, dword [ebp - 0x3a0]
cmp esi, dword [ebp - 0x35c]
je 0x100a2953
cmp dword [esi], 0
jne 0x100a163f
mov eax, dword [0x1010eb8c]
lea ecx, [ebp - 0x30]
add eax, 0xffffffc4
mov edx, 0x100c11f4
xor eax, 0x4a7e043
add eax, dword [ebp - 0x344]
push eax
call fcn.1007feb0
add esp, 4
cmp byte [ebp - 0x33d], 0
je 0x100a1547
mov ecx, dword [ebp - 0x33c]
mov byte [ebp - 0x395], cl
lea ecx, [ebp - 0x378]
push eax
mov byte [ebp - 4], 0xb
mov word [ebp - 0x398], 0x8282
mov byte [ebp - 0x396], 0x82
call fcn.1002b030
mov eax, dword [ebp - 0x398]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a1528
movups xmm0, xmmword [ebp - 0x378]
mov edx, 0xf
mov byte [ebp - 0x378], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x368]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
mov byte [ebp - 4], 0xb
jmp 0x100a15d1
lea eax, [ebp - 0x378]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x364]
mov byte [ebp - 4], 0xb
jmp 0x100a15d1
mov ecx, dword [ebp - 0x33c]
mov byte [ebp - 0x3dd], cl
lea ecx, [ebp - 0x378]
push eax
mov byte [ebp - 4], 0xd
mov word [ebp - 0x3e0], 0xc896
mov byte [ebp - 0x3de], 0x3c
call fcn.1002b030
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a15b7
movups xmm0, xmmword [ebp - 0x378]
mov edx, 0xf
mov byte [ebp - 0x378], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x368]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a15cd
lea eax, [ebp - 0x378]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x364]
mov byte [ebp - 4], 0xd
cmp edx, 0xf
jbe 0x100a1607
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x378]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a15fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100a163f
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a1635
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
cmp dword [esi], 1
mov ecx, dword [ebp - 0x344]
jne 0x100a1866
mov eax, dword [0x1010ebc0]
add eax, 0xffffffb7
xor eax, 0x4a7e050
cmp byte [eax + ecx], 0
mov eax, dword [0x1010ebdc]
je 0x100a179c
add eax, 0xffffffb0
xor eax, 0x4a7e057
push 0x100c11f8
cmp dword [eax + ecx], 0
lea ecx, [ebp - 0x30]
jle 0x100a1710
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a16d1
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xf
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3e8], 0x8282
push eax
mov byte [ebp - 0x3e6], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x10
jmp 0x100a183a
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x3e9], al
lea eax, [ebp - 0x3ec]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3ec], 0xffff
push eax
mov byte [ebp - 0x3ea], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x12
jmp 0x100a183a
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a175d
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x13
mov byte [ebp - 0x401], al
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x404], 0x8282
push eax
mov byte [ebp - 0x402], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x14
jmp 0x100a183a
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x15
mov byte [ebp - 0x405], al
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x408], 0xffff
push eax
mov byte [ebp - 0x406], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x16
jmp 0x100a183a
add eax, 0xffffffb0
xor eax, 0x4a7e057
cmp dword [eax + ecx], 0
jle 0x100a1866
push 0x100c11fc
lea ecx, [ebp - 0x30]
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a1800
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x17
mov byte [ebp - 0x411], al
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x414], 0x8282
push eax
mov byte [ebp - 0x412], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x18
jmp 0x100a183a
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x19
mov byte [ebp - 0x41d], al
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x420], 0xffff
push eax
mov byte [ebp - 0x41e], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
mov ecx, dword [ebp - 0x344]
cmp dword [esi], 2
jne 0x100a1938
mov eax, dword [0x1010ebcc]
add eax, 0xffffffb4
xor eax, 0x4a7e053
cmp byte [eax + ecx], 0
je 0x100a1938
push str.SCOPED
lea ecx, [ebp - 0x30]
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a18d8
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x1b
mov byte [ebp - 0x3a5], al
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3a8], 0x8282
push eax
mov byte [ebp - 0x3a6], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x1c
jmp 0x100a1912
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x1d
mov byte [ebp - 0x3a9], al
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3ac], 0x7d32
push eax
mov byte [ebp - 0x3aa], 0xd1
call fcn.100a5d70
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 3
xorps xmm1, xmm1
mov edx, dword [ebp - 0x344]
jne 0x100a1a20
mov eax, dword [0x1010ebe8]
add eax, 0xffffffad
xor eax, 0x4a7e05a
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100a1a20
push str.BLIND
lea ecx, [ebp - 0x30]
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a19b7
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x1f
mov byte [ebp - 0x3ad], al
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3b0], 0x8282
push eax
mov byte [ebp - 0x3ae], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x20
jmp 0x100a19f1
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x21
mov byte [ebp - 0x3b1], al
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3b4], 0xb43c
push eax
mov byte [ebp - 0x3b2], 0xe1
call fcn.100a5d70
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
mov edx, dword [ebp - 0x344]
xorps xmm1, xmm1
cmp dword [esi], 4
jne 0x100a1b3b
mov eax, dword [0x1010ead0]
mov ecx, dword [eax + edx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a1b3b
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1010ea90]
mov dword [ebp - 0x54], ecx
mov ecx, dword [0x1010eae8]
mov dword [ebp - 0x70], eax
cmp dword [ecx + edx], 0
jne 0x100a1a70
mov eax, dword [0x1010ea6c]
mov ecx, edx
call eax
mov ecx, dword [0x1010eae8]
mov eax, dword [ebp - 0x70]
mov edx, eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x54]
cmp eax, 0x3c7
jne 0x100a1b3b
push str.RELOAD
lea ecx, [ebp - 0x30]
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a1adb
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x23
mov byte [ebp - 0x3b5], al
lea eax, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3b8], 0x8282
push eax
mov byte [ebp - 0x3b6], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x24
jmp 0x100a1b15
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x25
mov byte [ebp - 0x3b9], al
lea eax, [ebp - 0x3bc]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3bc], 0xb43c
push eax
mov byte [ebp - 0x3ba], 0xe1
call fcn.100a5d70
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 5
jne 0x100a1c0b
mov eax, dword [0x1010ea9c]
mov ecx, dword [ebp - 0x344]
call eax
test al, al
je 0x100a1c0b
push str.BOMB
lea ecx, [ebp - 0x30]
call fcn.10026b60
cmp byte [ebp - 0x33d], 0
je 0x100a1bab
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x27
mov byte [ebp - 0x421], al
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x424], 0x8282
push eax
mov byte [ebp - 0x422], 0x82
call fcn.100a5d70
mov byte [ebp - 4], 0x28
jmp 0x100a1be5
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x29
mov byte [ebp - 0x419], al
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x41c], 0xff
push eax
mov byte [ebp - 0x41a], 0
call fcn.100a5d70
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 6
mov eax, dword [ebp - 0x348]
jne 0x100a1cd5
test eax, eax
je 0x100a1cd5
cmp dword [eax + 0x18], 0
je 0x100a1cd5
lea ecx, [eax + 8]
call fcn.10026180
mov eax, dword [eax]
test eax, eax
je 0x100a1ccf
cmp byte [eax + 0x10], 0
jne 0x100a1ccf
mov eax, dword [eax + 0x414]
cmp eax, 1
je 0x100a1ccf
cmp eax, 0xc
je 0x100a1ccf
cmp eax, 0x19
je 0x100a1ccf
cmp eax, 2
je 0x100a1ccf
push str.FAKE
lea ecx, [ebp - 0x30]
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x2b
mov byte [ebp - 0x415], al
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x418], 0xffff
push eax
mov byte [ebp - 0x416], 0xff
call fcn.100a5d70
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
mov eax, dword [ebp - 0x348]
cmp dword [esi], 7
jne 0x100a1f50
test eax, eax
je 0x100a1f50
cmp dword [eax + 0x18], 0
je 0x100a1f50
lea ecx, [eax + 8]
call fcn.10026180
mov eax, dword [eax]
test eax, eax
je 0x100a1f50
cmp byte [eax + 0x10], 0
jne 0x100a1f50
mov eax, dword [eax + 0x414]
lea ecx, [ebp - 0x30]
cmp eax, 1
jne 0x100a1d63
push str.RESOLVED
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x2d
mov byte [ebp - 0x409], al
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x40c], 0xffff
push eax
mov byte [ebp - 0x40a], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x2e
jmp 0x100a1f2a
cmp eax, 0xc
jne 0x100a1db1
push str.RESOLVED
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x2f
mov byte [ebp - 0x3fd], al
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x400], 0xffff
push eax
mov byte [ebp - 0x3fe], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x30
jmp 0x100a1f2a
cmp eax, 2
jne 0x100a1dff
push str.RESOLVED
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x31
mov byte [ebp - 0x3f9], al
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3fc], 0xffff
push eax
mov byte [ebp - 0x3fa], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x32
jmp 0x100a1f2a
cmp eax, 6
jne 0x100a1e4d
push str.HIGH
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x33
mov byte [ebp - 0x3f5], al
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3f8], 0xffff
push eax
mov byte [ebp - 0x3f6], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x34
jmp 0x100a1f2a
cmp eax, 5
jne 0x100a1e9b
push str.MEDIUM
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x35
mov byte [ebp - 0x3f1], al
lea eax, [ebp - 0x3f4]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3f4], 0xffff
push eax
mov byte [ebp - 0x3f2], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x36
jmp 0x100a1f2a
cmp eax, 0x1b
jne 0x100a1ee6
push str.OVERRIDE
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x37
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3e4], 0xffff
push eax
mov byte [ebp - 0x3e2], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x38
jmp 0x100a1f2a
push 0x100c1244
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x39
mov byte [ebp - 0x40d], al
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x410], 0xffff
push eax
mov byte [ebp - 0x40e], 0xff
call fcn.100a5d70
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 8
jne 0x100a2005
mov ecx, dword [ebp - 0x348]
test ecx, ecx
je 0x100a2005
cmp dword [ecx + 0x18], 0
je 0x100a2005
add ecx, 8
call fcn.10026180
mov eax, dword [eax]
test eax, eax
je 0x100a2005
cmp byte [eax + 0x10], 0
jne 0x100a2005
cmp dword [eax + 0x410], 0xffffffff
jge 0x100a2005
cmp dword [eax + 0xc], 2
jg 0x100a2005
push 0x100be95c
lea ecx, [ebp - 0x30]
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x3b
mov byte [ebp - 0x3bd], al
lea eax, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3c0], 0xffff
push eax
mov byte [ebp - 0x3be], 0xff
call fcn.100a5d70
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 9
jne 0x100a21e4
mov eax, dword [0x100ccc10]
test eax, eax
je 0x100a21e4
mov eax, dword [eax]
mov ecx, edi
mov dword [ebp - 0x37c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10114fe0]
mov dword [ebp - 0x358], eax
test cl, 1
jne 0x100a208a
or ecx, 1
mov dword [0x10114fe0], ecx
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, 0x10114b78
mov dword [ebp - 0x70], 0x5fa2671c
mov dword [ebp - 0x54], 0x38d4fdc3
call fcn.1003f7b0
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.1003f790
push 0x100b7fe0
mov eax, dword [eax + 8]
mov dword [0x10114fe4], eax
call fcn.100ab4c4
add esp, 4
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x358]
sub esp, 8
mov eax, dword [0x10114fe4]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x37c]
movd xmm0, dword [eax + ecx]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x380], xmm0
fld qword [ebp - 0x380]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
fstp qword [ebp - 0x380]
cvttsd2si edx, qword [ebp - 0x380]
lea ecx, [ebp - 0x37c]
add esp, 8
mov dword [ebp - 0x358], 0x2ee
mov dword [ebp - 0x37c], 0
mov edi, dword [ebp - 0x3a4]
mov byte [ebp - 0x34c], 0xc1
movss xmm0, dword [0x100c153c]
mov eax, edx
mov dword [ebp - 0x50], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x50]
cmove ecx, eax
cmp edx, 0x2ee
lea eax, [ebp - 0x358]
mov edx, str._iMS
cmovle eax, ecx
cmp byte [ebp - 0x33d], 0
lea ecx, [ebp - 0x30]
movd xmm2, dword [eax]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
mulss xmm2, dword [0x100c1324]
mulss xmm1, dword [0x100c1348]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100c1510]
subss xmm0, xmm2
mov byte [ebp - 0x34b], al
cvttss2si eax, xmm0
mov byte [ebp - 0x34a], al
mov eax, dword [ebp - 0x33c]
mov byte [ebp - 0x349], al
lea eax, [ebp - 0x50]
push eax
je 0x100a219f
call fcn.1007feb0
add esp, 4
lea ecx, [ebp - 0x34c]
push ecx
push eax
lea ecx, [ebp - 0x378]
call fcn.100a5da0
mov byte [ebp - 4], 0x3f
jmp 0x100a21be
call fcn.1007feb0
add esp, 4
lea ecx, [ebp - 0x34c]
push ecx
push eax
lea ecx, [ebp - 0x378]
call fcn.100a5da0
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 0xa
jne 0x100a22c9
mov eax, dword [ebp - 0x348]
test eax, eax
je 0x100a22c9
cmp dword [eax + 0x18], 0
je 0x100a22c9
lea ecx, [eax + 8]
call fcn.10026180
mov eax, dword [eax]
test eax, eax
je 0x100a22c9
cmp byte [eax + 0x10], 0
jne 0x100a22c9
movss xmm1, dword [eax + 0x20]
movss xmm2, dword [eax + 0x24]
subss xmm2, dword [eax + 0x30]
subss xmm1, dword [eax + 0x2c]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [eax + 0x34]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm2, dword [0x100c1570]
jbe 0x100a22c9
push 0x100c10b8
lea ecx, [ebp - 0x30]
call fcn.10026b60
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x42
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x30]
mov word [ebp - 0x3d8], 0xff
push eax
mov byte [ebp - 0x3d6], 0
call fcn.100a5d70
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
call fcn.10026b10
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.10026b10
cmp dword [esi], 0xb
jne 0x100a2944
mov eax, dword [0x100cca7c]
mov ecx, dword [0x100cca78]
cmp ecx, eax
je 0x100a234b
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100cca7c]
je 0x100a234b
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 0x3c1], al
lea eax, [ebp - 0x3c4]
push eax
push str.KAABA
mov word [ebp - 0x3c4], 0xffff
mov byte [ebp - 0x3c2], 0xff
call fcn.100a5df0
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xa
call fcn.10026b10
mov eax, dword [0x100ccaa0]
mov ecx, dword [0x100cca9c]
cmp ecx, eax
je 0x100a23c0
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100ccaa0]
je 0x100a23c0
mov eax, dword [ebp - 0x33c]
mov byte [ebp - 0x3c5], al
lea eax, [ebp - 0x3c8]
push eax
push ecx
lea ecx, [ebp - 0x378]
mov word [ebp - 0x3c8], 0xffff
mov byte [ebp - 0x3c6], 0xff
call fcn.100a5e40
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [ebp - 0x40]
call fcn.100a5880
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0xa
call fcn.10026b10
mov eax, dword [0x100ccaac]
mov ecx, dword [0x100ccaa8]
cmp ecx, eax
je 0x100a24ad
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100ccaac]
je 0x100a24ad
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x378]
mov byte [ebp - 0x3c9], al
lea eax, [ebp - 0x3cc]
push eax
push 0x100bbb04
mov word [ebp - 0x3cc], 0xffff
mov byte [ebp - 0x3ca], 0xff
call fcn.100a5df0
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a245d
movups xmm0, xmmword [ebp - 0x378]
mov eax, dword [ebp - 0x360]
mov edx, 0xf
mov byte [ebp - 0x378], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x368]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a2473
lea eax, [ebp - 0x378]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x364]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a24ad
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x378]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a24a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov eax, dword [0x100cca94]
mov ecx, dword [0x100cca90]
cmp ecx, eax
je 0x100a2598
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100cca94]
je 0x100a2598
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x34]
push 5
xorps xmm0, xmm0
mov word [ebp - 0x3d0], 0xffff
push str.VADER
mov byte [ebp - 0x3ce], 0xff
mov byte [ebp - 0x3cd], al
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.10027800
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a2551
movups xmm0, xmmword [ebp - 0x34]
mov edx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a2561
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a2598
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x34]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a258e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov eax, dword [0x100ccab8]
mov ecx, dword [0x100ccab4]
cmp ecx, eax
je 0x100a2683
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100ccab8]
je 0x100a2683
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x34]
push 6
xorps xmm0, xmm0
mov word [ebp - 0x3d4], 0xffff
push str.CHEESE
mov byte [ebp - 0x3d2], 0xff
mov byte [ebp - 0x3d1], al
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.10027800
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a263c
movups xmm0, xmmword [ebp - 0x34]
mov edx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a264c
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a2683
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x34]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2679
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov eax, dword [0x100cca70]
mov ecx, dword [0x100cca6c]
cmp ecx, eax
je 0x100a276e
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100cca70]
je 0x100a276e
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x34]
push 7
xorps xmm0, xmm0
mov word [ebp - 0x3f0], 0xffff
push str.PANDORA
mov byte [ebp - 0x3ee], 0xff
mov byte [ebp - 0x3ed], al
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.10027800
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x49
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a2727
movups xmm0, xmmword [ebp - 0x34]
mov edx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a2737
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a276e
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x34]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2764
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov eax, dword [0x100cca88]
mov ecx, dword [0x100cca84]
cmp ecx, eax
je 0x100a2859
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100cca88]
je 0x100a2859
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x34]
push 6
xorps xmm0, xmm0
mov word [ebp - 0x3dc], 0xffff
push str.DOPIUM
mov byte [ebp - 0x3da], 0xff
mov byte [ebp - 0x3d9], al
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.10027800
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a2812
movups xmm0, xmmword [ebp - 0x34]
mov edx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a2822
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a2859
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x34]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a284f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
mov eax, dword [0x100ccac4]
mov ecx, dword [0x100ccac0]
cmp ecx, eax
je 0x100a2944
push dword [ebp - 0x2a8]
push eax
push ecx
call fcn.100aae50
cmp eax, dword [0x100ccac4]
je 0x100a2944
mov eax, dword [ebp - 0x33c]
lea ecx, [ebp - 0x34]
push 8
xorps xmm0, xmm0
mov word [ebp - 0x354], 0xffff
push str.FAKEFADE
mov byte [ebp - 0x352], 0xff
mov byte [ebp - 0x351], al
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.10027800
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x38]
je 0x100a28fd
movups xmm0, xmmword [ebp - 0x34]
mov edx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x3c], 0x1c
jmp 0x100a290d
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.1007be70
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
cmp edx, 0xf
jbe 0x100a2944
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x34]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a293a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
add esp, 8
add esi, 4
cmp esi, dword [ebp - 0x35c]
jne 0x100a1477
mov esi, dword [ebp - 0x40]
xor ecx, ecx
mov dword [ebp - 0x35c], ecx
mov eax, 0x92492493
mov ecx, dword [ebp - 0x3c]
sub ecx, esi
mov dword [ebp - 0x50], 0
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100a29f8
mov ecx, dword [ebp - 0x388]
add ecx, 2
add ecx, dword [ebp - 0x390]
xor edi, edi
mov dword [ebp - 0x37c], ecx
push 0
lea eax, [esi + edi]
mov esi, dword [ebp - 0x50]
push eax
push dword [eax + 0x18]
mov eax, dword [ebp - 0x38c]
dec eax
add eax, esi
push eax
push ecx
mov ecx, 0x10111db4
call fcn.100978c0
add esi, dword [0x10111dbc]
lea edi, [edi + 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, 0x92492493
inc dword [ebp - 0x35c]
mov dword [ebp - 0x50], esi
mov esi, dword [ebp - 0x40]
sub ecx, esi
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x37c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x35c], eax
jb 0x100a2996
mov edi, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x3a0]
mov byte [ebp - 4], 7
test edx, edx
je 0x100a2a3c
mov eax, dword [ebp - 0x18]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2a2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a2a96
push ecx
push edx
call fcn.100ab4d9
mov esi, dword [ebp - 0x40]
add esp, 8
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100a2aa6
mov edx, dword [ebp - 0x3c]
push ecx
mov ecx, esi
call fcn.1007bc50
mov ecx, dword [ebp - 0x38]
mov eax, 0x92492493
mov esi, dword [ebp - 0x40]
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 0x100a2a9c
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a2a9c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100ab4d9
add esp, 8
cmp byte [ebp - 0x33e], 0
mov dword [ebp - 0x348], 0
je 0x100a2c6d
cmp byte [0x100d0f90], 0
je 0x100a2c4d
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xb70
lea esi, [eax + 0x100dd5e4]
test esi, esi
je 0x100a2c4d
cmp byte [esi + 0xaac], 0
je 0x100a2c4d
cmp dword [esi + 0x18], 0
je 0x100a2c4d
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 0x100a2c4d
movss xmm1, dword [eax + 0x3c]
movss xmm0, dword [eax + 0x38]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001eba0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100c13c0]
jbe 0x100a2b55
cmp byte [eax + 0x418], 0
je 0x100a2c4d
cmp dword [esi + 0xb30], 3
jg 0x100a2c4d
movss xmm0, dword [esi + 0xaa8]
lea edx, [ebp - 0x358]
subss xmm0, dword [eax + 0x420]
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x37c], 0x3f8ccccd
push eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x358], 0
movss dword [ebp - 0x54], xmm0
call fcn.1002e4d0
mov ecx, dword [ebp - 0x388]
xorps xmm0, xmm0
add esp, 4
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100c139c]
comiss xmm1, xmm0
movss dword [ebp - 0x37c], xmm1
jbe 0x100a2c4d
mov eax, dword [0x100d1034]
mov esi, dword [ebp - 0x38c]
add esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x390]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x39c]
mov byte [ebp - 0x15], al
lea edx, [esi - 1]
mov eax, dword [ebp - 0x33c]
mov byte [ebp - 0x351], al
lea eax, [ecx + 2]
mov word [ebp - 0x354], 0
lea ecx, [edi - 1]
mov byte [ebp - 0x352], 0
push dword [ebp - 0x354]
push 4
push eax
call fcn.10097680
cvttss2si eax, dword [ebp - 0x37c]
add esp, 0xc
mov edx, esi
mov ecx, edi
push dword [ebp - 0x18]
push 2
push eax
call fcn.10097680
add esp, 0xc
mov dword [ebp - 0x348], 5
push 0
push dword [0x100d0cd0]
push dword [0x100d0ccc]
call fcn.100aae50
cmp eax, dword [0x100d0cd0]
jne 0x100a2c8c
jmp 0x100a3460
push 1
push dword [0x100d0cd0]
push dword [0x100d0ccc]
call fcn.100aae50
cmp eax, dword [0x100d0cd0]
je 0x100a3460
mov ecx, dword [0x1010e93c]
mov eax, dword [0x1010ec20]
add eax, 0xffffff9f
xor eax, 0x4a7e068
mov edx, dword [ecx]
add eax, dword [ebp - 0x344]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov edi, eax
mov dword [ebp - 0x50], edi
test edi, edi
je 0x100a3460
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100a3460
mov esi, dword [eax + 0x14]
xorps xmm1, xmm1
mov eax, dword [0x1010ec3c]
mov edx, dword [ebp - 0x344]
add eax, 0xffffff98
xor eax, 0x4a7e06f
mov dword [ebp - 0x70], esi
mov ecx, dword [eax + edi]
mov eax, dword [0x1010ead0]
mov dword [ebp - 0x3a0], ecx
mov ecx, dword [eax + edx]
mov dword [ebp - 0x54], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100a2d64
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x1010ea90]
mov dword [ebp - 0x358], ecx
mov ecx, dword [0x1010eae8]
mov dword [ebp - 0x37c], eax
cmp dword [ecx + edx], 0
jne 0x100a2d48
mov eax, dword [0x1010ea6c]
mov ecx, edx
call eax
mov ecx, dword [0x1010eae8]
mov eax, dword [ebp - 0x37c]
mov edx, eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x358]
cmp eax, 0x3c7
jne 0x100a2d64
mov al, 1
jmp 0x100a2d66
xor al, al
mov byte [ebp - 0x34d], al
cmp esi, 0xffffffff
je 0x100a2f70
cmp byte [0x100d0df0], 0
je 0x100a2f70
test al, al
je 0x100a2d90
mov eax, dword [ebp - 0x54]
movss xmm1, dword [eax + 0x64]
jmp 0x100a2da6
movd xmm1, dword [ebp - 0x3a0]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
mov eax, dword [ebp - 0x388]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x37c], xmm0
fld dword [ebp - 0x37c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [0x100d0f1c]
add esp, 4
mov ecx, dword [0x1010e944]
mov edi, dword [ebp - 0x348]
add edi, dword [ebp - 0x38c]
add edi, dword [ebp - 0x384]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x39c]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x33c]
lea esi, [edi + 2]
mov byte [ebp - 0x351], al
mov eax, dword [ecx]
mov word [ebp - 0x354], 0xa0a
mov byte [ebp - 0x352], 0xa
push dword [ebp - 0x354]
mov eax, dword [eax + 0x38]
fstp dword [ebp - 0x35c]
mov dword [ebp - 0x3a4], edi
call eax
mov ecx, dword [0x1010e944]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 4]
push eax
mov eax, dword [ebp - 0x390]
add eax, dword [ebp - 0x388]
push eax
push esi
mov esi, dword [ebp - 0x390]
push esi
call edx
mov ecx, dword [0x1010e944]
add edi, 3
push dword [ebp - 0x18]
inc esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x1010e944]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
lea eax, [edi + 2]
push eax
cvttss2si eax, dword [ebp - 0x35c]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x3a0]
test ecx, ecx
jle 0x100a2f5c
mov eax, dword [ebp - 0x70]
xorps xmm4, xmm4
movss xmm3, dword [0x100c1584]
movss xmm2, dword [0x100c157c]
cvtsi2ss xmm4, eax
mulss xmm4, dword [0x100c1398]
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 [0x100c13a8]
movaps xmm0, xmm1
subss xmm0, xmm4
cmpnless xmm0, xmm3
andps xmm0, xmm2
subss xmm1, xmm0
cvttss2si eax, xmm1
cmp ecx, eax
jg 0x100a2f5c
cmp byte [ebp - 0x34d], 0
jne 0x100a2f5c
mov edx, ecx
lea ecx, [ebp - 0x30]
call fcn.1002fc70
push 2
push eax
mov eax, dword [ebp - 0x33c]
mov ecx, 0x10111db4
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
mov dword [ebp - 4], 0x4c
push eax
cvttss2si eax, dword [ebp - 0x35c]
push dword [ebp - 0x3a4]
add eax, dword [ebp - 0x390]
push eax
call fcn.100978c0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.10026b10
mov esi, dword [ebp - 0x348]
mov edi, dword [ebp - 0x50]
add esi, 6
mov dword [ebp - 0x348], esi
jmp 0x100a2f76
mov esi, dword [ebp - 0x348]
push 1
push dword [0x100d0d78]
push dword [0x100d0d74]
call fcn.100aae50
cmp eax, dword [0x100d0d78]
je 0x100a3112
mov eax, dword [0x1010ec38]
dec esi
add eax, 0xffffff99
mov dword [ebp - 0x348], esi
xor eax, 0x4a7e06e
mov ecx, 0x10114b20
add eax, edi
push eax
lea eax, [ebp - 0x380]
push eax
call fcn.100a5e80
push 0x98
push 0
mov esi, dword [eax]
lea eax, [ebp - 0x120]
push eax
add esi, 0xc
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x120]
call fcn.10026a30
mov dword [ebp - 4], 0x4d
lea eax, [ebp - 0x60]
push 1
push eax
mov edx, 0x100c1248
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], 0x100a7cb0
mov dword [ebp - 0x58], 0x100a7d20
call fcn.1001f4e0
add esp, 8
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x11c]
push eax
call fcn.10026df0
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x120], 0x100badac
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x124], eax
lea ecx, [ebp - 0x11c]
call fcn.10026980
lea ecx, [ebp - 0x118]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xd0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [ebp - 0x33c]
mov ecx, 0x10111e2c
mov byte [ebp - 0x351], al
lea eax, [ebp - 0x30]
push 2
push eax
mov eax, dword [ebp - 0x348]
mov dword [ebp - 4], 0x4e
add eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x384]
mov word [ebp - 0x354], 0xffff
mov byte [ebp - 0x352], 0xff
push dword [ebp - 0x354]
push eax
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x390]
push eax
call fcn.100978c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100a3112
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3108
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a3108
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ab4d9
add esp, 8
push 0
push dword [0x100d0d78]
push dword [0x100d0d74]
call fcn.100aae50
cmp eax, dword [0x100d0d78]
je 0x100a3460
mov eax, dword [0x1010eaac]
mov ecx, edi
call eax
test eax, eax
je 0x100a3316
mov edx, dword [0x1010eab0]
mov ecx, eax
call edx
test eax, eax
je 0x100a3316
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, dword [0x1010e984]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov edx, eax
mov dword [ebp - 0x5c], 0
mov ecx, edx
mov dword [ebp - 0x58], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x6c], xmm0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100a3187
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x6c]
call fcn.10048dd0
mov dword [ebp - 4], 0x4f
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
mov byte [ebp - 4], 0x50
mov edx, dword [ebp - 0x5c]
test edx, edx
jne 0x100a31e7
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], dl
jmp 0x100a32ab
cmp dword [ebp - 0x58], 7
lea eax, [ebp - 0x6c]
mov ecx, dword [0x100de02c]
cmova eax, dword [ebp - 0x6c]
push 0
push 0
push 0
push 0
push edx
push eax
push 0
push 0xfde9
call ecx
mov esi, eax
lea ecx, [ebp - 0x30]
push 0
push esi
call fcn.1003a330
push eax
lea ecx, [ebp - 0x4c]
call fcn.1003a2b0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0xf
jbe 0x100a3255
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a324b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a32f0
push ecx
push edx
call fcn.100ab4d9
add esp, 8
cmp dword [ebp - 0x38], 0xf
lea ecx, [ebp - 0x4c]
mov edx, dword [0x100de02c]
lea eax, [ebp - 0x6c]
cmova ecx, dword [ebp - 0x4c]
cmp dword [ebp - 0x58], 7
push 0
cmova eax, dword [ebp - 0x6c]
push 0
push esi
push ecx
push dword [ebp - 0x5c]
mov dword [ebp - 0x20], 0
push eax
push 0
push 0xfde9
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call edx
movups xmm0, xmmword [ebp - 0x4c]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [ebp - 0x78], xmm0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
cmp ecx, 7
jbe 0x100a3300
mov edx, dword [ebp - 0x6c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a32f6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ab4d9
add esp, 8
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
jmp 0x100a3340
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
push str.error
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x88], xmm0
call fcn.10027800
mov dword [ebp - 4], 0x51
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0xf
lea edi, [ebp - 0x88]
mov edx, dword [ebp - 0x88]
lea esi, [ebp - 0x88]
mov eax, dword [ebp - 0x78]
cmova ecx, edx
cmova edi, edx
add eax, ecx
cmp dword [ebp - 0x74], 0xf
mov dword [ebp - 0x37c], eax
cmova esi, edx
cmp esi, eax
je 0x100a339a
sub edi, esi
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi + edi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x37c]
jne 0x100a3381
mov esi, dword [ebp - 0x38c]
lea eax, [ebp - 0x88]
add esi, dword [ebp - 0x348]
add esi, dword [ebp - 0x384]
mov edi, dword [ebp - 0x390]
push 2
push eax
mov eax, dword [ebp - 0x33c]
push ecx
mov ecx, esp
push esi
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x388]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add edi, eax
mov byte [ecx + 2], 0xff
push edi
mov ecx, 0x10111db4
call fcn.100978c0
cmp byte [ebp - 0x33d], 0
lea eax, [ebp - 0x88]
push 2
push eax
push ecx
mov ecx, dword [ebp - 0x33c]
mov eax, esp
push esi
push edi
mov byte [eax + 3], cl
mov ecx, 0x10111db4
je 0x100a3419
mov word [eax], 0x8282
mov byte [eax + 2], 0x82
jmp 0x100a3422
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
call fcn.100978c0
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x100a3460
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3456
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a3456
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ab4d9
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.100ab05e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4