Function at 0x14001c226
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movups xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp + 0x20], rcx
mov eax, dword [0x140299558]
mov ecx, dword [0x14029955c]
shrd ecx, eax, 0xf
xor ecx, 0x9c591fad
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, dword [0x140299560]
mov ecx, dword [0x140299564]
shrd ecx, eax, 1
xor ecx, 0x2d0a4f3e
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rcx, rsp
mov r15, rcx
mov eax, dword [0x140299568]
mov edx, dword [0x14029956c]
shrd edx, eax, 2
xor edx, 0xe3f88180
mov eax, edx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rdi, rsp
mov eax, dword [0x140299570]
mov edx, dword [0x140299574]
shrd edx, eax, 0x1e
xor edx, 0xc674f3fb
mov eax, edx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rdx, rsp
imul eax, dword [0x140299578], 0x501b8d56
imul r8d, dword [0x14029957c], 0x4b48295b
mov qword [rbp + 0x60], rdx
add eax, r8d
add eax, 0xb98800c2
lea rax, [rax + rax*4]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r8, rsp
imul eax, dword [0x140299580], 0x5d4310bf
mov qword [rbp + 0x58], r8
imul r9d, dword [0x140299584], 0x2c215ebc
add eax, r9d
add eax, 0x612dc07a
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, dword [0x140299588]
mov r9d, dword [0x14029958c]
shrd r9d, eax, 6
xor r9d, 0x57526acf
mov eax, r9d
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
imul r9d, dword [0x140299590], 0x5d36f99e
mov qword [rbp + 0x50], rax
imul eax, dword [0x140299594], 0xc498839c
add eax, r9d
add eax, 0x2be7469b
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x70], rax
mov eax, dword [0x140299598]
mov r9d, dword [0x14029959c]
shrd r9d, eax, 0x18
xor r9d, 0x9d899a28
mov eax, r9d
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
imul eax, dword [0x1402995a0], 0x3468d704
imul r9d, dword [0x1402995a4], 0x2b3988df
add eax, r9d
add eax, 0xacccccb9
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
imul r9d, dword [0x1402995a8], 0x8232a2c4
mov qword [rbp - 0x50], rax
imul eax, dword [0x1402995ac], 0xbdd213c3
add eax, r9d
add eax, 0x22bdba7f
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
imul r9d, dword [0x1402995b0], 0x51e34ad2
mov qword [rbp + 8], rax
imul eax, dword [0x1402995b4], 0xef46528e
add eax, r9d
add eax, 0x91f5de7
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov eax, dword [0x1402995b8]
mov r9d, dword [0x1402995bc]
shrd r9d, eax, 0xd
xor r9d, 0x2ecd3d4a
mov eax, r9d
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov r9, rsp
mov qword [rbp - 0x28], r9
mov eax, dword [str.tB_]
mov r10d, dword [0x1402995c4]
shrd r10d, eax, 6
xor r10d, 0xd020b8f6
mov eax, r10d
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
imul r10d, dword [0x1402995c8], 0xc7fb84bb
mov qword [rbp + 0x38], rax
imul eax, dword [0x1402995cc], 0x7262e4ee
add eax, r10d
add eax, 0xe530a9b5
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
imul eax, dword [0x1402995d0], 0x7bea7a3a
imul r10d, dword [0x1402995d4], 0x7a0f490a
add eax, r10d
add eax, 0xf5feb88d
imul rax, rax, 0xf8
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r10, rsp
imul eax, dword [0x1402995d8], 0xb29fd5fe
mov qword [rbp - 0x10], r10
imul r11d, dword [0x1402995dc], 0x6baf1a65
add eax, r11d
add eax, 0x8a18facd
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
imul r11d, dword [0x1402995e0], 0x667d00b6
mov qword [rbp - 8], rax
imul eax, dword [0x1402995e4], 0x66419527
add eax, r11d
add eax, 0xfe23dca3
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
mov eax, dword [0x1402995e8]
mov r11d, dword [0x1402995ec]
shrd r11d, eax, 3
xor r11d, 0x2772d144
mov eax, r11d
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
xorps xmm6, xmm6
movups xmmword [rcx], xmm6
mov qword [rcx + 0x10], 0
add rdx, 8
mov qword [rbp - 0x58], rdx
add r9, 8
mov qword [rbp + 0x40], r9
add r8, 8
mov qword [rbp - 0x30], r8
lea rax, [r10 + 0x10]
mov qword [rbp - 0x68], rax
add r10, 0x18
mov qword [rbp - 0x60], r10
lea r13, [0x14022687e]
movabs r12, 0x59954760102d21ec
movabs r14, 0xed58a7a6a6e950e5
movabs rbx, 0x40fc86f3ab5521f4
mov qword [rbp + 0x18], rdi
mov qword [rbp - 0x48], rcx
mov al, byte [0x1402995f0]
mov cl, byte [0x1402995f1]
shr cl, 3
shl al, 5
or al, cl
xor al, 0x14
mov rcx, qword [rbp + 0x20]
cmp byte [rcx + 0x10], al
je 0x14001dee0
sub rsp, 0x20
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x20]
call fcn.140020980
add rsp, 0x20
test al, al
je 0x14001dee0
mov qword [rdi], 0
mov rax, qword [str.x_A]
mov rcx, qword [0x140299600]
shrd rcx, rax, 0xd
movabs rax, 0xc2f4c16b1d49f919
xor rcx, rax
mov qword [rdi + 0x10], rcx
mov rax, qword [0x140299608]
mov rcx, qword [0x140299610]
shrd rcx, rax, 7
movabs rax, 0x2f92219c84f04f3
xor rcx, rax
mov qword [rdi + 0x18], rcx
movzx eax, word [0x140299618]
movzx ecx, word [0x14029961a]
imul eax, eax, 0xffffe140
imul ecx, ecx, 0xffffa63b
add eax, ecx
add eax, 0x25b0
mov word [rdi], ax
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rdx, rdi
mov r8, qword [rbp - 0x20]
mov r9, r15
call fcn.1400a7bd3
add rsp, 0x20
nop
mov rax, qword [r15 + 0x10]
mov rcx, qword [0x140299620]
movabs rdx, 0x87f8e6cec41dde4c
imul rcx, rdx
mov rdx, qword [0x140299628]
movabs r8, 0xb69981930f180c7b
imul rdx, r8
add rdx, rcx
movabs rcx, 0xbed70c4661d81cd0
add rdx, rcx
mov rcx, qword [0x140299630]
mov r8, qword [0x140299638]
shrd r8, rcx, 0x11
and rdx, rax
movabs rcx, 0x9a5a35cbcf5b7906
xor r8, rcx
cmp rdx, r8
mov rdi, qword [rbp + 0x18]
je 0x14001c807
mov rcx, qword [0x140299640]
mov rdx, qword [0x140299648]
shrd rdx, rcx, 0x11
imul ecx, dword [0x140299650], 0xec933114
movabs r8, 0xca31296b8a6f34a4
xor rdx, r8
imul r8d, dword [0x140299654], 0xd6f6ca23
add ecx, r8d
add ecx, 0xaaf00dc3
cmp dword [r15], ecx
setne cl
cmp rax, rdx
mov eax, 0
mov al, cl
movzx ecx, byte [0x140299658]
cmove ecx, eax
mov eax, ecx
mov esi, 1
test cl, 1
jne 0x14001dccf
mov rax, qword [0x140299660]
mov rcx, qword [0x140299668]
shrd rcx, rax, 4
movabs rax, 0x43afe7c96d1b8591
xor rcx, rax
cmp qword [rdi + 0x10], rcx
mov r11, qword [rbp + 0x60]
jne 0x14001c8dc
mov rax, qword [0x140299670]
mov rcx, qword [0x140299678]
shrd rcx, rax, 0x27
movabs rax, 0xaa288bf02205a4f9
xor rcx, rax
mov rax, rdi
cmp qword [rdi + 0x18], rcx
jbe 0x14001c861
mov rax, qword [rdi]
xor ecx, ecx
mov edx, 4
movzx r8d, word [rax + rcx]
cmp r8w, word [rcx + r13]
jne 0x14001c8dc
mov r8, qword [str.3eKx_]
mov r9, qword [0x140299688]
shrd r9, r8, 0xb
mov r8, qword [0x140299690]
mov r10, qword [0x140299698]
shrd r10, r8, 0x11
xor r9, r12
mov r8, rdx
add r8, r9
xor r10, r14
add rcx, 2
mov rdx, r8
cmp r8, r10
jne 0x14001c868
movzx eax, byte [0x1402996a0]
movzx ecx, byte [0x1402996a1]
imul eax, eax, 0xffffffbe
imul ecx, ecx, 0xffffffa4
add cl, al
add cl, 0x44
mov rax, qword [rbp + 0x20]
mov byte [rax + 0x10], cl
mov esi, 1
jmp 0x14001dccf
mov al, byte [0x1402996a2]
mov cl, byte [reloc.WS2_32.dll_select]
shr cl, 5
shl al, 3
or al, cl
xor al, 0xb0
mov byte [r11], al
xor eax, eax
mov qword [r11 + 8], rax
mov r8, qword [rbp + 0x28]
mov qword [r8], rax
mov rax, qword [0x1402996a8]
mov rcx, qword [0x1402996b0]
shrd rcx, rax, 5
movabs rax, 0x568ba636b153a3ab
xor rcx, rax
mov qword [r8 + 0x10], rcx
mov rax, qword [0x1402996b8]
mov rcx, qword [0x1402996c0]
shrd rcx, rax, 2
movabs rax, 0xbf69b8463bc5b3f9
xor rcx, rax
mov qword [r8 + 0x18], rcx
mov al, byte [reloc.WS2_32.dll_send]
mov cl, byte [0x1402996c9]
shr cl, 7
add al, al
or al, cl
xor al, 0x26
mov byte [r8], al
mov eax, dword [0x1402996cc]
mov ecx, dword [0x1402996d0]
shrd ecx, eax, 8
mov edx, ecx
xor edx, 0x893f2c5e
nop
sub rsp, 0x20
mov rcx, qword [rbp + 0x58]
call fcn.14001935a
add rsp, 0x20
nop
mov rax, qword [0x1402996d8]
mov rcx, qword [0x1402996e0]
shrd rcx, rax, 0x18
mov r8, qword [rbp + 0x28]
mov rax, qword [r8 + 0x18]
movabs rdx, 0xca3f4471e665f3db
xor rcx, rdx
cmp rax, rcx
mov rsi, qword [rbp + 0x18]
mov rdi, qword [rbp - 0x40]
mov rdx, r8
jbe 0x14001cb16
mov rdx, qword [rdx]
mov rcx, qword [0x1402996e8]
movabs r8, 0xec0d4d7c8f026c8b
imul rcx, r8
mov r8, qword [0x1402996f0]
movabs r9, 0xbe5aeac9c2274e75
imul r8, r9
add r8, rcx
movabs rcx, 0xfd720796ab8086a9
lea r9, [rax + rcx]
mov rcx, r8
add rcx, r9
mov r8, qword [0x1402996f8]
movabs r9, 0xa8e5f524166ccebb
imul r8, r9
mov r9, qword [0x140299700]
movabs r10, 0x27fc5735a6980361
imul r9, r10
add r9, r8
movabs r8, 0x91fbf678cb68a735
add r9, r8
cmp rcx, r9
jbe 0x14001cafc
mov rcx, qword [rdx - 8]
mov r8, qword [0x140299708]
movabs r9, 0xd13c29f5f30672f3
imul r8, r9
mov r9, qword [0x140299710]
movabs r10, 0x4bf58c088616fcc5
imul r9, r10
add r9, r8
add r9, rdx
sub r9, rcx
mov rdx, qword [0x140299718]
mov r8, qword [0x140299720]
shrd r8, rdx, 7
movabs rdx, 0x39d72e6dd5eaf8f1
add r9, rdx
movabs rdx, 0xaf4bdf967e89589
xor r8, rdx
cmp r9, r8
jae 0x14001def8
mov rdx, qword [0x140299728]
movabs r8, 0x68a6282ff30646b4
imul rdx, r8
mov r8, qword [0x140299730]
movabs r9, 0x8194ad99e3826485
imul r8, r9
add r8, rdx
movabs rdx, 0x60788095bd43fdb2
add rax, rdx
add rax, r8
jmp 0x14001cb02
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rdx, qword [rbp + 0x28]
mov rax, qword [0x140299738]
movabs rcx, 0x218768c7460b1b2
imul rax, rcx
mov rcx, qword [0x140299740]
movabs r8, 0x646390695a72d2d9
imul rcx, r8
add rcx, rax
movabs rax, 0x7daf1a4cdd82d9ed
add rcx, rax
mov qword [rdx + 0x10], rcx
mov rax, qword [0x140299748]
movabs rcx, 0xae1919749e618627
imul rax, rcx
mov rcx, qword [0x140299750]
movabs r8, 0x8d40a6cd50c53c56
imul rcx, r8
add rcx, rax
movabs rax, 0x709c3ea47992f02d
add rcx, rax
mov qword [rdx + 0x18], rcx
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
mov rax, qword [0x140299760]
movabs rcx, 0xe570e7dbf0f76ee9
imul rax, rcx
mov rcx, qword [0x140299768]
movabs r8, 0x880fab5c9624c3fc
imul rcx, r8
add rcx, rax
movabs rax, 0x182d26630363eb2e
add rcx, rax
mov qword [rsi + 0x10], rcx
mov rax, qword [0x140299770]
mov rcx, qword [0x140299778]
shrd rcx, rax, 6
movabs rax, 0x8ebb30152dd620fd
xor rcx, rax
mov qword [rsi + 0x18], rcx
movzx eax, word [0x140299780]
movzx ecx, word [0x140299782]
shrd cx, ax, 3
mov eax, ecx
xor eax, 0xba40
mov word [rsi], ax
mov al, byte [0x140299758]
mov cl, byte [0x140299759]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xb4
mov byte [rdx], al
mov r8, qword [rbp - 0x70]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
nop
sub rsp, 0x30
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0xf0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x50]
mov rdx, rsi
mov r9, qword [rbp - 0x78]
call fcn.1400212f6
add rsp, 0x30
nop
sub rsp, 0x20
xor ecx, ecx
mov rdx, rsi
call fcn.14002244f
add rsp, 0x20
test al, al
je 0x14001cdba
imul eax, dword [0x140299784], 0xa13824b1
imul ecx, dword [0x140299788], 0xf7301d45
add ecx, eax
add ecx, 0x17270387
sub rsp, 0x20
call fcn.140022457
add rsp, 0x20
mov rdx, qword [rbp - 0x50]
mov qword [rdx], rax
nop
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.140022d64
add rsp, 0x20
nop
mov rdx, qword [0x1402beee0]
nop
sub rsp, 0x20
mov rsi, qword [rbp + 0x60]
mov rcx, rsi
call fcn.14001f2c6
add rsp, 0x20
nop
mov rcx, rax
sub rsp, 0x20
mov rdx, qword [rbp]
call fcn.14001f518
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov eax, dword [rax]
mov edx, eax
mov rcx, qword [rbp + 8]
movups xmmword [rcx], xmm6
sub rsp, 0x20
call fcn.14003bdc4
add rsp, 0x20
mov rdx, qword [0x1402bef30]
nop
sub rsp, 0x20
mov rcx, rsi
call fcn.14001f2c6
add rsp, 0x20
nop
mov rcx, rax
mov rdx, qword [0x1402bef40]
nop
sub rsp, 0x20
call fcn.14001f2c6
add rsp, 0x20
nop
mov rcx, rax
sub rsp, 0x20
mov rdx, qword [rbp + 8]
call fcn.14001f518
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x30]
call fcn.140022e06
add rsp, 0x20
nop
mov rdx, qword [0x1402bef30]
nop
sub rsp, 0x20
mov rcx, qword [rbp + 0x60]
call fcn.14001f2c6
add rsp, 0x20
nop
mov rcx, rax
mov rdx, qword [0x1402bef38]
nop
sub rsp, 0x20
call fcn.14001f2c6
add rsp, 0x20
nop
mov rcx, rax
sub rsp, 0x20
mov rdx, qword [rbp + 0x10]
jmp 0x14001cfb8
mov rcx, qword [rsi]
mov eax, dword [rcx + 0xc]
cmp eax, 9
ja 0x14001cde3
mov edx, 0x284
bt edx, eax
jae 0x14001cde3
mov rax, qword [rcx]
nop
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
nop
jmp 0x14001cf95
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rcx]
nop
sub rsp, 0x20
mov r8, rsi
call fcn.140048a24
add rsp, 0x20
nop
mov rax, qword [rbp + 0x38]
movups xmmword [rax], xmm6
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx + 8]
test rax, rax
je 0x14001ce1a
lock inc dword [rax + 8]
mov rax, qword [rcx + 8]
jmp 0x14001ce1c
xor eax, eax
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
nop
sub rsp, 0x20
mov rcx, rdi
call fcn.140048ca1
add rsp, 0x20
nop
mov r9, qword [rdi]
imul eax, dword [0x14029978c], 0x1c0bf70f
imul ecx, dword [0x140299790], 0xb653ab90
lea edx, [rax + rcx]
add edx, 0x415e8620
mov eax, dword [0x140299794]
mov ecx, dword [0x140299798]
shrd ecx, eax, 0xd
xor ecx, 0x4802af27
sub rsp, 0x30
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
xor ecx, ecx
lea r8, [0x140048d10]
call fcn.1401ab4fc
add rsp, 0x30
mov rcx, qword [rbp - 0x28]
mov qword [rcx], rax
mov rcx, qword [0x1402997a0]
movabs rdx, 0xfc070a5f9c7f68e2
imul rcx, rdx
mov rdx, qword [0x1402997a8]
movabs r8, 0x5dfb91093e2bb644
imul rdx, r8
add rdx, rcx
movabs rcx, 0xf19cda7e760705a
add rdx, rcx
cmp rax, rdx
je 0x14001df0a
mov rax, qword [rbp + 0x38]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x14001cf5b
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
imul ecx, dword [0x1402997c0], 0x20e5ca34
imul edx, dword [0x1402997c4], 0x3c63981c
add ecx, edx
add ecx, 0x962e1075
cmp eax, ecx
jne 0x14001cf5b
mov rax, qword [rsi]
sub rsp, 0x20
mov rcx, rsi
call qword [rax]
add rsp, 0x20
mov eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
mov ecx, dword [0x1402997c8]
mov edx, dword [0x1402997cc]
shrd edx, ecx, 0x15
xor edx, 0x5076857e
cmp eax, edx
jne 0x14001cf5b
mov rax, qword [rsi]
sub rsp, 0x20
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x28]
call fcn.140022ea4
add rsp, 0x20
nop
imul eax, dword [0x1402997d0], 0xff331262
imul ecx, dword [0x1402997d4], 0xe3b55e44
add eax, ecx
add eax, 0x5de7ceda
mov rcx, qword [rbp + 0x40]
cmp dword [rcx], eax
jne 0x14001df01
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x50]
call fcn.14001f7f0
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x38]
call fcn.14001f518
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x14001d03d
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
mov ecx, dword [0x1402997e0]
mov edx, dword [0x1402997e4]
shrd edx, ecx, 0xb
xor edx, 0x4d7ab213
cmp eax, edx
jne 0x14001d03d
mov rax, qword [rsi]
sub rsp, 0x20
mov rcx, rsi
call qword [rax]
add rsp, 0x20
mov eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
imul ecx, dword [0x1402997e8], 0x1329fead
imul edx, dword [0x1402997ec], 0x13bc5381
add ecx, edx
add ecx, 0xa0e1e261
cmp eax, ecx
jne 0x14001d03d
mov rax, qword [rsi]
sub rsp, 0x20
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
mov eax, dword [0x1402997f0]
mov ecx, dword [0x1402997f4]
shrd ecx, eax, 0x18
mov edx, ecx
xor edx, 0xcf1ae183
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.14002033a
add rsp, 0x20
nop
mov eax, dword [0x1402997f8]
mov ecx, dword [0x1402997fc]
shrd ecx, eax, 1
mov r8d, ecx
xor r8d, 0xb1dfba3
mov al, byte [0x140299800]
mov cl, byte [reloc.WS2_32.dll_recv]
shr cl, 4
shl al, 4
or al, cl
mov r9d, eax
imul eax, dword [0x140299804], 0x1ecc4f8
imul ecx, dword [0x140299808], 0xf01f0c
xor r9b, 0x81
add eax, ecx
add eax, 0x4b76293c
nop
sub rsp, 0x30
mov dword [rsp + 0x28], eax
mov byte [rsp + 0x20], 0
mov rcx, qword [rbp + 0x60]
mov rsi, qword [rbp - 8]
mov rdx, rsi
call fcn.14002057a
add rsp, 0x30
nop
mov rdi, qword [rbp + 0x48]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x68]
mov rdx, rsi
call fcn.140020543
add rsp, 0x20
nop
mov rax, qword [0x140299810]
mov rcx, qword [0x140299818]
shrd rcx, rax, 0x1a
mov rsi, qword [rbp - 8]
mov rax, qword [rsi + 0x18]
movabs rdx, 0x54867144e32f7c25
xor rcx, rdx
cmp rax, rcx
jbe 0x14001d255
mov rdx, qword [rsi]
mov rcx, qword [0x140299820]
movabs r8, 0x214c30d3654c7a40
imul rcx, r8
mov r8, qword [0x140299828]
movabs r9, 0xd883d460ddd2bf20
imul r8, r9
add r8, rcx
mov rcx, qword [0x140299830]
mov r9, qword [0x140299838]
shrd r9, rcx, 0x25
movabs rcx, 0x6610a86fb32b8ec1
lea r10, [rax + rcx]
mov rcx, r8
add rcx, r10
movabs r8, 0xfc7455035f2b6e97
xor r9, r8
cmp rcx, r9
jbe 0x14001d23f
mov rcx, qword [rdx - 8]
mov r8, qword [0x140299840]
movabs r9, 0x3a7d791d23472b51
imul r8, r9
mov r9, qword [0x140299848]
movabs r10, 0xcea187739b6e1377
imul r9, r10
add r9, r8
add r9, rdx
sub r9, rcx
mov rdx, qword [0x140299850]
mov r8, qword [0x140299858]
shrd r8, rdx, 0xf
movabs rdx, 0xce47e7a94cc6fea3
add r9, rdx
movabs rdx, 0x38fde9a8d8e7ca6e
xor r8, rdx
cmp r9, r8
jae 0x14001def8
mov rdx, qword [0x140299860]
movabs r8, 0x7ffbe0211f56d580
imul rdx, r8
mov r8, qword [0x140299868]
movabs r9, 0x14c4e33f55157326
imul r8, r9
add r8, rdx
movabs rdx, 0x7e563b563478d79e
add rax, rdx
add rax, r8
jmp 0x14001d245
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [0x140299870]
movabs rcx, 0xdb3843bc7b5c72fa
imul rax, rcx
mov rcx, qword [0x140299878]
movabs rdx, 0x860b66f6313c0053
imul rcx, rdx
add rcx, rax
movabs rax, 0x885ed07d211fbb00
add rcx, rax
mov qword [rsi + 0x10], rcx
mov rax, qword [0x140299880]
movabs rcx, 0xb4fd94131ea8a421
imul rax, rcx
mov rcx, qword [0x140299888]
movabs rdx, 0x9c7e62463cd9051d
imul rcx, rdx
add rcx, rax
movabs rax, 0x8f8b3272d14c4ae8
add rcx, rax
mov qword [rsi + 0x18], rcx
mov al, byte [0x140299890]
mov cl, byte [0x140299891]
shr cl, 5
shl al, 3
or al, cl
xor al, 0xa1
mov byte [rsi], al
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
mov rdx, rdi
call fcn.14004877c
add rsp, 0x20
nop
mov rax, qword [0x140299898]
mov rcx, qword [0x1402998a0]
shrd rcx, rax, 0x26
movabs rax, 0xf7875ca15c86cb96
xor rcx, rax
mov r8, rdi
cmp qword [rdi + 0x18], rcx
jbe 0x14001d32b
mov r8, qword [rdi]
imul eax, dword [0x1402998a8], 0x3e33aa8c
imul ecx, dword [0x1402998ac], 0xafac7a91
imul edx, dword [0x1402998b0], 0xfe617ce8
imul r9d, dword [0x1402998b4], 0xd1e4f3d0
add ecx, eax
add ecx, 0x63e8072c
mov eax, r9d
add edx, eax
add edx, 0x4f184840
imul eax, dword [0x1402998b8], 0x8830d800
imul r10d, dword [0x1402998bc], 0x8de65ee7
mov r9d, dword [rdi + 0x10]
add eax, r10d
add eax, 0xe1192b03
sub rsp, 0x30
mov dword [rsp + 0x28], eax
xor edi, edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov esi, eax
mov rax, qword [0x1402998c0]
mov rcx, qword [0x1402998c8]
shrd rcx, rax, 0x35
movsxd rdx, esi
mov rax, qword [rbp + 0x30]
mov qword [rax], rdi
mov rdi, rax
movabs rax, 0xcf654d8c3f259641
xor rcx, rax
mov qword [rdi + 0x10], rcx
mov rax, qword [0x1402998d0]
movabs rcx, 0xe9f2848d80760237
imul rax, rcx
mov rcx, qword [0x1402998d8]
movabs r8, 0x48386b0f8701f94e
imul rcx, r8
add rcx, rax
movabs rax, 0x3681dc4deb838089
add rcx, rax
mov qword [rdi + 0x18], rcx
movzx eax, word [0x1402998e0]
movzx ecx, word [0x1402998e2]
imul eax, eax, 0x1a58
imul ecx, ecx, 0x3e67
add eax, ecx
add eax, 0x7a2e
mov word [rdi], ax
imul eax, dword [0x1402998e4], 0x3f7dd577
imul ecx, dword [0x1402998e8], 0xce333edb
add eax, ecx
add eax, 0xaa43fe54
cmp esi, eax
jbe 0x14001d489
movzx eax, word [0x14029991c]
movzx ecx, word [0x14029991e]
shrd cx, ax, 5
mov eax, ecx
xor eax, 0xd7e2
mov r9d, eax
nop
sub rsp, 0x20
mov rcx, rdi
call fcn.14002d1e2
add rsp, 0x20
nop
jmp 0x14001d591
mov r14, r12
mov eax, dword [0x1402998ec]
mov ecx, dword [0x1402998f0]
shrd ecx, eax, 0x14
mov qword [rdi + 0x10], rdx
xor ecx, 0x456a8994
cmp esi, ecx
movabs r10, 0x4e263ce222300242
movabs r11, 0xff7a699dbda2b9c5
mov r12, rbx
movabs rbx, 0xf00db2299910f5ae
movabs r15, 0xf854f077bbbc7559
movabs r13, 0xd52462e75a7a349d
je 0x14001d558
mov rax, rdi
mov rcx, rdx
add rcx, rbx
movzx r8d, word [0x1402998f4]
movzx r9d, word [0x1402998f6]
imul r8d, r8d, 0x66d6
imul r9d, r9d, 0x3d09
add r8d, r9d
add r8d, 0x5ffc
mov word [rax], r8w
add rax, 2
mov r8, qword [0x1402998f8]
imul r8, r10
mov r9, qword [0x140299900]
imul r9, r11
add r9, r8
add r9, rcx
mov rcx, qword [0x140299908]
imul rcx, r12
mov r8, qword [0x140299910]
imul r8, r15
add r8, rcx
add r8, r13
mov rcx, r9
cmp r9, r8
jne 0x14001d4e5
movzx eax, word [0x140299918]
movzx ecx, word [0x14029991a]
shrd cx, ax, 0xe
mov eax, ecx
xor eax, 0x116
mov word [rdi + rdx*2], ax
mov rbx, r12
mov r12, r14
movabs r14, 0xed58a7a6a6e950e5
lea r13, [0x14022687e]
mov r15, qword [rbp - 0x48]
mov rax, qword [0x140299920]
movabs rcx, 0xcc2ba2da51da7564
imul rax, rcx
mov rcx, qword [0x140299928]
movabs rdx, 0x553e0fdd138ba70d
imul rcx, rdx
add rcx, rax
movabs rax, 0x3cdeb14f62d046e4
add rcx, rax
mov rax, rdi
cmp qword [rdi + 0x18], rcx
jbe 0x14001d5d7
mov rax, qword [rdi]
mov rcx, qword [0x140299930]
mov rdx, qword [0x140299938]
shrd rdx, rcx, 0x3c
movabs rcx, 0x1c117df1236a186b
xor rdx, rcx
mov rcx, qword [rbp + 0x48]
mov r8, rcx
cmp qword [rcx + 0x18], rdx
jbe 0x14001d607
mov r8, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov ecx, dword [0x140299940]
mov edx, dword [0x140299944]
shrd edx, ecx, 0x1c
mov ecx, edx
imul edx, dword [0x140299948], 0x49c7c377
imul r10d, dword [0x14029994c], 0xcf4ce25c
xor ecx, 0xdd58a68f
add edx, r10d
add edx, 0x191f5d85
sub rsp, 0x30
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rdx, rdi
mov r8, qword [rbp - 0x20]
mov r9, r15
call fcn.1400a4321
add rsp, 0x20
nop
mov rax, qword [0x140299950]
mov rcx, qword [0x140299958]
shrd rcx, rax, 0x23
mov r9, qword [rbp + 0x30]
mov rax, qword [r9 + 0x18]
movabs rdx, 0x4980b03605843713
xor rcx, rdx
cmp rax, rcx
mov rdi, qword [rbp + 0x18]
jbe 0x14001d7e3
imul ecx, dword [0x140299960], 0x244ef707
imul r8d, dword [0x140299968], 0x1dfd73e6
mov rdx, qword [r9]
add r8d, ecx
mov ecx, r8d
add cl, 0xcf
shl rax, cl
mov rcx, qword [0x140299970]
mov r8, qword [0x140299978]
shrd r8, rcx, 0x34
mov rcx, r8
movabs r8, 0x3bd1f702aaddb7ac
xor rcx, r8
mov r8, qword [0x140299980]
mov r9, qword [0x140299988]
shrd r9, r8, 0x3c
add rcx, rax
movabs r8, 0xd1731f85192f42d
xor r9, r8
cmp rcx, r9
jbe 0x14001d7c9
mov rcx, qword [rdx - 8]
mov r8, qword [0x140299990]
movabs r9, 0x436cca95c0e9981b
imul r8, r9
mov r9, qword [0x140299998]
movabs r10, 0x7e88658d9770be14
imul r9, r10
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xdb38edcfa9f49dcd
add r9, rdx
mov rdx, qword [0x1402999a0]
movabs r8, 0xbe63c0411cee9099
imul rdx, r8
mov r8, qword [0x1402999a8]
movabs r10, 0xcb950f898b04be2a
imul r8, r10
add r8, rdx
movabs rdx, 0xde0fdd4610a8d5e8
add r8, rdx
cmp r9, r8
jae 0x14001def8
mov rdx, qword [0x1402999b0]
mov r8, qword [0x1402999b8]
shrd r8, rdx, 0x3a
movabs rdx, 0x6987b73ad202f7e4
xor r8, rdx
add rax, r8
jmp 0x14001d7cf
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov r9, qword [rbp + 0x30]
mov rax, qword [0x1402999c0]
mov rcx, qword [0x1402999c8]
shrd rcx, rax, 0x14
movabs rax, 0x7c9a367965899c55
xor rcx, rax
mov qword [r9 + 0x10], rcx
mov rax, qword [0x1402999d0]
mov rcx, qword [0x1402999d8]
shrd rcx, rax, 0x2d
movabs rax, 0x414571b85278040
xor rcx, rax
mov qword [r9 + 0x18], rcx
movzx eax, word [0x1402999e0]
movzx ecx, word [0x1402999e2]
shrd cx, ax, 0xd
mov eax, ecx
xor eax, 0xceaf
mov word [r9], ax
mov rax, qword [0x1402999e8]
mov rcx, qword [0x1402999f0]
shrd rcx, rax, 0x21
mov rdx, qword [rbp + 0x48]
mov rax, qword [rdx + 0x18]
movabs r8, 0xb46de5df8f167700
xor rcx, r8
cmp rax, rcx
jbe 0x14001d98e
mov rcx, qword [rdx]
mov rdx, qword [0x1402999f8]
movabs r8, 0xd3716ae3c7694311
imul rdx, r8
mov r8, qword [0x140299a00]
movabs r9, 0x43936201e4c78925
imul r8, r9
add r8, rdx
mov rdx, qword [0x140299a08]
mov r9, qword [0x140299a10]
shrd r9, rdx, 3
movabs rdx, 0xa1baa208d85cbe48
lea r10, [rax + rdx]
mov rdx, r8
add rdx, r10
movabs r8, 0x6ec8c19ac13b0fb1
xor r9, r8
cmp rdx, r9
jbe 0x14001d97d
mov rdx, qword [rcx - 8]
mov r8, qword [0x140299a18]
movabs r9, 0x656e04dae075db57
imul r8, r9
mov r9, qword [0x140299a20]
movabs r10, 0x842dba5658f0e1cc
imul r9, r10
add r9, r8
add r9, rcx
sub r9, rdx
mov rcx, qword [0x140299a28]
mov r8, qword [0x140299a30]
shrd r8, rcx, 0x31
movabs rcx, 0xbe09e90762233f5d
add r9, rcx
movabs rcx, 0x545c146331884053
xor r8, rcx
cmp r9, r8
jae 0x14001def8
mov rcx, qword [0x140299a38]
mov r8, qword [0x140299a40]
shrd r8, rcx, 0x19
movabs rcx, 0xff1ecb9c5aae5035
xor r8, rcx
add rax, r8
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rdx, qword [rbp + 0x48]
mov rax, qword [0x140299a48]
mov rcx, qword [0x140299a50]
shrd rcx, rax, 0x1b
movabs rax, 0xa712f2ace87fb60d
xor rcx, rax
mov qword [rdx + 0x10], rcx
mov rax, qword [0x140299a58]
movabs rcx, 0xf872ca7f1d9ef28b
imul rax, rcx
mov rcx, qword [0x140299a60]
movabs r8, 0xc7467474eee29bf3
imul rcx, r8
add rcx, rax
movabs rax, 0x182c6d03cbcc2cf4
add rcx, rax
mov qword [rdx + 0x18], rcx
mov al, byte [reloc.WS2_32.dll_WSAStartup]
mov cl, byte [0x140299a69]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xcf
mov byte [rdx], al
mov rax, qword [r15 + 0x10]
mov rcx, qword [0x140299a70]
mov rdx, qword [0x140299a78]
shrd rdx, rcx, 0x15
movabs rcx, 0x176fc429e17a2578
xor rdx, rcx
and rdx, rax
mov rcx, qword [0x140299a80]
mov r8, qword [0x140299a88]
shrd r8, rcx, 0x3d
movabs rcx, 0x520c37de464cc41b
xor r8, rcx
mov esi, 0
cmp rdx, r8
je 0x14001daba
mov rcx, qword [0x140299a90]
movabs rdx, 0xb2e0d2f4903b49ee
imul rcx, rdx
mov rdx, qword [0x140299a98]
movabs r8, 0x273d94333033ae7e
imul rdx, r8
add rdx, rcx
movabs rcx, 0x546452e82f147a5d
add rdx, rcx
cmp rax, rdx
setne al
mov ecx, dword [0x140299aa0]
mov edx, dword [0x140299aa4]
shrd edx, ecx, 0xb
xor edx, 0xa66f83dd
cmp dword [r15], edx
setne cl
or cl, al
movzx esi, cl
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.140020922
add rsp, 0x20
mov rax, qword [0x140299aa8]
mov rcx, qword [0x140299ab0]
shrd rcx, rax, 5
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x20]
movabs rdx, 0xf50a95aa6546ed6f
xor rcx, rdx
cmp rax, rcx
jbe 0x14001dc14
mov rcx, qword [0x140299ab8]
mov r8, qword [0x140299ac0]
shrd r8, rcx, 0x12
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rcx]
mov rcx, r8
movabs r8, 0xea81e6ee822f74d7
xor rcx, r8
add rcx, rax
mov r8, qword [0x140299ac8]
movabs r9, 0xfd49141d72d1c095
imul r8, r9
mov r9, qword [0x140299ad0]
movabs r10, 0x160b4860e3cb3bbf
imul r9, r10
add r9, r8
movabs r8, 0xbab71aadd3b8cbd1
add r9, r8
cmp rcx, r9
jbe 0x14001dbfe
mov rcx, qword [rdx - 8]
mov r8, qword [0x140299ad8]
mov r9, qword [0x140299ae0]
shrd r9, r8, 0x2d
movabs r8, 0xc2f80c368596ba8
xor r9, r8
add r9, rdx
sub r9, rcx
mov rdx, qword [0x140299ae8]
movabs r8, 0xf3e4c35450a660cf
imul rdx, r8
mov r8, qword [0x140299af0]
movabs r10, 0xc952e10a41623504
imul r8, r10
add r8, rdx
movabs rdx, 0xbfc4d5bfcbace200
add r8, rdx
cmp r9, r8
jae 0x14001def8
mov rdx, qword [0x140299af8]
mov r8, qword [0x140299b00]
shrd r8, rdx, 9
movabs rdx, 0x147685bdbb79db52
xor r8, rdx
add rax, r8
jmp 0x14001dc04
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [0x140299b08]
movabs rcx, 0x4c0bfdfaf20ec805
imul rax, rcx
mov rcx, qword [0x140299b10]
movabs rdx, 0xe2cf02235c937ea
imul rcx, rdx
add rcx, rax
movabs rax, 0xf7963e241b06dea3
add rcx, rax
mov r8, qword [rbp + 0x58]
mov qword [r8 + 0x18], rcx
mov rax, qword [0x140299b18]
movabs rcx, 0x7d8ba7871ab9312f
imul rax, rcx
mov rcx, qword [0x140299b20]
movabs rdx, 0x287514ffe2be4c96
imul rcx, rdx
add rcx, rax
movabs rax, 0x8ba70a7201f96ad8
add rcx, rax
mov qword [r8 + 0x20], rcx
movzx eax, byte [0x140299b28]
movzx ecx, byte [0x140299b29]
imul eax, eax, 0x7a
mov edx, ecx
shl edx, 6
lea ecx, [rdx + rcx*2]
add cl, al
add cl, 0x3a
mov byte [r8 + 8], cl
mov rax, qword [rbp + 0x60]
mov dl, byte [rax]
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
call fcn.14002af04
add rsp, 0x20
nop
mov rax, qword [rdi + 0x18]
mov rcx, qword [0x140299b30]
movabs rdx, 0xf5c4edd395ed3d2f
imul rcx, rdx
mov rdx, qword [0x140299b38]
movabs r8, 0x964aa4fdb6726db8
imul rdx, r8
add rdx, rcx
movabs rcx, 0xae16df44289fdfc6
add rdx, rcx
cmp rax, rdx
jbe 0x14001de5d
imul ecx, dword [0x140299b40], 0x7c24ed97
imul edx, dword [0x140299b48], 0x5809f331
add edx, ecx
mov ecx, edx
add cl, 0x4e
shl rax, cl
mov rcx, qword [rdi]
mov rdx, qword [0x140299b50]
movabs r8, 0x275608e6927ee91e
imul rdx, r8
mov r8, qword [0x140299b58]
movabs r9, 0xb1b94c989c03bdbf
imul r8, r9
add r8, rdx
mov rdx, r8
movabs r8, 0xd15c845fcfd9d21a
add rdx, r8
add rdx, rax
mov r8, qword [0x140299b60]
movabs r9, 0xbb415e9d6171a89
imul r8, r9
mov r9, qword [str.__B]
movabs r10, 0x8d39594036574223
imul r9, r10
add r9, r8
movabs r8, 0xfc00559ec9f0e08
add r9, r8
cmp rdx, r9
jbe 0x14001de50
mov rdx, qword [rcx - 8]
mov r8, qword [0x140299b70]
mov r9, qword [0x140299b78]
shrd r9, r8, 0xc
movabs r8, 0x693b59f94e1b1aa2
xor r9, r8
add r9, rcx
mov rcx, qword [0x140299b80]
mov r8, qword [0x140299b88]
shrd r8, rcx, 0x22
sub r9, rdx
movabs rcx, 0xce9bcca9f708ddd8
xor r8, rcx
cmp r9, r8
jae 0x14001def8
mov rcx, qword [0x140299b90]
movabs r8, 0x6daf7a04b2a4e7ec
imul rcx, r8
mov r8, qword [0x140299b98]
movabs r9, 0xd6cd419223425ae1
imul r8, r9
add r8, rcx
movabs rcx, 0x195f56833a5627f8
add r8, rcx
add r8, rax
mov rcx, rdx
mov rdx, r8
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [0x140299ba0]
mov rcx, qword [0x140299ba8]
shrd rcx, rax, 0xc
movabs rax, 0x6a7338eeb3d47d10
xor rcx, rax
mov qword [rdi + 0x10], rcx
mov rax, qword [0x140299bb0]
mov rcx, qword [0x140299bb8]
shrd rcx, rax, 0x20
movabs rax, 0x21a4c62c25fb9b6a
xor rcx, rax
mov qword [rdi + 0x18], rcx
movzx eax, word [0x140299bc0]
movzx ecx, word [0x140299bc2]
shrd cx, ax, 5
mov eax, dword [0x140299bc4]
mov edx, dword [0x140299bc8]
shrd edx, eax, 0x19
mov eax, ecx
xor eax, 0x50f1
mov word [rdi], ax
xor edx, 0x9cd1c85f
cmp esi, edx
je 0x14001c665
movups xmm6, xmmword [rbp + 0x70]
lea rsp, [rbp + 0x88]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call fcn.1401aec6c
sub rsp, 0x20
call fcn.1401b6fe0
mov eax, dword [0x1402997b0]
mov ecx, dword [str.Za3]
shrd ecx, eax, 0x12
xor ecx, 0x5f70744c
imul eax, dword [0x1402997b8], 0x59149735
imul edx, dword [0x1402997bc], 0xf787f73a
mov r8, qword [rbp + 0x40]
mov dword [r8], ecx
mov ecx, edx
add ecx, eax
add ecx, 0x9e696548
nop
sub rsp, 0x20
call fcn.1400e7610
add rsp, 0x20
nop
int3