Function at 0x140077db5
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov r14, r9
mov qword [rbp + 0x30], r8
mov r15, rdx
mov qword [rbp + 0x28], rcx
imul eax, dword [0x1402ab6f8], 0x3214bff5
imul ecx, dword [0x1402ab6fc], 0xd63b4f79
mov rdi, qword [rbp + 0xc0]
add eax, ecx
add eax, 0xe3dc7306
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp + 8], rsp
mov eax, dword [0x1402ab700]
mov ecx, dword [0x1402ab704]
shrd ecx, eax, 0x10
xor ecx, 0xf0f8e934
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, dword [0x1402ab708]
mov ecx, dword [0x1402ab70c]
shrd ecx, eax, 0xb
xor ecx, 0xde272510
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x50], rsp
mov eax, dword [0x1402ab710]
mov ecx, dword [0x1402ab714]
shrd ecx, eax, 0xd
xor ecx, 0x52c1ba22
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x60], rsp
mov eax, dword [0x1402ab718]
mov ecx, dword [0x1402ab71c]
shrd ecx, eax, 3
xor ecx, 0x41323b7b
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, dword [0x1402ab720]
mov ecx, dword [0x1402ab724]
shrd ecx, eax, 1
xor ecx, 0x3e273be9
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x20], rsp
mov eax, dword [0x1402ab728]
mov ecx, dword [0x1402ab72c]
shrd ecx, eax, 0xe
xor ecx, 0x96ceb94d
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
imul eax, dword [0x1402ab730], 0x1bfec55c
imul ecx, dword [0x1402ab734], 0xeb4c5ce4
add eax, ecx
add eax, 0xd7ed487d
shl rax, 4
lea rax, [rax + rax*4]
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
mov qword [rbp + 0x20], r12
mov eax, dword [0x1402ab738]
mov ecx, dword [0x1402ab73c]
shrd ecx, eax, 1
xor ecx, 0x122e4731
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rsi, rsp
mov eax, dword [0x1402ab740]
mov ecx, dword [0x1402ab744]
shrd ecx, eax, 0xc
xor ecx, 0x71d61b82
mov eax, ecx
imul rax, rax, 0x70
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
mov eax, dword [0x1402ab748]
mov ecx, dword [0x1402ab74c]
shrd ecx, eax, 0xe
xor ecx, 0xbe10c469
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov eax, dword [0x1402ab750]
mov ecx, dword [0x1402ab754]
shrd ecx, eax, 0x15
xor ecx, 0x88ea4c98
mov eax, ecx
mov rcx, rax
shl rcx, 8
lea rax, [rcx + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x28], rsp
imul eax, dword [0x1402ab758], 0x6aa1d51f
imul ecx, dword [0x1402ab75c], 0xbb4e2107
add eax, ecx
add eax, 0xbe514d5a
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp + 0x38], rsp
mov eax, dword [0x1402ab760]
mov ecx, dword [0x1402ab764]
shrd ecx, eax, 0x17
xor ecx, 0x27f5f5c3
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp + 0x18], rsp
mov eax, dword [0x1402ab768]
mov ecx, dword [0x1402ab76c]
shrd ecx, eax, 0xf
xor ecx, 0x4e07bac0
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x78], rsp
mov eax, dword [0x1402ab770]
mov ecx, dword [0x1402ab774]
shrd ecx, eax, 1
xor ecx, 0x388037d5
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x70], rsp
mov eax, dword [0x1402ab778]
mov ecx, dword [0x1402ab77c]
shrd ecx, eax, 0x16
xor ecx, 0x4ea5bcf7
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov eax, dword [0x1402ab780]
mov ecx, dword [0x1402ab784]
shrd ecx, eax, 7
xor ecx, 0x532b4eb6
mov eax, ecx
mov rcx, rax
shl rcx, 8
lea rax, [rcx + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x68], rsp
imul eax, dword [0x1402ab788], 0x84c9de36
imul ecx, dword [0x1402ab78c], 0x454b72c9
add eax, ecx
add eax, 0x6d6a94ef
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x48], rsp
imul eax, dword [0x1402ab790], 0xa497573b
imul ecx, dword [0x1402ab794], 0x47b330aa
add eax, ecx
add eax, 0x31621b4c
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x40], rsp
mov eax, dword [0x1402ab798]
mov ecx, dword [0x1402ab79c]
shrd ecx, eax, 0x1d
xor ecx, 0xe3cf72a1
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x38], rsp
imul eax, dword [0x1402ab7a0], 0xded07cde
imul ecx, dword [0x1402ab7a4], 0x86804006
add eax, ecx
add eax, 0x5b62c571
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp], rsp
mov eax, dword [0x1402ab7a8]
mov ecx, dword [0x1402ab7ac]
shrd ecx, eax, 0x13
xor ecx, 0x3f65971f
mov eax, ecx
mov rcx, rax
shl rcx, 8
lea rax, [rcx + rax*8]
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov qword [rbp - 0x10], rsp
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov eax, dword [0x1402ab7b0]
mov ecx, dword [0x1402ab7b4]
shrd ecx, eax, 9
mov edx, ecx
xor edx, 0xfded1ed7
mov eax, dword [0x1402ab7b8]
mov ecx, dword [0x1402ab7bc]
shrd ecx, eax, 0xb
mov r8d, ecx
xor r8d, 0x4cf4752f
sub rsp, 0x20
mov rcx, r12
mov r9, r15
call fcn.14007ce68
add rsp, 0x20
imul eax, dword [0x1402ab7c0], 0x45a233f4
imul ecx, dword [0x1402ab7c4], 0x906f9dc3
lea r9d, [rax + rcx]
add r9d, 0xc77ef110
nop
sub rsp, 0x20
mov rcx, r13
mov qword [rbp + 0x40], r14
mov rdx, r14
mov r8, rdi
call fcn.140079b80
add rsp, 0x20
nop
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
add r12, 8
nop
sub rsp, 0x30
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x10], rsi
mov rdx, rsi
mov r8, r12
mov qword [rbp + 0x48], r13
mov r9, r13
call fcn.14008152e
add rsp, 0x30
nop
mov rsi, qword [rbp + 0x48]
mov rax, qword [rsi + 0x68]
movabs rcx, 0x9422158297a542de
imul rcx, qword [0x1402ab7c8]
movabs rdx, 0x9e20dcf1fd7e6529
imul rdx, qword [0x1402ab7d0]
add rdx, rcx
movabs rcx, 0x5f1f82a789817d1a
add rcx, rdx
cmp rax, rcx
mov r12, qword [rbp + 0x28]
jbe 0x140078481
mov rdx, qword [rsi + 0x50]
movabs rcx, 0x4b517de8c96bff5f
imul rcx, qword [0x1402ab7d8]
movabs r8, 0x1dc11c0b0929a4c8
imul r8, qword [0x1402ab7e0]
add r8, rcx
movabs rcx, 0x7bdb0d637cc8d43e
add rcx, rax
add rcx, r8
movabs r8, 0x2250322eaa7034c2
imul r8, qword [0x1402ab7e8]
movabs r9, 0x1494a0c4e7d24e87
imul r9, qword [0x1402ab7f0]
add r9, r8
movabs r8, 0x64c8108c88142f5
add r8, r9
cmp rcx, r8
jbe 0x14007846b
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402ab7f8]
mov r9, qword [0x1402ab800]
shrd r9, r8, 0x32
movabs r8, 0xf5ed840baefd73a1
xor r8, r9
add r8, rdx
sub r8, rcx
movabs rdx, 0x73a1615f4c9a2c1
imul rdx, qword [0x1402ab808]
movabs r9, 0xc550fa79f36f0a87
imul r9, qword [0x1402ab810]
add r9, rdx
movabs rdx, 0xa48db6f41a1569b5
add rdx, r9
cmp r8, rdx
jae 0x1400798a3
movabs rdx, 0x4b299a8970a33f83
imul rdx, qword [0x1402ab818]
movabs r8, 0x1aaf5c27e5a39cb6
imul r8, qword [0x1402ab820]
add r8, rdx
movabs rdx, 0x6c5a595c2d40ec4a
add rax, rdx
add rax, r8
jmp 0x140078471
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movabs rax, 0x1229d0640962967b
imul rax, qword [0x1402ab828]
movabs rcx, 0xffe971f59e3ab69a
imul rcx, qword [0x1402ab830]
add rcx, rax
movabs rax, 0x5db7b4b59dd22c40
add rax, rcx
movabs rcx, 0x6d4503f8d2f3a301
imul rcx, qword [0x1402ab838]
movabs rdx, 0x2b263f5b49c57ebe
imul rdx, qword [0x1402ab840]
mov qword [rsi + 0x60], rax
add rdx, rcx
movabs rax, 0xbfe55a4bdab11679
add rax, rdx
mov qword [rsi + 0x68], rax
mov al, byte [0x1402ab848]
mov cl, byte [0x1402ab849]
shr cl, 2
shl al, 6
or al, cl
xor al, 0xb
mov byte [rsi + 0x50], al
mov rax, qword [rsi + 0x48]
mov rcx, qword [0x1402ab850]
mov rdx, qword [0x1402ab858]
shrd rdx, rcx, 0x22
movabs rcx, 0xc26719c4fd64673f
xor rcx, rdx
cmp rax, rcx
jbe 0x14007864c
mov rcx, qword [rsi + 0x30]
movabs rdx, 0x976e8f7317e89060
imul rdx, qword [0x1402ab860]
movabs r8, 0x79c6650c9d1c5de4
imul r8, qword [0x1402ab868]
add r8, rdx
movabs rdx, 0xd98c0ee1b9d5f9f5
add rdx, rax
add rdx, r8
movabs r8, 0xe80e0bef3d4d42d0
imul r8, qword [0x1402ab870]
movabs r9, 0xcc41d318fafbe5c9
imul r9, qword [0x1402ab878]
add r9, r8
movabs r8, 0x26813dee43b7ad4a
add r8, r9
cmp rdx, r8
jbe 0x14007863f
mov rdx, qword [rcx - 8]
mov r8, qword [0x1402ab880]
mov r9, qword [0x1402ab888]
shrd r9, r8, 0x2b
movabs r8, 0xbbcc3f2ad2e50d12
xor r8, r9
add r8, rcx
sub r8, rdx
mov rcx, qword [0x1402ab890]
mov r9, qword [0x1402ab898]
shrd r9, rcx, 0x34
movabs rcx, 0x8dca170c8b3a5743
xor rcx, r9
cmp r8, rcx
jae 0x1400798a3
movabs rcx, 0x1d7e6710799cea04
imul rcx, qword [0x1402ab8a0]
movabs r8, 0xfa9bea22cd1680bf
imul r8, qword [0x1402ab8a8]
add r8, rcx
movabs rcx, 0xc678b4cf48eaba68
add rax, rcx
add rax, r8
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movabs rax, 0x7c09227258187d46
imul rax, qword [0x1402ab8b0]
movabs rcx, 0x32b342ca45c8a851
imul rcx, qword [0x1402ab8b8]
mov r13, qword [rbp + 0xc8]
add rcx, rax
movabs rax, 0x153bf7f51bdaee7c
add rax, rcx
mov qword [rsi + 0x40], rax
movabs rax, 0x8b00a20ed6b81507
imul rax, qword [0x1402ab8c0]
movabs rcx, 0x5f1171ee92369af8
imul rcx, qword [0x1402ab8c8]
add rcx, rax
movabs rax, 0x3e32c86bf4b35ce6
add rax, rcx
mov qword [rsi + 0x48], rax
movzx eax, byte [0x1402ab8d0]
movzx ecx, byte [0x1402ab8d1]
imul eax, eax, 0xffffffc9
lea ecx, [rcx + rcx*4]
lea ecx, [rcx + rcx*4]
add cl, al
add cl, 0x8d
mov byte [rsi + 0x30], cl
mov rax, qword [rbx + 0x10]
movabs rcx, 0xf5505d0d88edefcf
imul rcx, qword [0x1402ab8d8]
movabs rdx, 0x1f5d5c948714f8f4
imul rdx, qword [0x1402ab8e0]
add rdx, rcx
movabs rcx, 0xa77154779dab836e
add rcx, rdx
and rcx, rax
mov rdx, qword [0x1402ab8e8]
mov r8, qword [0x1402ab8f0]
shrd r8, rdx, 0x37
movabs rdx, 0x7c9cbb336f198c9e
xor rdx, r8
cmp rcx, rdx
je 0x1400787a2
movabs rcx, 0xb0e92f33f9c564fe
imul rcx, qword [0x1402ab8f8]
movabs rdx, 0x1b98b09e357ab34
imul rdx, qword [0x1402ab900]
add rdx, rcx
movabs rcx, 0xc6ceb5909e47d3bd
add rcx, rdx
cmp rax, rcx
jne 0x140078e30
imul eax, dword [0x1402ab908], 0xe32b9ad2
imul ecx, dword [0x1402ab90c], 0x44f16f19
add eax, ecx
add eax, 0x544e7288
cmp dword [rbx], eax
jne 0x140078e30
nop
mov rsi, qword [rbp + 0x38]
sub rsp, 0x20
mov rcx, rsi
mov rdx, r15
mov r8, qword [rbp + 0x30]
call fcn.14007ace1
add rsp, 0x20
nop
mov rdi, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x78]
mov qword [rbp + 0x48], rsi
mov qword [rdx], rsi
mov rax, qword [rbp + 0x10]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rbx
nop
sub rsp, 0x20
mov rcx, rdi
call fcn.14007ad86
add rsp, 0x20
nop
mov rdx, qword [rbp - 0x70]
movabs rax, 0x80e2647a0f7a27d2
imul rax, qword [0x1402aba00]
movabs rcx, 0x4721aefe45746f85
imul rcx, qword [0x1402aba08]
add rcx, rax
movabs rax, 0x92ebe0c0e20fd328
add rax, rcx
mov qword [rdx], rax
nop
sub rsp, 0x20
mov qword [rbp + 0x30], rdi
mov rcx, rdi
call fcn.14007aeec
add rsp, 0x20
nop
imul ecx, dword [str.5fQB], 0x9c108648
imul edx, dword [0x1402aba14], 0x9821dd5a
add ecx, edx
add ecx, 0x3a825066
cmp eax, ecx
jne 0x140078a72
mov rax, qword [rbx + 0x10]
movabs rcx, 0x5030e31d66c7d49e
imul rcx, qword [0x1402aba18]
movabs rdx, 0x2340c3cee8c8c3ef
imul rdx, qword [0x1402aba20]
add rdx, rcx
movabs rcx, 0x3f8c511baa3cfba1
add rcx, rdx
and rcx, rax
movabs rdx, 0x584a43b05a809177
imul rdx, qword [0x1402aba28]
movabs r8, 0x6a57cf8dd5c92b74
imul r8, qword [0x1402aba30]
add r8, rdx
movabs rdx, 0xaf5a774ad38bbab8
add rdx, r8
cmp rcx, rdx
je 0x14007891c
mov rcx, qword [0x1402aba38]
mov rdx, qword [0x1402aba40]
shrd rdx, rcx, 0x22
movabs rcx, 0xd67e5c93bec1aba6
xor rcx, rdx
cmp rax, rcx
jne 0x140078a72
mov eax, dword [0x1402aba48]
mov ecx, dword [str.Z_ai_n]
shrd ecx, eax, 0x10
xor ecx, 0x51ac0a69
cmp dword [rbx], ecx
jne 0x140078a72
mov rsi, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x48]
mov qword [rdx], rax
mov qword [rdx + 8], rbx
nop
sub rsp, 0x20
mov rcx, rsi
call fcn.14007afb1
add rsp, 0x20
nop
mov rdx, qword [rbp - 0x38]
mov rax, qword [0x1402abb48]
mov rcx, qword [0x1402abb50]
shrd rcx, rax, 0xa
movabs rax, 0x63492b89152a9ecb
xor rax, rcx
mov qword [rdx], rax
nop
sub rsp, 0x20
mov qword [rbp + 0x38], rsi
mov rcx, rsi
call fcn.14007aeec
add rsp, 0x20
nop
mov ecx, dword [0x1402abb58]
mov edx, dword [0x1402abb5c]
shrd edx, ecx, 3
xor edx, 0x1207b4cd
cmp eax, edx
jne 0x140079193
mov rax, qword [str.1_a]
mov rcx, qword [0x1402abb68]
shrd rcx, rax, 0xc
mov rax, qword [rbx + 0x10]
movabs rdx, 0xd313d9660951f885
xor rdx, rcx
and rdx, rax
movabs rcx, 0xa1007e3301fde02e
imul rcx, qword [0x1402abb70]
movabs r8, 0xb6bc203be9c33434
imul r8, qword [0x1402abb78]
add r8, rcx
movabs rcx, 0x61c98d21353c99a6
add rcx, r8
cmp rdx, rcx
je 0x140078a57
movabs rcx, 0xd1849d5b6b500ae9
imul rcx, qword [0x1402abb80]
movabs rdx, 0xa96491f1a27aa574
imul rdx, qword [0x1402abb88]
add rdx, rcx
movabs rcx, 0xf66db77c7cd0ff80
add rcx, rdx
cmp rax, rcx
jne 0x140079193
mov eax, dword [0x1402abb90]
mov ecx, dword [0x1402abb94]
shrd ecx, eax, 0xa
xor ecx, 0x3c3202a9
cmp dword [rbx], ecx
jne 0x140079193
mov rsi, qword [rbp + 0x48]
mov rax, qword [rsi]
mov qword [rsi], 0
mov rbx, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x30]
jmp 0x1400795b7
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
nop
sub rsp, 0x20
call fcn.1400a28cd
add rsp, 0x20
nop
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x6b8], 0
je 0x1400797f0
mov rbx, qword [rbp - 0x68]
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdx, [rax + 0x695]
mov al, byte [0x1402aba51]
mov cl, byte [0x1402aba52]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x3d
cmp byte [rdx + 0x1f], al
mov qword [rbp + 0x38], rbx
je 0x140078c0e
movabs rax, 0xaa3bef2818f1b7ae
movabs r8, 0x4fda827f6eaf6b85
movabs r9, 0x51d18c4b737e1bf3
movabs r10, 0x156b96572fa122f0
movabs r11, 0xfdaeada3a9458ada
movabs rsi, 0xf0a5c69c6dc7ad79
movabs rdi, 0x39dbc5adff09e31e
movabs rbx, 0x7169221d2077e54c
movabs r14, 0xd9e39069eeef25a1
xor r15d, r15d
imul ecx, dword [0x1402aba58], 0xe56540de
imul r13d, dword [0x1402aba60], 0xe09baa3d
add r13d, ecx
mov ecx, r13d
add cl, 0xa2
mov r13, r15
shl r13, cl
mov ecx, dword [0x1402aba68]
shr ecx, 0xd
xor ecx, 0x32
and r13d, ecx
mov rcx, qword [0x1402aba70]
imul rcx, rax
mov r12, qword [0x1402aba78]
imul r12, r8
add r12, rcx
add r12, r9
mov ecx, r13d
shr r12, cl
mov ecx, r12d
xor byte [rdx + r15], r12b
mov rcx, qword [0x1402aba80]
imul rcx, r10
mov r12, qword [0x1402aba88]
imul r12, r11
add r12, rcx
add r15, rsi
add r15, r12
mov rcx, qword [0x1402aba90]
imul rcx, rdi
mov r12, qword [0x1402aba98]
imul r12, rbx
add r12, rcx
add r12, r14
cmp r15, r12
jne 0x140078b45
movzx eax, byte [reloc.WS2_32.dll_shutdown]
mov cl, byte [0x1402abaa1]
imul eax, eax, 0xffffffc9
shl cl, 6
sub al, cl
add al, 0x7a
mov byte [rdx + 0x1f], al
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp + 0xc8]
mov rbx, qword [rbp + 0x38]
nop
sub rsp, 0x20
mov rcx, rbx
call fcn.14007a28a
add rsp, 0x20
nop
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x40]
mov qword [rdx], rax
lea rsi, [0x14008e750]
mov qword [rdx + 8], rsi
lea rdi, [0x14008e751]
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
mov rcx, rbx
call fcn.14008bbec
add rsp, 0x20
nop
mov rbx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rcx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rdx], rax
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
call fcn.14008bbec
add rsp, 0x20
nop
nop
mov rdx, rbx
mov rcx, rax
sub rsp, 0x20
mov qword [rbp + 0x28], rbx
call fcn.14008e756
add rsp, 0x20
nop
mov eax, dword [0x1402abaa4]
mov ecx, dword [str.Go_i]
shrd ecx, eax, 0x1e
xor ecx, 0x5e6d9a2b
mov dword [r13], ecx
mov rcx, r13
add rcx, 8
cmp rcx, rbx
je 0x140078d01
mov r9, qword [rbp + 0x28]
mov r8, qword [r9 + 0x10]
mov rax, qword [0x1402abab0]
mov rdx, qword [0x1402abab8]
shrd rdx, rax, 0x16
movabs rax, 0x621f8a4dc79641c3
xor rax, rdx
mov rdx, r9
cmp qword [r9 + 0x18], rax
jbe 0x140078cf2
mov rdx, qword [r9]
nop
sub rsp, 0x20
call fcn.140002e0c
add rsp, 0x20
nop
mov r14, qword [rbp + 0x28]
mov rax, qword [r14 + 0x18]
mov rcx, qword [0x1402abac0]
mov rdx, qword [str._I]
shrd rdx, rcx, 0x11
movabs rcx, 0x7bd74ccfa4945ce6
xor rcx, rdx
cmp rax, rcx
mov rbx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x30]
jbe 0x1400795e7
mov rdx, qword [r14]
movabs rcx, 0x169223038df2335b
imul rcx, qword [0x1402abad0]
movabs r8, 0x8cfeea6df6290bc
imul r8, qword [0x1402abad8]
add r8, rcx
movabs rcx, 0x3f1a886efb385cd1
add rcx, rax
add rcx, r8
mov r8, qword [0x1402abae0]
mov r9, qword [0x1402abae8]
shrd r9, r8, 0x3e
movabs r8, 0x5742c4d510cd3dfc
xor r8, r9
cmp rcx, r8
jbe 0x1400795d1
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402abaf0]
mov r9, qword [0x1402abaf8]
shrd r9, r8, 0x18
movabs r8, 0xa9735a08e10b2071
xor r8, r9
add r8, rdx
sub r8, rcx
mov rdx, qword [0x1402abb00]
mov r9, qword [0x1402abb08]
shrd r9, rdx, 8
movabs rdx, 0xe0618bbf1e9dbe62
xor rdx, r9
cmp r8, rdx
jae 0x1400798a3
movabs rdx, 0x5fb44c69756984ae
imul rdx, qword [0x1402abb10]
movabs r8, 0x56d5bed5f7d8dc30
imul r8, qword [0x1402abb18]
add r8, rdx
movabs rdx, 0x58875829225e78f6
add rax, rdx
add rax, r8
jmp 0x1400795d7
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x694], 0
je 0x140079830
mov r15, qword [rbp - 0x28]
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdx, [rax + 0x675]
mov al, byte [0x1402ab911]
mov cl, byte [0x1402ab912]
shr cl, 4
shl al, 4
or al, cl
xor al, 0xd5
cmp byte [rdx + 0x1c], al
je 0x140078f5d
mov eax, 0xc4
movabs r8, 0x88e22cb79c2f4b11
movabs r9, 0x4e17b6699bb2897c
movabs r10, 0x8783ed57f2a127eb
movabs r11, 0x742c99fe4f119e7d
movabs rsi, 0xa8325f7fe6af0da3
xor edi, edi
mov ecx, dword [str.W_f4_I]
shr ecx, 0xd
xor cl, 0xf3
mov rbx, rdi
shl rbx, cl
mov ecx, dword [0x1402ab924]
xor ecx, eax
and ebx, ecx
mov rcx, qword [0x1402ab928]
imul rcx, r8
mov r14, qword [0x1402ab930]
imul r14, r9
add r14, rcx
add r14, r10
mov ecx, ebx
shr r14, cl
mov ecx, r14d
xor byte [rdx + rdi], r14b
mov rcx, qword [0x1402ab938]
mov rbx, qword [0x1402ab940]
shrd rbx, rcx, 0x30
xor rbx, r11
add rbx, rdi
mov rcx, qword [0x1402ab948]
mov rdi, qword [0x1402ab950]
shrd rdi, rcx, 0x14
mov rcx, rdi
xor rcx, rsi
mov rdi, rbx
cmp rbx, rcx
jne 0x140078ec6
mov al, byte [0x1402ab958]
mov cl, byte [0x1402ab959]
shr cl, 3
shl al, 5
or al, cl
xor al, 0xe7
mov byte [rdx + 0x1c], al
nop
sub rsp, 0x20
mov rcx, r15
call fcn.14007a28a
add rsp, 0x20
nop
mov rbx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x40]
mov qword [rdx], rax
lea rsi, [0x14008e750]
mov qword [rdx + 8], rsi
lea rdi, [0x14008e751]
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
mov qword [rbp + 0x40], r15
mov rcx, r15
call fcn.14008bbec
add rsp, 0x20
nop
mov rdx, qword [rbp - 0x18]
mov rcx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rdx], rax
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
call fcn.14008bbec
add rsp, 0x20
nop
nop
mov rdx, rbx
mov rcx, rax
sub rsp, 0x20
mov qword [rbp + 0x48], rbx
call fcn.14008e756
add rsp, 0x20
nop
mov eax, dword [0x1402ab95c]
mov ecx, dword [0x1402ab960]
shrd ecx, eax, 7
xor ecx, 0xe747b310
mov dword [r13], ecx
mov rcx, r13
add rcx, 8
cmp rcx, rbx
je 0x140079054
mov r9, qword [rbp + 0x48]
mov r8, qword [r9 + 0x10]
mov rax, qword [0x1402ab968]
mov rdx, qword [0x1402ab970]
shrd rdx, rax, 0x1e
movabs rax, 0xa57b5755407b04c4
xor rax, rdx
mov rdx, r9
cmp qword [r9 + 0x18], rax
jbe 0x140079045
mov rdx, qword [r9]
nop
sub rsp, 0x20
call fcn.140002e0c
add rsp, 0x20
nop
mov rdi, qword [rbp + 0x48]
mov rax, qword [rdi + 0x18]
mov rcx, qword [0x1402ab978]
mov rdx, qword [str.G__]
shrd rdx, rcx, 0x3a
movabs rcx, 0x1d0c18ffc2fb4643
xor rcx, rdx
cmp rax, rcx
mov rbx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x40]
jbe 0x1400796d2
mov rcx, qword [0x1402ab988]
mov r8, qword [0x1402ab990]
shrd r8, rcx, 0x2b
mov rdx, qword [rdi]
movabs rcx, 0xb38f626b941486d9
xor rcx, r8
add rcx, rax
movabs r8, 0x3e36bb7fe67c4cd7
imul r8, qword [0x1402ab998]
movabs r9, 0x824c15ee5612f976
imul r9, qword [0x1402ab9a0]
add r9, r8
movabs r8, 0x474cf3aa5aeba8ca
add r8, r9
cmp rcx, r8
jbe 0x1400796bc
mov rcx, qword [rdx - 8]
movabs r8, 0x6d13ef7d6936150c
imul r8, qword [0x1402ab9a8]
movabs r9, 0xa790f743300e0875
imul r9, qword [0x1402ab9b0]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xa735fb7e2e172c1a
add rdx, r9
mov r8, qword [0x1402ab9b8]
mov r9, qword [0x1402ab9c0]
shrd r9, r8, 0x3a
movabs r8, 0x5a485d10ba1ddc50
xor r8, r9
cmp rdx, r8
jae 0x1400798a3
movabs rdx, 0xba8d11af5bc18b4e
imul rdx, qword [0x1402ab9c8]
movabs r8, 0xe7749835f4252e81
imul r8, qword [0x1402ab9d0]
add r8, rdx
movabs rdx, 0x56e132aab4d27567
add rax, rdx
add rax, r8
jmp 0x1400796c2
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
nop
sub rsp, 0x20
call fcn.1400a28cd
add rsp, 0x20
nop
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x6e0], 0
je 0x140079870
mov rbx, qword [rbp - 0x10]
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdx, [rax + 0x6b9]
movzx eax, byte [0x1402abb98]
movzx ecx, byte [0x1402abb99]
mov r8d, eax
shl r8d, 7
sub r8d, eax
mov eax, r8d
shl ecx, 2
lea ecx, [rcx + rcx*4]
neg ecx
add cl, r8b
add cl, 0x29
cmp byte [rdx + 0x23], cl
je 0x1400792e4
movabs rax, 0x34da1ffb68086a48
movabs r8, 0x3ec9fa1ec3b4e8b2
movabs r9, 0x90b13821abd74f17
xor r10d, r10d
mov cl, byte [0x1402abba2]
xor cl, 0x93
mov r11, r10
shl r11, cl
imul ecx, dword [0x1402abba8], 0x67e75a99
imul esi, dword [0x1402abbb0], 0x6bb8de6c
add ecx, esi
add ecx, 0xd3846f7f
and r11d, ecx
mov rcx, qword [0x1402abbb8]
mov rsi, qword [0x1402abbc0]
shrd rsi, rcx, 0x38
xor rsi, rax
mov ecx, r11d
shr rsi, cl
mov ecx, esi
xor byte [rdx + r10], sil
mov rcx, qword [0x1402abbc8]
mov r11, qword [0x1402abbd0]
shrd r11, rcx, 0x28
xor r11, r8
add r11, r10
mov rcx, qword [0x1402abbd8]
mov r10, qword [0x1402abbe0]
shrd r10, rcx, 9
mov rcx, r10
xor rcx, r9
mov r10, r11
cmp r11, rcx
jne 0x14007923a
movzx eax, byte [0x1402abbe8]
movzx ecx, byte [0x1402abbe9]
imul eax, eax, 0x66
imul ecx, ecx, 0x23
add cl, al
add cl, 0x27
mov byte [rdx + 0x23], cl
nop
sub rsp, 0x20
mov rcx, rbx
call fcn.14007a28a
add rsp, 0x20
nop
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x40]
mov qword [rdx], rax
lea rsi, [0x14008e750]
mov qword [rdx + 8], rsi
lea rdi, [0x14008e751]
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
mov qword [rbp + 0x18], rbx
mov rcx, rbx
call fcn.14008bbec
add rsp, 0x20
nop
mov rbx, qword [rbp]
mov rdx, qword [rbp + 8]
mov rcx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rdx], rax
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], rdi
nop
sub rsp, 0x20
call fcn.14008bbec
add rsp, 0x20
nop
nop
mov rdx, rbx
mov rcx, rax
sub rsp, 0x20
mov qword [rbp + 0x40], rbx
call fcn.14008e756
add rsp, 0x20
nop
mov eax, dword [0x1402abbec]
mov ecx, dword [0x1402abbf0]
shrd ecx, eax, 0x1c
xor ecx, 0xadb2944e
mov dword [r13], ecx
mov rcx, r13
add rcx, 8
cmp rcx, rbx
je 0x1400793ef
mov r9, qword [rbp + 0x40]
mov r8, qword [r9 + 0x10]
movabs rax, 0xaa16de1d55b0136a
imul rax, qword [0x1402abbf8]
movabs rdx, 0x8ffe65bfd283370b
imul rdx, qword [0x1402abc00]
add rdx, rax
movabs rax, 0x2c32d1e1e72eedbd
add rax, rdx
mov rdx, r9
cmp qword [r9 + 0x18], rax
jbe 0x1400793e0
mov rdx, qword [r9]
nop
sub rsp, 0x20
call fcn.140002e0c
add rsp, 0x20
nop
mov r14, qword [rbp + 0x40]
mov rax, qword [r14 + 0x18]
mov rcx, qword [0x1402abc08]
mov rdx, qword [0x1402abc10]
shrd rdx, rcx, 0x37
movabs rcx, 0xc00c463239b48841
xor rcx, rdx
cmp rax, rcx
mov rbx, qword [rbp + 0x20]
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x30]
jbe 0x14007952c
mov rcx, qword [r14]
movabs rdx, 0xc27808d115f06691
imul rdx, qword [0x1402abc18]
movabs r8, 0xd06dc7e399793075
imul r8, qword [0x1402abc20]
add r8, rdx
movabs rdx, 0x1e40893c6bafc649
add rdx, rax
add rdx, r8
mov r8, qword [0x1402abc28]
mov r9, qword [0x1402abc30]
shrd r9, r8, 4
movabs r8, 0x409cb6a72bff6cec
xor r8, r9
cmp rdx, r8
jbe 0x14007951f
mov rdx, qword [rcx - 8]
movabs r8, 0x9fbcbdf6fcf40b4c
imul r8, qword [0x1402abc38]
movabs r9, 0xe353f1eb184bac98
imul r9, qword [0x1402abc40]
add r9, r8
add r9, rcx
sub r9, rdx
movabs rcx, 0x1ef76a543ef646dc
add rcx, r9
mov r8, qword [0x1402abc48]
mov r9, qword [0x1402abc50]
shrd r9, r8, 0xf
movabs r8, 0x7c86a09aa1173d8d
xor r8, r9
cmp rcx, r8
jae 0x1400798a3
mov rcx, qword [0x1402abc58]
mov r8, qword [0x1402abc60]
shrd r8, rcx, 0xe
movabs rcx, 0x169f5dc0522b16de
xor rcx, r8
add rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movabs rax, 0x99d979fc430ff1ab
imul rax, qword [0x1402abc68]
movabs rcx, 0xf08674048612ebad
imul rcx, qword [0x1402abc70]
add rcx, rax
movabs rax, 0x84d678dd6546ff3f
add rax, rcx
mov rcx, qword [0x1402abc78]
mov rdx, qword [0x1402abc80]
shrd rdx, rcx, 0x13
mov qword [r14 + 0x10], rax
movabs rax, 0xbea173ea1b890d1f
xor rax, rdx
mov qword [r14 + 0x18], rax
movzx eax, byte [0x1402abc88]
movzx ecx, byte [0x1402abc89]
imul eax, eax, 0xffffffd4
imul ecx, ecx, 0x56
add cl, al
add cl, 0x98
mov byte [r14], cl
sub rsp, 0x20
mov rcx, qword [rbp + 0x18]
call fcn.14007a8cc
add rsp, 0x20
xor eax, eax
mov qword [r12], rax
sub rsp, 0x20
mov rcx, qword [rbp + 0x38]
call fcn.14007b102
add rsp, 0x20
jmp 0x14007966e
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [0x1402abb20]
mov rcx, qword [0x1402abb28]
shrd rcx, rax, 0x3f
movabs rax, 0xee96f90756b0ce74
xor rax, rcx
mov rcx, qword [0x1402abb30]
mov rdx, qword [0x1402abb38]
shrd rdx, rcx, 0xf
mov qword [r14 + 0x10], rax
movabs rax, 0xbcf19212ca646386
xor rax, rdx
mov qword [r14 + 0x18], rax
movzx eax, byte [0x1402abb40]
movzx ecx, byte [0x1402abb41]
lea eax, [rax + rax*4]
neg eax
mov edx, ecx
add ecx, ecx
shl edx, 4
sub edx, ecx
mov ecx, edx
add cl, al
add cl, 0x72
mov byte [r14], cl
sub rsp, 0x20
mov rcx, qword [rbp + 0x38]
call fcn.14007a8cc
add rsp, 0x20
mov qword [r12], 0
sub rsp, 0x20
mov rcx, rdi
call fcn.14007b102
add rsp, 0x20
mov rdi, qword [rsi]
test rdi, rdi
je 0x14007974d
lea rcx, [rdi + 0xa8]
sub rsp, 0x20
call fcn.14003c0e4
add rsp, 0x20
lea rcx, [rdi + 8]
sub rsp, 0x20
call fcn.14003d088
mov rcx, rdi
call fcn.1400d8834
add rsp, 0x20
jmp 0x14007974d
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
mov rax, qword [0x1402ab9d8]
mov rcx, qword [0x1402ab9e0]
shrd rcx, rax, 0x27
movabs rax, 0x432ad4a15cf8c3f8
xor rax, rcx
mov rcx, qword [0x1402ab9e8]
mov rdx, qword [0x1402ab9f0]
shrd rdx, rcx, 0x1b
mov qword [rdi + 0x10], rax
movabs rax, 0xcca0e239a9e70d0c
xor rax, rdx
mov qword [rdi + 0x18], rax
movzx eax, byte [0x1402ab9f8]
movzx ecx, byte [0x1402ab9f9]
imul eax, eax, 0xffffffe6
imul ecx, ecx, 0xfffffff2
add cl, al
add cl, 0x6a
mov byte [rdi], cl
sub rsp, 0x20
mov rcx, rsi
call fcn.14007a8cc
add rsp, 0x20
mov qword [r12], 0
mov rsi, r12
mov rax, qword [rbp + 0x10]
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1400797cc
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
imul ecx, dword [0x1402abc8c], 0x8aa2a4a6
imul edx, dword [0x1402abc90], 0x6031a360
add ecx, edx
add ecx, 0x23248979
cmp eax, ecx
jne 0x1400797cc
mov rax, qword [rdi]
sub rsp, 0x20
mov rcx, rdi
call qword [rax]
add rsp, 0x20
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
mov ecx, dword [0x1402abc94]
mov edx, dword [0x1402abc98]
shrd edx, ecx, 0x18
xor edx, 0xfe43152c
cmp eax, edx
jne 0x1400797cc
mov rax, qword [rdi]
sub rsp, 0x20
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x20
sub rsp, 0x20
mov rcx, rbx
call fcn.1400814d0
add rsp, 0x20
mov rax, rsi
lea rsp, [rbp + 0x58]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov al, byte [0x1402c07b9]
add al, byte [0x1402aba50]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and al, 1
mov byte [rcx + 0x6b8], al
sub rsp, 0x20
lea rcx, [0x14007cc8f]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140078aa8
mov al, byte [0x1402ab910]
add al, byte [0x1402c07b8]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and al, 1
mov byte [rcx + 0x694], al
sub rsp, 0x20
lea rcx, [0x14007b60b]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140078e50
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x6e0], 1
sub rsp, 0x20
lea rcx, [0x14007cd4e]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x1400791c9
sub rsp, 0x20
call fcn.1401aec6c
int3