Function at 0x14005ffb0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x89d8
call fcn.1400f0d10
sub rsp, rax
movaps xmmword [rsp + 0x89c0], xmm6
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov r14, rcx
mov r13d, dword [rsp + 0x8a50]
mov r12, qword [rsp + 0x8a48]
mov ebp, dword [rsp + 0x8a40]
mov rax, qword [0x140183d00]
xor rax, rsp
mov qword [rsp + 0x89b8], rax
mov qword [r12], 8
mov dword [r12 + 8], 0
call fcn.140069120
mov rcx, qword [r14 + 0xd0]
mov rdx, qword [r14 + 0xd8]
mov qword [r14 + 0xc0], rcx
mov qword [r14 + 0xc8], rdx
test eax, eax
je 0x1400600a4
mov qword [rsp + 0x140], r14
cmp ebp, 5
jb 0x1400600c8
cmp byte [0x140186095], 0
jne 0x14006007b
movabs rax, 0x5f71657220646162
mov qword [0x140186088], rax
mov dword [0x140186090], 0x706d6f63
mov byte [0x140186094], 0
mov byte [0x140186095], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186088]
mov qword [rax + 8], rcx
xor r15d, r15d
jmp 0x140060650
cmp rcx, rdx
jae 0x14006014e
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx eax, byte [rcx]
cmp al, 0x42
je 0x140060273
jmp 0x1400604d4
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8d, ebp
call fcn.140069240
test eax, eax
je 0x14006019a
mov eax, dword [rsp + 0x160]
mov ecx, 8
cmp eax, 9
jl 0x140060101
mov ecx, reloc.WS2_32.dll_recv
cmp eax, 0x10
jne 0x1400601aa
mov r14, rsi
mov dword [r12], ecx
mov rsi, qword [rsp + 0x140]
mov r15, qword [rsp + 0x158]
test ebp, ebp
je 0x140060324
mov edx, dword [rsi + 0xc]
cmp edx, ebp
je 0x140060324
mov r9d, dword [rsi]
mov ecx, dword [rsi + 4]
cmp eax, 8
jg 0x140060306
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov r8d, ebp
call fcn.14006abe0
jmp 0x140060315
cmp dword [r14 + 0x30], 0
je 0x1400604d4
mov r8d, dword [r14 + 0x34]
lea r15, [r14 + 0x38]
mov rcx, qword [r14 + 0x28]
mov rdx, r15
call qword [r14 + reloc.WS2_32.dll_recv]
mov edx, dword [r14 + 0xc0]
mov rcx, qword [r14 + 0xd0]
sub edx, ecx
add dword [r14 + 0xb8], edx
test eax, eax
je 0x140060246
movsxd rdx, eax
add rdx, r15
movzx eax, byte [r15]
jmp 0x140060259
mov rcx, qword [rsp + 0x158]
xor r15d, r15d
jmp 0x14006033a
cmp byte [0x1401860ab], 0
jne 0x1400602e7
mov ecx, 1
xor r8d, r8d
movabs r10, 0xd79435e50d79435f
lea r11, [0x1401059a0]
lea rsi, [0x140186096]
nop word [rax + rax]
mov rax, rcx
mul r10
mov r9, rdx
mov rax, r8
mul r10
shr rdx, 4
imul rax, rdx, 0xffffffffffffffed
lea rdx, [r11 + r8]
movzx eax, byte [rax + rdx + 0x1a8]
xor al, byte [r8 + r11 + 0x1bb]
mov byte [r8 + rsi], al
cmp r8, 0x14
je 0x1400602e0
shr r9, 4
imul rax, r9, 0xffffffffffffffed
add rax, r11
add rax, 0x1a9
movzx eax, byte [rax + r8]
xor al, byte [r8 + r11 + 0x1bc]
mov byte [r8 + rsi + 1], al
add r8, 2
add rcx, 2
jmp 0x1400601e0
mov dword [r14 + 0x30], 0
lea rdx, [r14 + 0x39]
mov byte [r14 + 0x38], 0
xor eax, eax
mov qword [r14 + 0xc8], rdx
lea r8, [r14 + 0x39]
mov qword [r14 + 0xc0], r8
cmp al, 0x42
jne 0x1400604d4
cmp r8, rdx
jae 0x140060294
lea rax, [r8 + 1]
mov qword [r14 + 0xc0], rax
movzx eax, byte [r8]
cmp al, 0x4d
jne 0x1400604d4
jmp 0x140060387
cmp dword [r14 + 0x30], 0
je 0x1400604d4
mov r8d, dword [r14 + 0x34]
lea r15, [r14 + 0x38]
mov rcx, qword [r14 + 0x28]
mov rdx, r15
call qword [r14 + reloc.WS2_32.dll_recv]
mov edx, dword [r14 + 0xc0]
mov rcx, qword [r14 + 0xd0]
sub edx, ecx
add dword [r14 + 0xb8], edx
test eax, eax
je 0x14006035a
movsxd rdx, eax
add rdx, r15
movzx eax, byte [r15]
jmp 0x14006036d
mov byte [0x1401860ab], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186096]
jmp 0x140060095
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov r8d, ebp
call fcn.14006ba70
mov r15, rax
mov dword [rsi + 0xc], ebp
test rax, rax
je 0x14006009c
mov eax, dword [rsi]
mov dword [rbx], eax
mov eax, dword [rsi + 4]
mov dword [r14], eax
test rdi, rdi
je 0x140060338
mov eax, dword [rsi + 8]
mov dword [rdi], eax
xor ecx, ecx
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rsi
mov rcx, qword [rsp + 0x150]
call rsi
mov rcx, qword [rsp + 0x148]
jmp 0x14006064e
mov dword [r14 + 0x30], 0
lea rdx, [r14 + 0x39]
mov byte [r14 + 0x38], 0
xor eax, eax
mov qword [r14 + 0xc8], rdx
lea rdx, [r14 + 0x39]
mov qword [r14 + 0xc0], rdx
cmp al, 0x4d
jne 0x1400604d4
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov rcx, r14
call fcn.14006f250
mov r15d, eax
mov rcx, r14
call fcn.14006f250
shl eax, 0x10
or eax, r15d
cmp eax, 0x38
ja 0x1400603e5
movabs rcx, 0x100010000001000
bt rcx, rax
jb 0x1400603ee
cmp eax, 0x6c
jne 0x140060781
movups xmm0, xmmword [r14 + 0xd0]
movups xmmword [r14 + 0xc0], xmm0
mov dword [rsp + 0x138], 0xff
lea rdx, [rsp + 0x11c]
mov rcx, r14
call fcn.14006f380
test rax, rax
je 0x14006009c
mov r15d, dword [r14 + 4]
mov eax, r15d
neg eax
cmovs eax, r15d
mov dword [r14 + 4], eax
cmp eax, 0x1000001
jae 0x140060de8
cmp dword [r14], 0x1000001
jae 0x140060de8
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x70], eax
mov ecx, dword [rsp + 0x134]
mov r11d, dword [rsp + 0x138]
mov r8d, dword [rsp + 0x11c]
mov r9d, dword [rsp + 0x124]
cmp r9d, 0xc
mov dword [rsp + 0x38], ecx
jne 0x140060949
cmp r8d, 0x17
jg 0x140060ad8
mov edx, dword [rsp + 0x120]
mov eax, dword [rsp + 0x13c]
neg eax
add eax, edx
add eax, 0xffffffe8
cdqe
imul r13, rax, 0x55555556
mov rax, r13
shr rax, 0x3f
shr r13, 0x20
add r13d, eax
jmp 0x14006096e
mov qword [r14 + 0xc0], rcx
mov rax, qword [r14 + 0xd8]
mov qword [r14 + 0xc8], rax
mov rcx, r14
call fcn.140062880
test eax, eax
je 0x14006056f
lea r15, [rsp + 0x140]
mov r8d, 0x8870
mov rcx, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, r14
mov rdx, r15
mov r8, rdi
xor r9d, r9d
call fcn.14006fb20
cmp rax, r14
je 0x14006061f
mov r15, rax
test rax, rax
je 0x14006061f
mov r9d, dword [rsp + 0x140]
mov dword [rbx], r9d
mov eax, dword [rsp + 0x144]
mov dword [rsi], eax
test ebp, 0xfffffffb
je 0x140060635
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
mov r8d, ebp
call fcn.14006abe0
mov r15, rax
jmp 0x140060635
mov rcx, r14
call fcn.14006c950
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.14006c950
or eax, r15d
movups xmm0, xmmword [r14 + 0xd0]
movups xmmword [r14 + 0xc0], xmm0
mov rcx, r14
cmp eax, 0x38425053
jne 0x14006067f
call fcn.14006c950
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.14006c950
or eax, r15d
cmp eax, 0x38425053
jne 0x1400606c4
mov rcx, r14
call fcn.14006c950
cmp eax, 1
jne 0x14006072e
cmp qword [r14 + 0x10], 0
je 0x1400607e4
mov rax, qword [r14 + 0xc0]
mov rcx, qword [r14 + 0xc8]
mov r8d, ecx
sub r8d, eax
cmp r8d, 5
jg 0x1400607eb
mov qword [r14 + 0xc0], rcx
mov edx, 6
sub edx, r8d
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x1400607f6
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x140060632
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r15d, r15d
mov rcx, qword [rsp + 0x158]
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rsi
mov rcx, qword [rsp + 0x150]
call rsi
mov rcx, qword [rsp + 0x89b8]
xor rcx, rsp
call fcn.1400f0d70
mov rax, r15
movaps xmm6, xmmword [rsp + 0x89c0]
add rsp, 0x89d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140062bc0
test eax, eax
je 0x140060704
mov rcx, qword [rsp + 0x89b8]
xor rcx, rsp
call fcn.1400f0d70
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, rdi
movaps xmm6, xmmword [rsp + 0x89c0]
add rsp, 0x89d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140063120
cmp byte [0x1401863f0], 0
jne 0x1400606e5
movabs rax, 0x44535020746f6e
mov qword [0x1401863e8], rax
mov byte [0x1401863f0], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401863e8]
jmp 0x140060095
mov rcx, r14
call fcn.140063d70
test eax, eax
je 0x14006079f
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, rdi
call fcn.140063ef0
jmp 0x1400607c9
cmp byte [0x140186406], 0
jne 0x140060762
movabs rax, 0x657620676e6f7277
mov qword [0x1401863f8], rax
mov dword [0x140186400], 0x6f697372
mov word [0x140186404], 0x6e
mov byte [0x140186406], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401863f8]
jmp 0x140060095
movups xmm0, xmmword [r14 + 0xd0]
movups xmmword [r14 + 0xc0], xmm0
cmp eax, 0x7c
jne 0x1400604e9
jmp 0x1400603fe
mov rcx, r14
call fcn.1400668f0
test eax, eax
je 0x140060b52
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, rdi
call fcn.140066a30
mov rsi, rax
mov rcx, qword [rsp + 0x89b8]
xor rcx, rsp
call fcn.1400f0d70
mov rax, rsi
jmp 0x140060663
mov rax, qword [r14 + 0xc0]
add rax, 6
mov qword [r14 + 0xc0], rax
mov rcx, r14
call fcn.14006c950
cmp eax, 0x11
jb 0x14006084a
cmp byte [0x140186424], 0
jne 0x14006082b
movaps xmm0, xmmword [str.wrong_channel_cobad_SOS_componenFORMAT32_bit_rlunsupported_data]
movaps xmmword [0x140186410], xmm0
mov dword [0x140186420], 0x746e75
mov byte [0x140186424], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186410]
jmp 0x140060095
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x68], eax
mov rcx, r14
call fcn.14006c950
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.14006c950
mov ebx, eax
or ebx, r15d
mov rcx, r14
call fcn.14006c950
mov r15d, eax
mov rcx, r14
call fcn.14006c950
mov dword [rsp + 0x38], ebx
cmp ebx, 0x1000001
jge 0x140060de8
shl r15d, 0x10
or r15d, eax
cmp r15d, 0x1000001
jge 0x140060de8
mov dword [rsp + 0x34], r15d
mov rcx, r14
call fcn.14006c950
mov r15d, eax
cmp r15w, 8
je 0x1400608cd
movzx eax, r15w
cmp eax, 0x10
jne 0x140060cbf
mov rcx, r14
call fcn.14006c950
cmp eax, 3
jne 0x140060ce3
mov rcx, r14
call fcn.14006c920
mov rcx, r14
mov edx, eax
call fcn.14006c8c0
mov rcx, r14
call fcn.14006c920
mov rcx, r14
mov edx, eax
call fcn.14006c8c0
mov rcx, r14
call fcn.14006c920
mov rcx, r14
mov edx, eax
call fcn.14006c8c0
mov rcx, r14
call fcn.14006c950
cmp eax, 2
jb 0x140060d82
call fcn.1400777d0
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186470]
jmp 0x140060095
cmp r8d, 0xf
jg 0x140060ad8
mov edx, dword [rsp + 0x120]
mov eax, dword [rsp + 0x13c]
add eax, r9d
mov r13d, edx
sub r13d, eax
sar r13d, 2
test r13d, r13d
je 0x140060ad8
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0xb8], rsi
cmp ecx, 0xff000000
sete al
xor r12d, r12d
mov dword [rsp + 0x50], r8d
mov esi, r12d
cmp ecx, 1
mov r10d, 4
sbb r10d, 0
mov r12d, eax
mov dword [r14 + 8], r10d
cmp ebp, 3
cmovge r10d, ebp
mov r9d, dword [r14]
mov eax, r9d
or eax, r10d
js 0x140060de8
mov ecx, dword [r14 + 4]
test r9d, r9d
je 0x1400609e3
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, r10d
jb 0x140060de8
mov r8d, r9d
imul r8d, r10d
mov eax, r8d
or eax, ecx
js 0x140060de8
test ecx, ecx
je 0x140060a0b
mov eax, 0x7fffffff
xor edx, edx
div ecx
cmp eax, r8d
jl 0x140060de8
mov dword [rsp + 0xc8], r15d
test r9d, r9d
je 0x140060a2b
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, r10d
jb 0x140060f4c
test ecx, ecx
je 0x140060a41
mov eax, 0x7fffffff
xor edx, edx
div ecx
cmp eax, r8d
jl 0x140060f4c
imul r8d, ecx
movsxd rcx, r8d
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x80], r11d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140060f4c
mov r15, rax
mov eax, dword [rsp + 0x50]
cmp eax, 0xf
mov qword [rsp + 0xc0], rbx
jg 0x140060f93
cmp r13d, 0x101
setge al
or sil, al
je 0x140060ff7
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [0x1401862d0], 0
jne 0x140060ab9
movabs rax, 0x64696c61766e69
mov qword [0x1401862c8], rax
mov byte [0x1401862d0], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401862c8]
jmp 0x140060095
mov eax, dword [r14 + 0xb8]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
lea edx, [rax + rcx]
add edx, 0xfffffbff
cmp edx, 0xfffffbff
ja 0x140060bbf
cmp byte [0x1401862b3], 0
jne 0x140060b33
movabs rax, 0x6461656820646162
mov qword [0x1401862a8], rax
mov word [0x1401862b0], 0x7265
mov byte [0x1401862b2], 0
mov byte [0x1401862b3], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401862a8]
jmp 0x140060095
mov rcx, r14
call fcn.14005e100
test eax, eax
je 0x140060c26
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, rdi
call fcn.140066d50
mov r14, rax
test ebp, ebp
jne 0x140060b80
mov ebp, dword [rdi]
mov esi, dword [rsi]
mov edi, dword [rbx]
mov rcx, qword [rsp + 0x89b8]
xor rcx, rsp
call fcn.1400f0d70
mov rcx, r14
mov edx, edi
mov r8d, esi
mov r9d, ebp
movaps xmm6, xmmword [rsp + 0x89c0]
add rsp, 0x89d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140067b40
add eax, ecx
mov ecx, dword [rsp + 0x120]
mov edx, ecx
sub edx, eax
jl 0x140060bd6
cmp edx, 0x401
jl 0x140060c50
cmp byte [0x1401862c3], 0
jne 0x140060c07
movabs rax, 0x7366666f20646162
mov qword [0x1401862b8], rax
mov word [0x1401862c0], 0x7465
mov byte [0x1401862c2], 0
mov byte [0x1401862c3], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401862b8]
jmp 0x140060095
mov rcx, r14
call fcn.140067d70
test eax, eax
je 0x140060d07
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, rdi
call fcn.140068140
jmp 0x1400607c9
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x80], r11d
mov rcx, r14
mov r12d, r8d
call fcn.14006c8c0
mov ecx, dword [rsp + 0x38]
mov r8d, r12d
cmp ecx, 0xff000000
sete al
xor r13d, r13d
mov r12b, 1
cmp r8d, 0x18
mov qword [rsp + 0xb8], rsi
jne 0x140060e57
cmp ecx, 0xff000000
mov r11d, dword [rsp + 0x80]
jne 0x140060995
mov r10d, 3
mov dword [rsp + 0x50], 0x18
mov sil, 1
jmp 0x1400609ad
call fcn.140077760
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186430]
jmp 0x140060095
call fcn.1400777a0
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186450]
jmp 0x140060095
cmp byte [0x140186075], 0
jne 0x140060e38
xor ecx, ecx
movabs r8, 0xe38e38e38e38e38f
lea r9, [0x1401059a0]
lea r10, [0x140186062]
mov rax, rcx
mul r8
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea rdx, [rdx + rdx*8]
mov rax, r9
sub rax, rdx
movzx edx, byte [rax + rcx + 0xf9]
xor dl, byte [rcx + r9 + 0x10b]
mov byte [rcx + r10], dl
cmp rcx, 0x12
je 0x140060e31
add rax, 0xf9
movzx eax, byte [rax + rcx + 1]
xor al, byte [rcx + r9 + 0x10c]
mov byte [rcx + r10 + 1], al
add rcx, 2
jmp 0x140060d2e
mov ebx, eax
mov ecx, 4
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x38]
xor r9d, r9d
call fcn.14006f170
test eax, eax
je 0x140060de8
cmp r13d, 0x10
mov dword [rsp + 0xa4], r15d
jne 0x140060e64
cmp r15d, 0x10
jne 0x140060e64
test ebx, ebx
jne 0x140060e64
mov ecx, 8
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x38]
xor r9d, r9d
call fcn.14006f110
mov r15, rax
mov dword [r12], reloc.WS2_32.dll_recv
jmp 0x140060e7c
cmp byte [0x1401860da], 0
jne 0x140060e12
movabs rax, 0x6772616c206f6f74
mov qword [0x1401860d0], rax
mov word [0x1401860d8], 0x65
mov byte [0x1401860da], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401860d0]
jmp 0x140060095
mov byte [0x140186075], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186062]
jmp 0x140060095
mov r11d, dword [rsp + 0x80]
jmp 0x140060995
mov eax, dword [rsp + 0x38]
imul eax, dword [rsp + 0x34]
shl eax, 2
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test r15, r15
je 0x140060f4c
mov qword [rsp + 0xb8], rsi
mov esi, dword [rsp + 0x34]
imul esi, dword [rsp + 0x38]
mov edx, dword [rsp + 0x68]
mov eax, edx
mov qword [rsp + 0x58], rax
test ebx, ebx
mov dword [rsp + 0x60], esi
je 0x1400612a0
imul edx, dword [rsp + 0x38]
add edx, edx
mov rcx, r14
call fcn.14006c8c0
mov ebx, esi
and ebx, 0xfffffff8
mov r13d, esi
and r13d, 7
mov r8d, esi
xor esi, esi
jmp 0x140060ef6
mov rcx, r14
mov r8d, dword [rsp + 0x60]
call fcn.1400714a0
mov r8d, dword [rsp + 0x60]
test eax, eax
je 0x140061615
inc rsi
cmp rsi, 4
je 0x140061547
lea rdx, [r15 + rsi]
cmp rsi, qword [rsp + 0x58]
jb 0x140060ecf
test r8d, r8d
jle 0x140060ee9
cmp rsi, 3
sete al
neg al
cmp r8d, 8
jb 0x140060f37
mov ecx, ebx
mov byte [rdx], al
mov byte [rdx + 4], al
mov byte [rdx + 8], al
mov byte [rdx + 0xc], al
mov byte [rdx + 0x10], al
mov byte [rdx + 0x14], al
mov byte [rdx + 0x18], al
mov byte [rdx + 0x1c], al
add rdx, 0x20
add ecx, 0xfffffff8
jne 0x140060f17
test r8b, 7
je 0x140060ee9
xor ecx, ecx
mov byte [rdx + rcx*4], al
inc rcx
cmp r13d, ecx
jne 0x140060f3f
jmp 0x140060ee9
cmp byte [0x140186241], 0
jne 0x140060f74
movabs rax, 0x6d656d666f74756f
mov qword [0x140186238], rax
mov byte [0x140186240], 0
mov byte [0x140186241], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186238]
jmp 0x140060095
mov ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x13c]
mov rdx, qword [rsp + 0x58]
sub edx, ecx
mov qword [rsp + 0x58], rdx
je 0x140061d0c
js 0x14006179e
cmp qword [r14 + 0x10], 0
je 0x140061cf3
mov rax, qword [r14 + 0xc0]
mov rcx, qword [r14 + 0xc8]
mov r8d, ecx
sub r8d, eax
mov rdx, qword [rsp + 0x58]
sub edx, r8d
jle 0x140061cfa
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x140061d08
test r13d, r13d
jle 0x140061246
lea rsi, [r14 + 0x38]
lea rax, [r14 + 0x39]
mov qword [rsp + 0x38], rax
mov eax, r13d
mov qword [rsp + 0x68], rax
mov rcx, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
xor r12d, r12d
jmp 0x140061049
inc rcx
mov qword [r14 + 0xc0], rcx
mov byte [rsp + r12*4 + 0x143], 0xff
inc r12
cmp qword [rsp + 0x68], r12
je 0x140061246
cmp rcx, rax
jae 0x140061061
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x1400610c5
cmp dword [r14 + 0x30], 0
je 0x14006109a
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14006109e
cdqe
add rax, rsi
movzx edx, byte [rsi]
jmp 0x1400610b2
xor edx, edx
jmp 0x1400610c5
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0xc8], rax
mov rcx, qword [rsp + 0x38]
mov qword [r14 + 0xc0], rcx
mov byte [rsp + r12*4 + 0x142], dl
cmp rcx, rax
jae 0x1400610e5
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x140061149
cmp dword [r14 + 0x30], 0
je 0x14006111e
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061122
cdqe
add rax, rsi
movzx edx, byte [rsi]
jmp 0x140061136
xor edx, edx
jmp 0x140061149
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0xc8], rax
mov rcx, qword [rsp + 0x38]
mov qword [r14 + 0xc0], rcx
mov byte [rsp + r12*4 + 0x141], dl
cmp rcx, rax
jae 0x140061169
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x1400611cd
cmp dword [r14 + 0x30], 0
je 0x1400611a2
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x1400611a6
cdqe
add rax, rsi
movzx edx, byte [rsi]
jmp 0x1400611ba
xor edx, edx
jmp 0x1400611cd
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0xc8], rax
mov rcx, qword [rsp + 0x38]
mov qword [r14 + 0xc0], rcx
mov byte [rsp + r12*4 + 0x140], dl
cmp dword [rsp + 0x40], 0xc
je 0x140061032
cmp rcx, rax
jb 0x140061028
cmp dword [r14 + 0x30], 0
je 0x140061032
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061223
cdqe
add rax, rsi
jmp 0x140061235
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0xc8], rax
mov rcx, qword [rsp + 0x38]
jmp 0x14006102b
xor eax, eax
mov ecx, dword [rsp + 0x40]
cmp ecx, 0xc
sete al
or eax, 0xfffffffc
imul r13d, eax
add r13d, dword [rsp + 0x58]
add ecx, dword [rsp + 0x13c]
sub r13d, ecx
mov rcx, r14
mov edx, r13d
call fcn.14006c8c0
cmp dword [rsp + 0x50], 1
je 0x1400617b1
cmp dword [rsp + 0x50], 8
je 0x140061a13
cmp dword [rsp + 0x50], 4
jne 0x14006282e
mov ecx, dword [r14]
inc ecx
shr ecx, 1
jmp 0x140061a16
xor r13d, 0x10
mov eax, dword [rsp + 0xa4]
xor eax, 0x10
or eax, r13d
sete byte [rsp + 0xa8]
lea rax, [r14 + 0x38]
mov qword [rsp + 0x98], rax
lea r13, [r14 + 0x39]
mov eax, esi
and eax, 0xfffffff8
mov dword [rsp + 0xa0], eax
mov eax, esi
and eax, 7
mov qword [rsp + 0x40], rax
mov eax, esi
mov qword [rsp + 0x48], rax
xor ecx, ecx
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x80], r15
mov edx, esi
mov qword [rsp + 0x90], r13
jmp 0x140061325
mov rcx, qword [rsp + 0x70]
inc rcx
inc qword [rsp + 0x80]
add qword [rsp + 0x50], 2
cmp rcx, 4
mov edx, dword [rsp + 0x60]
je 0x140061547
cmp rcx, qword [rsp + 0x58]
mov qword [rsp + 0x70], rcx
jae 0x14006135e
cmp dword [r12], 0x10
jne 0x1400613de
test edx, edx
jle 0x140061301
xor esi, esi
mov rcx, r14
call fcn.14006c950
mov rcx, qword [rsp + 0x50]
mov word [rcx + rsi*8], ax
inc rsi
cmp dword [rsp + 0x48], esi
jne 0x140061342
jmp 0x140061301
cmp byte [rsp + 0xa8], 0
je 0x140061417
xor eax, eax
cmp rcx, 3
sete cl
test edx, edx
jle 0x140061301
mov al, cl
neg eax
mov rcx, qword [rsp + 0x70]
lea rcx, [r15 + rcx*2]
mov r8d, dword [rsp + 0x60]
cmp r8d, 8
jb 0x1400613c0
mov edx, dword [rsp + 0xa0]
mov word [rcx], ax
mov word [rcx + 8], ax
mov word [rcx + 0x10], ax
mov word [rcx + 0x18], ax
mov word [rcx + 0x20], ax
mov word [rcx + 0x28], ax
mov word [rcx + 0x30], ax
mov word [rcx + 0x38], ax
add rcx, 0x40
add edx, 0xfffffff8
jne 0x140061398
test r8b, 7
je 0x140061301
xor edx, edx
mov word [rcx + rdx*8], ax
inc rdx
cmp dword [rsp + 0x40], edx
jne 0x1400613cc
jmp 0x140061301
cmp dword [rsp + 0xa4], 0x10
jne 0x14006147f
test edx, edx
jle 0x140061301
xor esi, esi
mov rcx, r14
call fcn.14006c950
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rsi*4], ah
inc rsi
cmp dword [rsp + 0x48], esi
jne 0x1400613f6
jmp 0x140061301
cmp rcx, 3
sete al
test edx, edx
jle 0x140061301
neg al
mov rcx, qword [rsp + 0x70]
add rcx, r15
mov r8d, dword [rsp + 0x60]
cmp r8d, 8
jb 0x140061462
mov edx, dword [rsp + 0xa0]
mov byte [rcx], al
mov byte [rcx + 4], al
mov byte [rcx + 8], al
mov byte [rcx + 0xc], al
mov byte [rcx + 0x10], al
mov byte [rcx + 0x14], al
mov byte [rcx + 0x18], al
mov byte [rcx + 0x1c], al
add rcx, 0x20
add edx, 0xfffffff8
jne 0x140061442
test r8b, 7
je 0x140061301
xor edx, edx
mov byte [rcx + rdx*4], al
inc rdx
cmp dword [rsp + 0x40], edx
jne 0x14006146e
jmp 0x140061301
test edx, edx
jle 0x140061301
mov rcx, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
xor esi, esi
jmp 0x1400614c3
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
mov r8, qword [rsp + 0x80]
mov byte [r8 + rsi*4], dl
inc rsi
cmp dword [rsp + 0x48], esi
je 0x140061301
cmp rcx, rax
jb 0x140061499
cmp dword [r14 + 0x30], 0
je 0x140061513
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov r13, qword [rsp + 0x98]
mov rdx, r13
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061517
cdqe
add rax, r13
movzx edx, byte [r13]
mov r13, qword [rsp + 0x90]
jmp 0x140061531
xor edx, edx
jmp 0x1400614aa
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov r13, qword [rsp + 0x90]
mov rax, r13
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], r13
mov rcx, r13
jmp 0x1400614aa
cmp dword [rsp + 0x68], 4
jb 0x14006171b
cmp dword [r12], 0x10
jne 0x14006165e
mov eax, dword [rsp + 0x60]
test eax, eax
jle 0x14006171b
mov eax, eax
xor ecx, ecx
movss xmm0, dword [0x140107690]
movss xmm1, dword [0x140107640]
pxor xmm2, xmm2
jmp 0x14006158f
inc rcx
cmp rax, rcx
je 0x14006171b
movzx edx, word [r15 + rcx*8 + 6]
test edx, edx
je 0x140061583
cmp edx, 0xffff
je 0x140061583
movzx edx, dx
xorps xmm3, xmm3
cvtsi2ss xmm3, edx
divss xmm3, xmm0
movaps xmm4, xmm1
divss xmm4, xmm3
movaps xmm3, xmm1
subss xmm3, xmm4
mulss xmm3, xmm0
movd xmm5, dword [r15 + rcx*8]
punpcklwd xmm5, xmm2
cvtdq2ps xmm5, xmm5
movaps xmm6, xmm4
shufps xmm6, xmm4, 0
mulps xmm6, xmm5
movaps xmm5, xmm3
shufps xmm5, xmm3, 0
addps xmm5, xmm6
cvttps2dq xmm5, xmm5
pshuflw xmm5, xmm5, 0xe8
movd dword [r15 + rcx*8], xmm5
movzx edx, word [r15 + rcx*8 + 4]
xorps xmm5, xmm5
cvtsi2ss xmm5, edx
mulss xmm5, xmm4
addss xmm5, xmm3
cvttss2si edx, xmm5
mov word [r15 + rcx*8 + 4], dx
jmp 0x140061583
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [0x140186490], 0
jne 0x14006163f
movabs rax, 0x74707572726f63
mov qword [0x140186488], rax
mov byte [0x140186490], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186488]
jmp 0x140060095
mov eax, dword [rsp + 0x60]
test eax, eax
jle 0x14006171b
mov eax, eax
xor ecx, ecx
movss xmm0, dword [0x14010763c]
movss xmm1, dword [0x140107640]
jmp 0x14006168c
inc rcx
cmp rax, rcx
je 0x14006171b
movzx edx, byte [r15 + rcx*4 + 3]
test edx, edx
je 0x140061680
cmp edx, 0xff
je 0x140061680
movzx edx, dl
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
divss xmm2, xmm0
movaps xmm3, xmm1
divss xmm3, xmm2
movaps xmm2, xmm1
subss xmm2, xmm3
mulss xmm2, xmm0
movzx edx, byte [r15 + rcx*4]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si edx, xmm4
mov byte [r15 + rcx*4], dl
movzx edx, byte [r15 + rcx*4 + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si edx, xmm4
mov byte [r15 + rcx*4 + 1], dl
movzx edx, byte [r15 + rcx*4 + 2]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
mulss xmm4, xmm3
addss xmm4, xmm2
cvttss2si edx, xmm4
mov byte [r15 + rcx*4 + 2], dl
jmp 0x140061680
test ebp, 0xfffffffb
je 0x140061772
cmp dword [r12], 0x10
jne 0x140061749
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
mov r8d, ebp
mov r9d, dword [rsp + 0x34]
call fcn.14006ba70
jmp 0x140061766
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
mov r8d, ebp
mov r9d, dword [rsp + 0x34]
call fcn.14006abe0
mov r15, rax
test rax, rax
je 0x14006009c
test rdi, rdi
je 0x14006177d
mov dword [rdi], 4
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0xc0]
mov dword [rcx], eax
jmp 0x140060650
mov rax, qword [r14 + 0xc8]
mov qword [r14 + 0xc0], rax
jmp 0x140061d08
mov eax, dword [r14 + 4]
test eax, eax
jle 0x140061ceb
mov eax, dword [r14]
add eax, 7
shr eax, 3
neg eax
and eax, 3
lea rcx, [r14 + 0x38]
mov qword [rsp + 0x68], rcx
lea rcx, [r14 + 0x39]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x60], eax
mov eax, eax
mov qword [rsp + 0x70], rax
xor r12d, r12d
xor eax, eax
jmp 0x14006180e
add rcx, qword [rsp + 0x70]
mov qword [r14 + 0xc0], rcx
mov eax, dword [rsp + 0x38]
inc eax
mov r8d, dword [r14 + 4]
cmp eax, r8d
jge 0x1400624d9
mov dword [rsp + 0x38], eax
mov rcx, qword [r14 + 0xc0]
mov r9, qword [r14 + 0xc8]
cmp rcx, r9
jae 0x140061839
lea rdx, [rcx + 1]
mov qword [r14 + 0xc0], rdx
movzx r8d, byte [rcx]
mov rcx, rdx
jmp 0x1400618a8
cmp dword [r14 + 0x30], 0
je 0x14006187b
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, qword [rsp + 0x68]
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061880
movsxd r9, eax
mov rax, qword [rsp + 0x68]
add r9, rax
movzx r8d, byte [rax]
jmp 0x140061895
xor r8d, r8d
jmp 0x1400618a8
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor r8d, r8d
mov r9, qword [rsp + 0x50]
mov qword [r14 + 0xc8], r9
mov rcx, qword [rsp + 0x50]
mov qword [r14 + 0xc0], rcx
mov qword [rsp + 0x40], r9
mov edx, dword [r14]
test edx, edx
jle 0x1400619d3
movzx r8d, r8b
xor esi, esi
mov r9d, 7
mov r10d, r12d
jmp 0x1400618d7
dec r9d
mov r10d, r12d
cmp esi, edx
jge 0x1400619d3
xor r11d, r11d
bt r8d, r9d
setb r11b
movsxd r13, r10d
lea r12, [r13 + 3]
movzx eax, byte [rsp + r11*4 + 0x140]
mov byte [r15 + r13], al
movzx eax, byte [rsp + r11*4 + 0x141]
mov byte [r15 + r13 + 1], al
movzx eax, byte [rsp + r11*4 + 0x142]
mov byte [r15 + r13 + 2], al
cmp dword [rsp + 0x48], 4
jne 0x140061925
add r10d, 4
mov byte [r15 + r12], 0xff
mov r12d, r10d
inc esi
cmp esi, edx
je 0x1400619d3
test r9d, r9d
jg 0x1400618c9
cmp rcx, qword [rsp + 0x40]
jae 0x14006194f
lea rax, [rcx + 1]
mov qword [r14 + 0xc0], rax
movzx r8d, byte [rcx]
mov rcx, rax
jmp 0x1400619c4
cmp dword [r14 + 0x30], 0
je 0x14006198f
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov r13, qword [rsp + 0x68]
mov rdx, r13
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061994
cdqe
add rax, r13
movzx r8d, byte [r13]
jmp 0x1400619a9
xor r8d, r8d
jmp 0x1400619c4
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor r8d, r8d
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [r14 + 0xc8], rax
mov rcx, qword [rsp + 0x50]
mov qword [r14 + 0xc0], rcx
mov edx, dword [r14]
movzx r8d, r8b
mov r9d, 7
jmp 0x1400618cc
cmp dword [rsp + 0x60], 0
je 0x1400617fb
cmp qword [r14 + 0x10], 0
mov r8, qword [rsp + 0x40]
je 0x1400617ef
mov eax, r8d
sub eax, ecx
mov edx, dword [rsp + 0x60]
sub edx, eax
jle 0x1400617ef
mov qword [r14 + 0xc0], r8
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x1400617fb
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
test eax, eax
jle 0x140061ceb
neg ecx
and ecx, 3
lea rax, [r14 + 0x38]
mov qword [rsp + 0x40], rax
lea rax, [r14 + 0x39]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x60], ecx
mov eax, ecx
mov qword [rsp + 0x70], rax
xor r12d, r12d
xor eax, eax
mov r9d, dword [rsp + 0x48]
jmp 0x140061a77
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
mov r9d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x68]
inc eax
mov r8d, dword [r14 + 4]
cmp eax, r8d
jge 0x1400624de
mov dword [rsp + 0x68], eax
cmp dword [r14], 0
jle 0x140061c9e
mov rcx, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
xor r13d, r13d
jmp 0x140061aa5
add r13d, 2
cmp r13d, dword [r14]
jge 0x140061c9e
cmp rcx, rax
jae 0x140061ac0
mov r11d, r9d
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x140061b39
cmp dword [r14 + 0x30], 0
je 0x140061b08
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rsi, qword [rsp + 0x40]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061b0f
cdqe
add rax, rsi
movzx edx, byte [rsi]
mov r11d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
jmp 0x140061b2b
mov r11d, r9d
xor edx, edx
jmp 0x140061b39
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
mov r11d, dword [rsp + 0x48]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
movzx r8d, dl
mov edx, r8d
and edx, 0xf
mov r9d, r8d
shr r9d, 4
cmp dword [rsp + 0x50], 4
cmovne r9d, r8d
mov r8d, 0
cmovne edx, r8d
movsxd r8, r12d
lea rsi, [r8 + 3]
movzx r10d, byte [rsp + r9*4 + 0x140]
mov byte [r15 + r8], r10b
movzx r10d, byte [rsp + r9*4 + 0x141]
mov byte [r15 + r8 + 1], r10b
movzx r9d, byte [rsp + r9*4 + 0x142]
mov byte [r15 + r8 + 2], r9b
mov r9d, r11d
cmp r11d, 4
jne 0x140061ba2
add r12d, 4
mov byte [r15 + rsi], 0xff
mov esi, r12d
lea r8d, [r13 + 1]
cmp r8d, dword [r14]
je 0x140061c9b
cmp dword [rsp + 0x50], 8
jne 0x140061c4d
cmp rcx, rax
jae 0x140061bd2
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x140061c4a
cmp dword [r14 + 0x30], 0
je 0x140061c1c
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov r12, qword [rsp + 0x40]
mov rdx, r12
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140061c20
cdqe
add rax, r12
movzx edx, byte [r12]
mov r11d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
jmp 0x140061c3c
xor edx, edx
jmp 0x140061c4a
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
mov r11d, dword [rsp + 0x48]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
movzx edx, dl
movsxd r8, esi
lea r12, [r8 + 3]
mov edx, edx
movzx r9d, byte [rsp + rdx*4 + 0x140]
mov byte [r15 + r8], r9b
movzx r9d, byte [rsp + rdx*4 + 0x141]
mov byte [r15 + r8 + 1], r9b
movzx edx, byte [rsp + rdx*4 + 0x142]
mov byte [r15 + r8 + 2], dl
mov r9d, r11d
cmp r11d, 4
jne 0x140061a98
add esi, 4
mov byte [r15 + r12], 0xff
mov r12d, esi
jmp 0x140061a98
mov r12d, esi
cmp dword [rsp + 0x60], 0
je 0x140061a64
cmp qword [r14 + 0x10], 0
je 0x140061cd3
mov rax, qword [r14 + 0xc0]
mov rcx, qword [r14 + 0xc8]
mov r8d, ecx
sub r8d, eax
mov edx, dword [rsp + 0x60]
sub edx, r8d
jg 0x140061a50
jmp 0x140061cda
mov rax, qword [r14 + 0xc0]
add rax, qword [rsp + 0x70]
mov qword [r14 + 0xc0], rax
jmp 0x140061a64
mov r8, rax
jmp 0x1400624d9
mov rax, qword [r14 + 0xc0]
mov ecx, dword [rsp + 0x58]
add rcx, rax
mov qword [r14 + 0xc0], rcx
mov eax, dword [rsp + 0x50]
cmp eax, 0x10
je 0x140061d40
cmp eax, 0x20
je 0x140061d4e
mov dword [rsp + 0x7c], 0
cmp dword [rsp + 0x50], 0x18
jne 0x140061dca
mov eax, dword [r14]
and eax, 3
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0xa8], 0
jmp 0x140061d87
mov eax, dword [r14]
add eax, eax
and eax, 2
mov dword [rsp + 0x7c], eax
jmp 0x140061dca
mov eax, dword [rsp + 0x70]
xor eax, 0xff
mov ecx, dword [rsp + 0x60]
xor ecx, 0xff00
or ecx, eax
mov eax, dword [rsp + 0x68]
xor eax, 0xff0000
or eax, ecx
sete al
mov dword [rsp + 0x7c], 0
test al, r12b
je 0x140061dca
mov al, 1
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x8c], 0
xor ebx, ebx
xor r12d, r12d
xor r13d, r13d
xor eax, eax
jmp 0x140061eab
cmp dword [rsp + 0x68], 0
je 0x140062484
cmp dword [rsp + 0x60], 0
je 0x140062484
cmp dword [rsp + 0x70], 0
je 0x140062484
mov esi, dword [rsp + 0x68]
mov ecx, esi
call fcn.14006fa10
mov dword [rsp + 0x34], eax
mov ecx, esi
call fcn.14006fa80
mov ebx, eax
mov esi, dword [rsp + 0x60]
mov ecx, esi
call fcn.14006fa10
mov dword [rsp + 0x90], eax
mov ecx, esi
call fcn.14006fa80
mov r12d, eax
mov esi, dword [rsp + 0x70]
mov ecx, esi
call fcn.14006fa10
mov dword [rsp + 0x98], eax
mov ecx, esi
call fcn.14006fa80
mov r13d, eax
mov esi, dword [rsp + 0x38]
mov ecx, esi
call fcn.14006fa10
mov dword [rsp + 0x8c], eax
mov ecx, esi
call fcn.14006fa80
cmp ebx, 8
ja 0x140062484
cmp r12d, 8
ja 0x140062484
cmp r13d, 8
ja 0x140062484
cmp eax, 9
jae 0x140062484
add dword [rsp + 0x34], 0xfffffff9
add dword [rsp + 0x90], 0xfffffff9
add dword [rsp + 0x98], 0xfffffff9
add dword [rsp + 0x8c], 0xfffffff9
mov dword [rsp + 0xa8], 0
mov cl, 1
mov dword [rsp + 0xb4], ecx
mov ecx, dword [r14 + 4]
test ecx, ecx
jle 0x1400624d6
lea rcx, [r14 + 0x38]
mov qword [rsp + 0xe8], rcx
lea rcx, [r14 + 0x39]
mov qword [rsp + 0x58], rcx
mov ecx, dword [rsp + 0x34]
neg ecx
mov dword [rsp + 0xa4], ecx
mov ecx, 8
mov edx, 8
sub edx, ebx
mov dword [rsp + 0xa0], edx
mov edx, ebx
mov qword [rsp + 0x110], rdx
mov edx, dword [rsp + 0x90]
neg edx
mov dword [rsp + 0xe4], edx
mov edx, 8
sub edx, r12d
mov dword [rsp + 0xe0], edx
mov edx, r12d
mov qword [rsp + 0x108], rdx
mov edx, dword [rsp + 0x98]
neg edx
mov dword [rsp + 0xdc], edx
mov edx, 8
sub edx, r13d
mov dword [rsp + 0xd8], edx
mov edx, r13d
mov qword [rsp + 0x100], rdx
mov edx, dword [rsp + 0x8c]
neg edx
mov dword [rsp + 0xd0], edx
sub ecx, eax
mov dword [rsp + 0xd4], ecx
mov eax, eax
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x7c]
mov qword [rsp + 0xf0], rax
xor r12d, r12d
xor ecx, ecx
mov r9d, dword [rsp + 0x48]
jmp 0x140061fb1
mov rax, qword [r14 + 0xc0]
add rax, qword [rsp + 0xf0]
mov qword [r14 + 0xc0], rax
mov ecx, dword [rsp + 0xcc]
inc ecx
mov r8d, dword [r14 + 4]
cmp ecx, r8d
jge 0x1400624de
mov eax, dword [r14]
cmp byte [rsp + 0xb4], 0
mov dword [rsp + 0xcc], ecx
je 0x14006216b
test eax, eax
jle 0x140062434
xor esi, esi
mov eax, r12d
mov dword [rsp + 0x40], r12d
jmp 0x140061ff8
or dword [rsp + 0x80], r13d
inc esi
mov eax, r12d
mov dword [rsp + 0x40], r12d
cmp esi, dword [r14]
jge 0x140062434
mov rcx, r14
call fcn.14006f250
mov r13d, eax
cmp dword [rsp + 0x50], 0x10
je 0x140062018
mov rcx, r14
call fcn.14006f250
shl eax, 0x10
or r13d, eax
mov eax, r13d
and eax, dword [rsp + 0x68]
mov edx, eax
mov ecx, dword [rsp + 0xa4]
shl edx, cl
mov ecx, dword [rsp + 0x34]
shr eax, cl
test ecx, ecx
cmovs eax, edx
mov ecx, dword [rsp + 0xa0]
shr eax, cl
mov rcx, qword [rsp + 0x110]
lea r10, [0x1401054f0]
imul eax, dword [r10 + rcx*4]
lea r11, [0x140105520]
movzx ecx, byte [r11 + rcx*4]
sar eax, cl
mov edx, r13d
and edx, dword [rsp + 0x60]
mov r8d, edx
mov ecx, dword [rsp + 0xe4]
shl r8d, cl
mov ecx, dword [rsp + 0x90]
shr edx, cl
test ecx, ecx
cmovs edx, r8d
mov ecx, dword [rsp + 0xe0]
shr edx, cl
mov rcx, qword [rsp + 0x108]
imul edx, dword [r10 + rcx*4]
movzx ecx, byte [r11 + rcx*4]
sar edx, cl
mov r8d, r13d
and r8d, dword [rsp + 0x70]
mov r9d, r8d
mov ecx, dword [rsp + 0xdc]
shl r9d, cl
mov ecx, dword [rsp + 0x98]
shr r8d, cl
test ecx, ecx
cmovs r8d, r9d
mov ecx, dword [rsp + 0xd8]
shr r8d, cl
movsxd r12, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x100]
imul r8d, dword [r10 + rcx*4]
movzx ecx, byte [r11 + rcx*4]
sar r8d, cl
mov byte [r15 + r12], al
mov byte [r15 + r12 + 1], dl
mov byte [r15 + r12 + 2], r8b
mov eax, dword [rsp + 0x38]
test eax, eax
mov r9d, dword [rsp + 0x48]
je 0x140062144
and r13d, eax
mov eax, r13d
mov ecx, dword [rsp + 0xd0]
shl eax, cl
mov ecx, dword [rsp + 0x8c]
shr r13d, cl
test ecx, ecx
cmovs r13d, eax
mov ecx, dword [rsp + 0xd4]
shr r13d, cl
mov rax, qword [rsp + 0xf8]
imul r13d, dword [r10 + rax*4]
movzx ecx, byte [r11 + rax*4]
sar r13d, cl
jmp 0x14006214a
mov r13d, 0xff
add r12, 3
cmp r9d, 4
jne 0x140061fdd
mov eax, dword [rsp + 0x40]
add eax, 4
mov byte [r15 + r12], r13b
mov r12d, eax
jmp 0x140061fdd
test eax, eax
jle 0x140062434
mov rcx, qword [r14 + 0xc0]
mov rax, qword [r14 + 0xc8]
xor r13d, r13d
mov r10d, r12d
jmp 0x1400621a2
movzx edx, dl
or dword [rsp + 0x80], edx
inc r13d
mov r10d, r12d
cmp r13d, dword [r14]
jge 0x140062434
cmp rcx, rax
jae 0x1400621c2
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
mov rsi, qword [rsp + 0xe8]
jmp 0x14006223c
cmp dword [r14 + 0x30], 0
mov rsi, qword [rsp + 0xe8]
je 0x14006220b
mov r12d, r10d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14006220f
cdqe
add rax, rsi
movzx edx, byte [rsi]
mov rcx, qword [rsp + 0x58]
jmp 0x140062226
xor edx, edx
jmp 0x14006223c
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
mov r10d, r12d
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
mov r9d, dword [rsp + 0x48]
movsxd r12, r10d
mov byte [r12 + r15 + 2], dl
cmp rcx, rax
jae 0x14006225c
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x1400622d7
cmp dword [r14 + 0x30], 0
je 0x1400622a4
mov dword [rsp + 0x40], r10d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x1400622a8
cdqe
add rax, rsi
movzx edx, byte [rsi]
mov r9d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
jmp 0x1400622c4
xor edx, edx
jmp 0x1400622d7
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
mov r9d, dword [rsp + 0x48]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
mov r10d, dword [rsp + 0x40]
mov byte [r12 + r15 + 1], dl
cmp rcx, rax
jae 0x1400622f4
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14006236f
cmp dword [r14 + 0x30], 0
je 0x14006233c
mov dword [rsp + 0x40], r10d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x140062340
cdqe
add rax, rsi
movzx edx, byte [rsi]
mov r9d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
jmp 0x14006235c
xor edx, edx
jmp 0x14006236f
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
mov r9d, dword [rsp + 0x48]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
mov r10d, dword [rsp + 0x40]
mov byte [r15 + r12], dl
mov dl, 0xff
cmp byte [rsp + 0xa8], 0
je 0x140062416
cmp rcx, rax
jae 0x14006239b
lea r8, [rcx + 1]
mov qword [r14 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x140062416
cmp dword [r14 + 0x30], 0
je 0x1400623e3
mov dword [rsp + 0x40], r10d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, rsi
call qword [r14 + reloc.WS2_32.dll_recv]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x1400623e7
cdqe
add rax, rsi
movzx edx, byte [rsi]
mov r9d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
jmp 0x140062403
xor edx, edx
jmp 0x140062416
mov dword [r14 + 0x30], 0
mov byte [r14 + 0x38], 0
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
mov r9d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x40]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rcx
add r12, 3
cmp r9d, 4
jne 0x140062189
add r10d, 4
mov byte [r15 + r12], dl
mov r12d, r10d
jmp 0x140062189
cmp dword [rsp + 0x7c], 0
je 0x140061f9b
cmp qword [r14 + 0x10], 0
je 0x140061f85
mov rax, qword [r14 + 0xc0]
mov rcx, qword [r14 + 0xc8]
mov r8d, ecx
sub r8d, eax
mov edx, dword [rsp + 0x7c]
sub edx, r8d
jle 0x140061f8c
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
mov r9d, dword [rsp + 0x48]
jmp 0x140061f9b
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [0x1401862f2], 0
jne 0x1400624b7
movabs rax, 0x6b73616d20646162
mov qword [0x1401862e8], rax
mov word [0x1401862f0], 0x73
mov byte [0x1401862f2], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401862e8]
jmp 0x140060095
mov r8, rcx
mov r9d, dword [rsp + 0x48]
cmp r9d, 4
mov qword [rsp + 0x38], r8
jne 0x140062571
cmp dword [rsp + 0x80], 0
jne 0x140062571
mov edx, dword [r14]
imul edx, r8d
shl edx, 2
dec edx
js 0x140062571
mov r8d, edx
shr r8d, 2
inc r8d
mov rax, rdx
and r8d, 7
je 0x140062529
mov rax, rdx
mov byte [r15 + rax], 0xff
add rax, 0xfffffffffffffffc
dec r8
jne 0x14006251b
cmp edx, 0x1c
mov r8, qword [rsp + 0x38]
jb 0x140062571
add rax, 4
mov byte [r15 + rax - 4], 0xff
mov byte [r15 + rax - 8], 0xff
mov byte [r15 + rax - 0xc], 0xff
mov byte [r15 + rax - 0x10], 0xff
mov byte [r15 + rax - 0x14], 0xff
mov byte [r15 + rax - 0x18], 0xff
mov byte [r15 + rax - 0x1c], 0xff
mov byte [r15 + rax - 0x20], 0xff
add rax, 0xffffffffffffffe0
cmp rax, 3
ja 0x140062537
cmp dword [rsp + 0xc8], 0
jle 0x1400627bd
mov eax, dword [r14]
mov dword [rsp + 0x34], eax
cmp r8d, 2
jl 0x1400627c4
mov rcx, qword [rsp + 0x38]
mov r9d, ecx
shr r9d, 1
mov eax, dword [rsp + 0x34]
mov edx, eax
imul edx, dword [rsp + 0x48]
lea rax, [r15 + rdx]
mov qword [rsp + 0x60], rax
mov r13d, edx
and r13d, 0xffffffe0
mov eax, edx
and eax, 0xfffffff8
mov qword [rsp + 0x90], rax
mov rax, rdx
neg rax
mov qword [rsp + 0x80], rax
lea rax, [r15 + 0x10]
mov qword [rsp + 0xa8], rax
lea eax, [rcx - 1]
imul eax, edx
mov dword [rsp + 0x50], eax
lea rax, [r15 + 1]
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x98], r13
jmp 0x140062625
inc r8
mov rax, qword [rsp + 0x40]
add eax, edx
mov qword [rsp + 0x40], rax
sub dword [rsp + 0x50], edx
cmp r8, r9
je 0x1400627c4
test edx, edx
jle 0x140062609
mov esi, dword [rsp + 0x50]
mov r12d, dword [rsp + 0x40]
mov r10d, edx
imul r10d, r8d
lea rax, [r15 + r10]
mov ebx, r8d
not ebx
add ebx, dword [rsp + 0x38]
cmp edx, 8
jb 0x140062671
mov ecx, edx
imul ecx, ebx
mov r13, qword [rsp + 0x60]
lea r11, [rcx + r13]
cmp rax, r11
jae 0x1400626f2
add r10, r13
add rcx, r15
cmp rcx, r10
jae 0x1400626f2
xor r11d, r11d
mov r10, r11
test dl, 1
je 0x1400626a0
imul ebx, edx
add rbx, r15
movzx ecx, byte [rax + r11]
movzx r9d, byte [rbx + r11]
mov byte [rax + r11], r9b
mov r9, qword [rsp + 0x68]
mov byte [rbx + r11], cl
mov r10, r11
or r10, 1
not r11
cmp r11, qword [rsp + 0x80]
je 0x140062609
mov rax, qword [rsp + 0x58]
add rsi, rax
add r12, rax
movzx eax, byte [r12 + r10 - 1]
movzx ecx, byte [rsi + r10 - 1]
mov byte [r12 + r10 - 1], cl
mov byte [rsi + r10 - 1], al
movzx eax, byte [r12 + r10]
movzx ecx, byte [rsi + r10]
mov byte [r12 + r10], cl
mov byte [rsi + r10], al
add r10, 2
cmp rdx, r10
jne 0x1400626bc
jmp 0x140062609
cmp edx, 0x20
mov qword [rsp + 0x70], rbx
jae 0x140062701
xor r10d, r10d
jmp 0x140062773
mov rbx, rax
mov rax, qword [rsp + 0xa8]
lea r10, [rax + r12]
lea r11, [rax + rsi]
xor ecx, ecx
mov r13, qword [rsp + 0x98]
movups xmm0, xmmword [r10 + rcx - 0x10]
movups xmm1, xmmword [r10 + rcx]
movups xmm2, xmmword [r11 + rcx - 0x10]
movups xmm3, xmmword [r11 + rcx]
movups xmmword [r10 + rcx - 0x10], xmm2
movups xmmword [r10 + rcx], xmm3
movups xmmword [r11 + rcx - 0x10], xmm0
movups xmmword [r11 + rcx], xmm1
add rcx, 0x20
cmp r13, rcx
jne 0x14006271e
cmp r13, rdx
mov rax, rbx
mov rbx, qword [rsp + 0x70]
je 0x140062609
mov r10, r13
mov r11, r13
test dl, 0x18
je 0x140062674
mov rbx, rax
lea rcx, [r15 + r12]
lea r11, [r15 + rsi]
mov rax, qword [rsp + 0x90]
mov r13, qword [rcx + r10]
mov r9, qword [r11 + r10]
mov qword [rcx + r10], r9
mov qword [r11 + r10], r13
add r10, 8
cmp rax, r10
jne 0x140062786
mov r11, rax
cmp rax, rdx
mov r9, qword [rsp + 0x68]
mov rax, rbx
mov rbx, qword [rsp + 0x70]
je 0x140062609
jmp 0x140062674
mov eax, dword [r14]
mov dword [rsp + 0x34], eax
test ebp, ebp
je 0x1400627fe
cmp dword [rsp + 0x48], ebp
je 0x1400627fe
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, dword [rsp + 0x48]
mov r8d, ebp
mov r9d, dword [rsp + 0x34]
call fcn.14006abe0
test rax, rax
je 0x14006009c
mov r15, rax
mov eax, dword [r14]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0xc0]
mov dword [rcx], eax
mov eax, dword [r14 + 4]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx], eax
test rdi, rdi
je 0x140060650
mov eax, dword [r14 + 8]
mov dword [rdi], eax
jmp 0x140060650
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [0x1401862e0], 0
jne 0x140062858
movabs rax, 0x70706220646162
mov qword [0x1401862d8], rax
mov byte [0x1401862e0], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401862d8]
jmp 0x140060095
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rdi, r9
mov r14, r8
mov r12, rdx
mov r15, rcx
mov rax, qword [0x140183d00]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r13, [rcx + 0x38]
lea rbx, [rcx + 0x39]
mov rcx, qword [rcx + 0xc0]
mov rax, qword [r15 + 0xc8]
mov esi, 0x5c
jmp 0x14006317e
inc rcx
mov qword [r15 + 0xc0], rcx
dec esi
je 0x1400631d5
cmp rcx, rax
jb 0x140063170
cmp dword [r15 + 0x30], 0
je 0x14006317a
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x1400631b9
cdqe
add rax, r13
jmp 0x1400631c9
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov rcx, rbx
jmp 0x140063173
mov rcx, r15
call fcn.14006c950
mov esi, eax
mov rcx, r15
call fcn.14006c950
mov ebp, eax
cmp qword [r15 + 0x10], 0
je 0x140063203
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x140063213
cmp dword [r15 + 0x30], 0
je 0x140063280
mov rax, qword [r15 + 0xc0]
cmp rax, qword [r15 + 0xc8]
jae 0x140063280
test ebp, ebp
je 0x1400632c7
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, esi
jb 0x140063aed
mov eax, ebp
imul eax, esi
cmp eax, 0x20000000
jae 0x140063aed
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r14
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
test ebp, ebp
je 0x1400632f1
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, esi
jae 0x1400632f1
jmp 0x140063aa9
cmp byte [0x1401864a9], 0
jne 0x1400632a8
movabs rax, 0x656c696620646162
mov qword [0x1401864a0], rax
mov byte [0x1401864a8], 0
mov byte [0x1401864a9], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864a0]
jmp 0x140063b31
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r14
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
mov rcx, r15
call fcn.14006c950
mov r12d, ebp
imul r12d, esi
cmp r12d, 0x1fffffff
ja 0x140063aa9
shl r12d, 2
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140063aa9
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rax
mov rcx, rax
mov dl, 0xff
mov r8, r12
call sub.VCRUNTIME140.dll_memset
xor esi, esi
lea rdi, [rsp + 0x92]
xor r12d, r12d
mov dword [rsp + 0x5c], ebp
nop dword [rax + rax]
cmp rsi, 0xa
je 0x140063b61
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x1400633b0
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx ecx, byte [rcx]
mov dword [rsp + 0x34], ecx
mov rcx, rdx
cmp rcx, rax
jae 0x140063430
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx ebp, byte [rcx]
mov rcx, rdx
jmp 0x140063492
cmp dword [r15 + 0x30], 0
je 0x1400633ef
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x1400633fe
cdqe
add rax, r13
movzx ecx, byte [r13]
mov dword [rsp + 0x34], ecx
jmp 0x140063416
mov dword [rsp + 0x34], 0
cmp rcx, rax
jb 0x14006338b
jmp 0x140063430
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
mov dword [rsp + 0x34], 0
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp rcx, rax
jb 0x14006338b
cmp dword [r15 + 0x30], 0
je 0x14006346b
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14006346f
cdqe
add rax, r13
movzx ebp, byte [r13]
jmp 0x140063481
xor ebp, ebp
jmp 0x140063492
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor ebp, ebp
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi - 2], bpl
cmp rcx, rax
jae 0x1400634b0
lea r8, [rcx + 1]
mov qword [r15 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x140063512
cmp dword [r15 + 0x30], 0
je 0x1400634eb
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x1400634ef
cdqe
add rax, r13
movzx edx, byte [r13]
jmp 0x140063501
xor edx, edx
jmp 0x140063512
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor edx, edx
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi - 1], dl
cmp rcx, rax
jae 0x140063530
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx r14d, byte [rcx]
mov rcx, rdx
jmp 0x140063594
cmp dword [r15 + 0x30], 0
je 0x14006356b
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x140063570
cdqe
add rax, r13
movzx r14d, byte [r13]
jmp 0x140063583
xor r14d, r14d
jmp 0x140063594
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor r14d, r14d
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi], r14b
cmp qword [r15 + 0x10], 0
je 0x1400635c3
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x1400635cc
cmp dword [r15 + 0x30], 0
je 0x140063bae
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x140063bae
cmp bpl, 8
jne 0x140063b61
movzx eax, r14b
or r12d, eax
add rdi, 3
inc rsi
cmp byte [rsp + 0x34], 0
mov eax, dword [rsp + 0x5c]
jne 0x140063350
and r12d, 0x10
cmp r12d, 1
mov r8d, 4
sbb r8d, 0
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x140063612
mov dword [rdi], r8d
test eax, eax
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r12, qword [rsp + 0x38]
je 0x140063a9a
mov ecx, eax
mov rax, qword [rsp + 0x28]
lea eax, [rax*4]
mov ecx, ecx
mov qword [rsp + 0x70], rcx
xor ecx, ecx
mov dword [rsp + 0x34], r8d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x78], rcx
imul eax, ecx
cdqe
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
xor edx, edx
jmp 0x14006369c
mov rdx, qword [rsp + 0x80]
inc rdx
cmp rsi, rdx
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r12, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
je 0x140063a83
lea rax, [rdx + rdx*2]
movzx ecx, byte [rsp + rax + 0x91]
test ecx, ecx
mov qword [rsp + 0x80], rdx
je 0x1400638a0
cmp ecx, 1
je 0x1400638e4
cmp ecx, 2
jne 0x140063cac
cmp dword [rsp + 0x28], 0
je 0x14006366d
lea rdi, [rsp + rax]
add rdi, 0x92
mov rax, qword [rsp + 0x28]
mov r14d, eax
mov r12, qword [rsp + 0x60]
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14006370f
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx ebp, byte [rcx]
mov rcx, rdx
jmp 0x140063771
cmp dword [r15 + 0x30], 0
je 0x14006374a
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14006374e
cdqe
add rax, r13
movzx ebp, byte [r13]
jmp 0x140063760
xor ebp, ebp
jmp 0x140063771
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor ebp, ebp
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp qword [r15 + 0x10], 0
je 0x14006379d
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x1400637a6
cmp dword [r15 + 0x30], 0
je 0x140063c5e
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x140063c5e
movzx eax, bpl
test al, al
js 0x1400637e9
lea ebp, [rax + 1]
mov ecx, r14d
mov dword [rsp + 0x68], ebp
cmp r14d, eax
jbe 0x140063d03
movzx edx, byte [rdi]
mov rcx, r15
mov r8, r12
call fcn.140071780
test rax, rax
je 0x140063bf7
add r12, 4
dec ebp
jne 0x1400637c1
mov ebp, dword [rsp + 0x68]
jmp 0x140063892
cmp eax, 0x80
jne 0x1400637fc
mov rcx, r15
call fcn.14006c950
mov ebp, eax
jmp 0x140063801
add eax, 0xffffff81
mov ebp, eax
cmp ebp, r14d
jg 0x140063c5e
movzx edx, byte [rdi]
mov rcx, r15
lea r8, [rsp + 0x8c]
call fcn.140071780
test rax, rax
je 0x140063bf7
test ebp, ebp
jle 0x140063892
mov eax, ebp
jmp 0x140063836
add r12, 4
dec eax
je 0x140063892
movzx ecx, byte [rdi]
test cl, cl
js 0x14006384e
test cl, 0x40
jne 0x14006385f
test cl, 0x20
jne 0x140063871
test cl, 0x10
je 0x14006382e
jmp 0x140063883
movzx edx, byte [rsp + 0x8c]
mov byte [r12], dl
test cl, 0x40
je 0x140063842
movzx edx, byte [rsp + 0x8d]
mov byte [r12 + 1], dl
test cl, 0x20
je 0x140063847
movzx edx, byte [rsp + 0x8e]
mov byte [r12 + 2], dl
test cl, 0x10
je 0x14006382e
movzx ecx, byte [rsp + 0x8f]
mov byte [r12 + 3], cl
jmp 0x14006382e
sub r14d, ebp
jg 0x1400636e9
jmp 0x14006366d
cmp dword [rsp + 0x28], 0
je 0x14006366d
movzx r12d, byte [rsp + rax + 0x92]
mov rax, qword [rsp + 0x28]
mov ebp, eax
mov rdi, qword [rsp + 0x60]
mov rcx, r15
mov edx, r12d
mov r8, rdi
call fcn.140071780
test rax, rax
je 0x140063bf7
add rdi, 4
dec ebp
jne 0x1400638c0
jmp 0x14006366d
cmp dword [rsp + 0x28], 0
je 0x14006366d
lea rdi, [rsp + rax]
add rdi, 0x92
mov rax, qword [rsp + 0x28]
mov ebp, eax
mov r14, qword [rsp + 0x60]
jmp 0x140063910
sub ebp, eax
jle 0x14006366d
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x140063937
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx r12d, byte [rcx]
mov rcx, rdx
jmp 0x14006399b
cmp dword [r15 + 0x30], 0
je 0x140063972
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r13
call qword [r15 + reloc.WS2_32.dll_recv]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x140063977
cdqe
add rax, r13
movzx r12d, byte [r13]
jmp 0x14006398a
xor r12d, r12d
jmp 0x14006399b
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor r12d, r12d
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp qword [r15 + 0x10], 0
je 0x1400639c7
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x1400639d0
cmp dword [r15 + 0x30], 0
je 0x140063c5e
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x140063c5e
movzx edx, byte [rdi]
mov rcx, r15
lea r8, [rsp + 0x8c]
call fcn.140071780
test rax, rax
je 0x140063bf7
movzx eax, r12b
cmp ebp, eax
cmovb eax, ebp
movzx eax, al
test al, al
je 0x140063908
mov ecx, eax
jmp 0x140063a1c
add r14, 4
dec ecx
je 0x140063908
movzx edx, byte [rdi]
test dl, dl
js 0x140063a40
test dl, 0x40
jne 0x140063a51
test dl, 0x20
jne 0x140063a63
test dl, 0x10
je 0x140063a10
jmp 0x140063a75
movzx r8d, byte [rsp + 0x8c]
mov byte [r14], r8b
test dl, 0x40
je 0x140063a28
movzx r8d, byte [rsp + 0x8d]
mov byte [r14 + 1], r8b
test dl, 0x20
je 0x140063a2d
movzx r8d, byte [rsp + 0x8e]
mov byte [r14 + 2], r8b
test dl, 0x10
je 0x140063a10
movzx edx, byte [rsp + 0x8f]
mov byte [r14 + 3], dl
jmp 0x140063a10
mov rcx, qword [rsp + 0x78]
inc rcx
cmp rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x6c]
jne 0x140063655
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
jmp 0x140063c24
cmp byte [0x140186241], 0
jne 0x140063ad1
movabs rax, 0x6d656d666f74756f
mov qword [0x140186238], rax
mov byte [0x140186240], 0
mov byte [0x140186241], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186238]
jmp 0x140063b31
cmp byte [0x1401860da], 0
jne 0x140063b17
movabs rax, 0x6772616c206f6f74
mov qword [0x1401860d0], rax
mov word [0x1401860d8], 0x65
mov byte [0x1401860da], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401860d0]
mov qword [rax + 8], rcx
xor esi, esi
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1400f0d70
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [0x1401864bb], 0
jne 0x140063b92
movabs rax, 0x6d726f6620646162
mov qword [0x1401864b0], rax
mov word [0x1401864b8], 0x7461
mov byte [0x1401864ba], 0
mov byte [0x1401864bb], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864b0]
jmp 0x140063bf0
cmp byte [0x1401864a9], 0
jne 0x140063bd6
movabs rax, 0x656c696620646162
mov qword [0x1401864a0], rax
mov byte [0x1401864a8], 0
mov byte [0x1401864a9], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864a0]
mov qword [rax + 8], rcx
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r8d, dword [rsp + 0x34]
test ebp, ebp
cmovne r8d, ebp
mov dword [r12], esi
mov eax, dword [rsp + 0x5c]
mov dword [r14], eax
test rdi, rdi
je 0x140063c41
test ebp, ebp
jne 0x140063c41
mov r8d, dword [rdi]
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov edx, 4
mov r9d, esi
call fcn.14006abe0
mov rsi, rax
jmp 0x140063b3a
cmp byte [0x1401864a9], 0
jne 0x140063c86
movabs rax, 0x656c696620646162
mov qword [0x1401864a0], rax
mov byte [0x1401864a8], 0
mov byte [0x1401864a9], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864a0]
mov qword [rax + 8], rcx
jmp 0x140063bf7
cmp byte [0x1401864bb], 0
jne 0x140063cdd
movabs rax, 0x6d726f6620646162
mov qword [0x1401864b0], rax
mov word [0x1401864b8], 0x7461
mov byte [0x1401864ba], 0
mov byte [0x1401864bb], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864b0]
mov qword [rax + 8], rcx
jmp 0x140063c0d
cmp byte [0x1401864a9], 0
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
jne 0x140063d46
movabs rax, 0x656c696620646162
mov qword [0x1401864a0], rax
mov byte [0x1401864a8], 0
mov byte [0x1401864a9], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401864a0]
mov qword [rax + 8], rcx
jmp 0x140063c12
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm6
test rcx, rcx
je 0x140067d39
mov ebp, r8d
mov r8d, edx
mov rsi, rcx
mov eax, ebp
or eax, edx
js 0x140067ce7
mov edi, r9d
test ebp, ebp
je 0x140067b8f
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, r8d
jl 0x140067ce7
imul ebp, r8d
mov eax, ebp
or eax, edi
js 0x140067ce7
test edi, edi
je 0x140067bb2
mov eax, 0x7fffffff
xor edx, edx
div edi
cmp eax, ebp
jl 0x140067ce7
mov eax, ebp
imul eax, edi
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140067ce7
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rsi
test ebp, ebp
jle 0x140067d56
mov eax, edi
and eax, 1
lea r14d, [rdi + rax]
dec r14d
movsxd r8, edi
mov eax, ebp
mov qword [rsp + 0x48], rax
mov r13d, r14d
lea rax, [r8*4]
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov rbp, qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_powf]
movss xmm6, dword [0x14010763c]
movss xmm7, dword [0x140107700]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x38], r8
jmp 0x140067c46
inc r12
add rsi, qword [rsp + 0x40]
add rbx, r8
cmp r12, qword [rsp + 0x48]
je 0x140067d56
mov eax, 0
test r14d, r14d
jle 0x140067ca6
xor r15d, r15d
nop word cs:[rax + rax]
movss xmm1, dword [0x14017f578]
movss xmm0, dword [rsi + r15*4]
mulss xmm0, dword [0x14017f57c]
call rbp
mulss xmm0, xmm6
addss xmm0, xmm7
xorps xmm1, xmm1
maxss xmm1, xmm0
movaps xmm0, xmm6
minss xmm0, xmm1
cvttss2si eax, xmm0
mov byte [rbx + r15], al
inc r15
cmp r13, r15
jne 0x140067c60
mov eax, r14d
mov r8, qword [rsp + 0x38]
cmp eax, edi
jge 0x140067c30
mov rcx, r12
imul rcx, r8
cdqe
add rax, rcx
mov rcx, qword [rsp + 0x30]
movss xmm0, dword [rcx + rax*4]
mulss xmm0, xmm6
addss xmm0, xmm7
xorps xmm1, xmm1
maxss xmm1, xmm0
movaps xmm0, xmm6
minss xmm0, xmm1
cvttss2si ecx, xmm0
mov rdx, qword [rsp + 0x28]
mov byte [rdx + rax], cl
jmp 0x140067c30
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [0x140186241], 0
jne 0x140067d18
movabs rax, 0x6d656d666f74756f
mov qword [0x140186238], rax
mov byte [0x140186240], 0
mov byte [0x140186241], 1
mov eax, dword [0x14019f7f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x140186238]
mov qword [rax + 8], rcx
xor eax, eax
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x28]
jmp 0x140067d3b