Function at 0x1400365b0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
movsd qword [rbp - 0x61], xmm0
mov edi, r8d
mov rbx, qword [rbp - 0x61]
mov r11d, edx
mov rcx, rbx
movaps xmm1, xmm0
shr rcx, 0x20
test ecx, ecx
jns 0x1400365fb
mov esi, ecx
btr esi, 0x1f
mov dword [rbp - 0x5d], esi
mov rbx, qword [rbp - 0x61]
movsd xmm1, qword [rbp - 0x61]
jmp 0x1400365fe
mov esi, dword [rbp - 0x5d]
mov rax, qword [rbp + 0x67]
shr ecx, 0x1f
mov qword [rsp + 0xc0], r15
mov dword [rax], ecx
mov eax, esi
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x1400366e0
cmp dword [rbp - 0x61], 0
mov dword [r9], 0x270f
jne 0x140036692
test esi, 0xfffff
jne 0x140036692
mov r15, qword [rbp + 0x77]
test r15, r15
jne 0x140036682
lea ecx, [r15 + 8]
call fcn.1400364b0
mov r15, rax
lea rdx, str.Infinity
mov byte [r15], 0x49
sub rdx, r15
mov rcx, r15
nop dword [rax]
movzx eax, byte [rdx + rcx + 1]
inc rcx
mov byte [rcx], al
test al, al
jne 0x140036660
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x14003667a
mov qword [rax], rcx
mov rax, r15
jmp 0x140037c46
cmp qword [rbp + 0x7f], 8
ja 0x14003664b
xor r15d, r15d
lea ecx, [r15 + 8]
jmp 0x14003666e
mov r15, qword [rbp + 0x77]
test r15, r15
jne 0x1400366d0
lea ecx, [r15 + 3]
call fcn.1400364b0
mov r15, rax
lea rdx, [0x140094bc4]
mov byte [r15], 0x4e
sub rdx, r15
mov rcx, r15
nop dword [rax + rax]
movzx eax, byte [rdx + rcx + 1]
inc rcx
mov byte [rcx], al
test al, al
jne 0x1400366c0
jmp 0x14003666e
cmp qword [rbp + 0x7f], 3
ja 0x1400366a7
xor r15d, r15d
lea ecx, [r15 + 3]
jmp 0x14003666e
xorps xmm0, xmm0
mov qword [rsp + 0x108], r12
ucomisd xmm1, xmm0
jp 0x140036751
jne 0x140036751
mov r15, qword [rbp + 0x77]
mov r12d, 1
mov dword [r9], r12d
test r15, r15
jne 0x140036746
mov ecx, r12d
call fcn.1400364b0
mov r15, rax
lea rcx, [0x14008f978]
mov byte [r15], 0x30
sub rcx, r15
mov r12, r15
movzx eax, byte [rcx + r12 + 1]
inc r12
mov byte [r12], al
test al, al
jne 0x140036721
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x14003673e
mov qword [rax], r12
mov rax, r15
jmp 0x140037c3e
cmp qword [rbp + 0x7f], r12
ja 0x140036710
xor r15d, r15d
jmp 0x140036732
mov r10, rbx
mov qword [rsp + 0xd0], r13
shr rbx, 0x34
movabs rax, 0xfffffffffffff
and r10, rax
mov dword [rsp + 0x30], ebx
shl r10, 0xb
xor r15d, r15d
mov r12d, 1
test ebx, ebx
je 0x1400367a0
movabs rax, 0x8000000000000000
mov dword [rbp - 0x4d], r15d
or r10, rax
mov dword [rbp - 0x79], r15d
mov qword [rbp + 0x47], r10
jmp 0x140036866
add r10, r10
mov dword [rbp - 0x79], r12d
movabs rcx, 0xffffffff00000000
mov qword [rbp + 0x47], r10
lea edi, [rbx + 1]
mov eax, ebx
test rcx, r10
jne 0x1400367d0
lea eax, [rbx - 0x20]
shl r10, 0x20
mov qword [rbp + 0x47], r10
mov ebx, eax
mov dword [rsp + 0x30], eax
movabs rcx, 0xffff000000000000
test rcx, r10
jne 0x1400367f0
shl r10, 0x10
add eax, 0xfffffff0
mov qword [rbp + 0x47], r10
mov ebx, eax
mov dword [rsp + 0x30], eax
movabs rcx, 0xff00000000000000
test rcx, r10
jne 0x140036810
shl r10, 8
add eax, 0xfffffff8
mov qword [rbp + 0x47], r10
mov ebx, eax
mov dword [rsp + 0x30], eax
movabs rcx, 0xf000000000000000
test rcx, r10
jne 0x14003682e
shl r10, 4
lea ebx, [rax - 4]
mov qword [rbp + 0x47], r10
mov dword [rsp + 0x30], ebx
movabs rax, 0xc000000000000000
test rax, r10
jne 0x14003684c
shl r10, 2
sub ebx, 2
mov qword [rbp + 0x47], r10
mov dword [rsp + 0x30], ebx
test r10, r10
js 0x14003685e
add r10, r10
dec ebx
mov qword [rbp + 0x47], r10
mov dword [rsp + 0x30], ebx
sub edi, ebx
mov dword [rbp - 0x4d], edi
mov edi, dword [rbp + 0x57]
lea eax, [rbx + 0x33]
mov r8d, r10d
movsxd rcx, eax
lea edx, [rbx - 0x3fe]
lea rax, [0x140000000]
mov qword [rbp - 0x19], r8
mov r13, r10
shr r13, 0x20
movsx r9, word [rax + rcx*2 + 0x90c70]
lea rcx, [0x1400a4e60]
mov rax, r9
mov dword [rsp + 0x38], r9d
shl rax, 4
add rax, rcx
cmp edx, dword [rax + 0xc]
jl 0x1400368be
jne 0x1400368c6
mov ecx, dword [rax]
cmp r13, rcx
jb 0x1400368be
jne 0x1400368c6
mov eax, dword [rax + 4]
cmp r8, rax
jae 0x1400368c6
dec r9d
mov dword [rsp + 0x38], r9d
add r9d, 0xfffffeaa
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0x20], r9d
mov r14d, r12d
mov dword [rbp - 0x51], r12d
mov dword [rsp + 0x2c], 0xffffffff
cmp r11d, 9
ja 0x140036951
cmp r11d, 5
lea eax, [r11 - 4]
cmovle eax, r11d
movsxd rcx, eax
mov dword [rbp - 0x31], eax
mov dword [rbp - 0x69], ecx
cmp ecx, 5
ja case.default.0x14003691b
lea r11, [0x140000000]
mov ecx, dword [r11 + rcx*4 + 0x37c5c]
add rcx, r11
jmp rcx
mov r14d, r15d
mov dword [rbp - 0x51], r15d
test edi, edi
mov eax, r12d
cmovg eax, edi
mov dword [rbp + 0x57], eax
mov edx, eax
mov dword [rsp + 0x2c], eax
jmp case.default.0x14003691b
mov r14d, r15d
mov dword [rbp - 0x51], r15d
lea edx, [rdi + 1]
add edx, r9d
mov dword [rsp + 0x2c], edx
test edx, edx
jg case.default.0x14003691b
mov edx, r12d
jmp case.default.0x14003691b
mov dword [rbp - 0x31], r15d
mov dword [rbp - 0x69], r15d
mov edx, shutdown
mov dword [rbp + 0x57], r15d
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x59], rax
test rax, rax
jne 0x1400369ec
mov ecx, edx
call fcn.1400364b0
mov r10, qword [rbp + 0x47]
mov r8, qword [rbp - 0x19]
mov qword [rbp - 0x59], rax
mov ecx, dword [rbp - 0x69]
mov rdi, rax
mov eax, r15d
mov dword [rsp + 0x34], eax
cmp ecx, 2
jl 0x140036999
test r14d, r14d
je 0x1400369b4
cmp dword [rbp - 0x61], eax
jne 0x1400369b4
test esi, 0xfffff
jne 0x1400369b4
test esi, 0x7fe00000
cmovne eax, r12d
mov dword [rsp + 0x34], eax
movsxd rdx, dword [rsp + 0x2c]
mov r14, r15
test edx, edx
jns 0x140036a08
lea eax, [rcx - 3]
test eax, 0xfffffffd
jne 0x140036a08
mov eax, dword [rbp + 0x57]
mov r13, r15
mov rbx, qword [rbp + 0x47]
not eax
mov rdi, qword [rbp - 0x59]
mov dword [rsp + 0x20], eax
mov qword [rbp - 0x79], r15
mov qword [rsp + 0x38], rbx
jmp 0x140037b08
movsxd rcx, edx
cmp qword [rbp + 0x7f], rcx
ja 0x140036982
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140036a01
mov qword [rax], rcx
xor eax, eax
jmp 0x140037c2e
mov ecx, dword [rsp + 0x20]
mov r11d, 0x433
sub r11d, ebx
mov dword [rbp - 0x45], r15d
mov dword [rbp - 0x41], r11d
mov r9d, r12d
mov qword [rbp - 0x29], rdx
test ecx, ecx
jns 0x140036afd
cmp ecx, 0xffffffe7
jl 0x140036b49
mov eax, ecx
mov rsi, r10
not eax
shr rsi, 0xb
movsxd rdx, eax
lea rax, [0x140000000]
mov eax, dword [rax + rdx*4 + 0x91d00]
add eax, 0x35
cmp eax, 0x3d
jle 0x140036a80
lea ecx, [rax - 0x3d]
mov rax, r12
shl rax, cl
dec rax
mov dword [rbp - 0x45], ecx
mov qword [rbp - 0x21], rax
test rsi, rax
jne 0x140036b53
sub r11d, ecx
mov r10d, ecx
shr rsi, cl
jmp 0x140036a8b
mov rax, qword [rbp + 0x47]
mov r10d, r14d
mov qword [rbp - 0x21], rax
lea rax, [0x140000000]
mov rax, qword [rax + rdx*8 + 0x91d70]
imul rsi, rax
mov rbx, rax
test r10d, r10d
je 0x140036aac
mov ecx, r10d
shr rbx, cl
add r11d, dword [rsp + 0x20]
cmp dword [rsp + 0x2c], r14d
jne 0x140036aee
mov ecx, r11d
mov qword [rbp - 0x79], r15
mov eax, 5
mov r13, r15
shl rax, cl
cmp rsi, rax
ja 0x140036c99
mov rdx, qword [rbp + 0x47]
mov qword [rsp + 0x38], rdx
mov eax, dword [rbp + 0x57]
mov rdi, qword [rbp - 0x59]
not eax
mov dword [rsp + 0x20], eax
jmp 0x140037b08
test r10d, r10d
cmove rax, r15
mov r15, rax
jmp 0x14003721e
lea eax, [rcx + r11]
test edx, edx
jne 0x140036b33
test eax, eax
js 0x140036b33
movsxd rax, dword [rsp + 0x38]
lea rdx, [0x140000000]
mov ecx, r11d
shr r10, 0xb
mov r13, r15
mov qword [rbp - 0x79], r15
mov rdx, qword [rdx + rax*8 + 0x912b8]
shl rdx, cl
cmp r10, rdx
jmp 0x140036acd
cmp ecx, 2
jg 0x140036b49
test eax, eax
js 0x140036b49
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x21], rax
jmp 0x140037050
mov rax, qword [rbp + 0x47]
mov qword [rbp - 0x21], rax
jmp 0x140036b5b
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x20]
cmp edx, 0x1c
jg 0x140037544
mov eax, 0x156
sub eax, ecx
movsxd rsi, eax
lea rax, [0x1400a4e60]
shl rsi, 4
add rsi, rax
mov qword [rbp - 9], rsi
mov edx, dword [rsi + 8]
mov r9d, dword [rsi + 4]
mov ecx, edx
mov r11d, dword [rsi]
mov eax, r9d
imul rax, r8
imul rcx, r8
imul rdx, r13
shr rcx, 0x20
add rcx, rax
mov eax, ecx
shr rcx, 0x20
add rdx, rax
mov eax, r11d
imul rax, r8
shr rdx, 0x20
mov r8d, r11d
add rdx, rax
add rdx, rcx
mov ecx, r9d
mov eax, edx
imul rcx, r13
imul r8, r13
add rcx, rax
shr rdx, 0x20
mov rax, rcx
mov qword [rbp - 0x19], rcx
shr rax, 0x20
add r8, rax
mov eax, dword [rsi + 0xc]
add r8, rdx
lea eax, [rax - 0x3fe]
lea eax, [rax + rbx]
mov ebx, dword [rbp - 0x4d]
mov dword [rsp + 0x30], eax
mov edx, eax
lea ebx, [rbx - 0x36]
lea ebx, [rbx + rax]
mov dword [rbp + 0x47], ebx
mov esi, ebx
mov dword [rsp + 0x24], ebx
js 0x140036c29
add rcx, rcx
lea edx, [rax - 1]
mov qword [rbp - 0x19], rcx
lea rax, [r8 + r8]
shr rcx, 0x20
and ecx, r12d
mov dword [rsp + 0x30], edx
mov r8d, ecx
or r8, rax
mov r13d, dword [rsp + 0x2c]
mov eax, 4
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x11], r8
cmp r13d, 0x13
jg 0x140036e07
sub eax, edx
shr r9, 3
shl r11, 0x1d
movzx ecx, al
shr r8, cl
or r9, r11
test r13d, r13d
jne 0x140036cb6
movabs rcx, 0x7fffffffffffffe
test rcx, r8
je 0x140037544
mov rax, r8
not rax
test rcx, rax
je 0x140037544
movabs rax, 0x5000000000000000
mov qword [rbp - 0x79], r15
mov r13, r15
cmp r8, rax
jb 0x140036ad3
mov rax, qword [rbp - 0x59]
mov rdx, qword [rbp + 0x47]
inc dword [rsp + 0x20]
mov qword [rsp + 0x38], rdx
mov byte [rax], 0x31
lea rdi, [rax + 1]
jmp 0x140037b08
mov ecx, ebx
lea eax, [rbx + 0x3f]
neg ecx
mov dword [rbp - 0x49], eax
mov r13d, r12d
mov dword [rbp - 0x6d], ecx
mov r11, r12
lea edx, [rbx - 1]
sub r13d, ebx
mov ebx, r11d
mov rax, r8
mov dword [rbp - 0x71], edx
shr rax, 0x3c
add al, 0x30
mov byte [rdi], al
movabs rax, 0xfffffffffffffff
and r8, rax
inc rdi
cmp qword [rbp - 0x29], r14
jge 0x140036f42
movabs rdx, 0x1000000000000000
sub rdx, r8
test esi, esi
jle 0x140036da0
mov ecx, dword [rbp - 0x71]
mov rsi, r9
shl rsi, cl
cmp r8, rdx
ja 0x140036d86
sub rdx, r11
lea rax, [r11 + r8]
cmp rax, rdx
ja 0x140036e04
cmp r8, rsi
jb 0x140037bbc
mov ecx, dword [rbp - 0x6d]
mov edx, dword [rbp - 0x71]
mov esi, dword [rsp + 0x24]
lea rax, [r11 + r11*4]
lea r11, [rax + rax]
movabs rax, 0x1000000000000000
cmp r11, rax
jae 0x140036e04
lea r9, [r9 + r9*4]
lea rax, [r8 + r8*4]
lea r8, [rax + rax]
test r9, r9
jns 0x140036fa1
add dword [rbp - 0x49], 4
add esi, 4
add edx, 4
sub ecx, 4
sub r13d, 4
jmp 0x140036fb2
mov rcx, r8
lea rax, [r11 + rdx]
sub rcx, r11
cmp rcx, rax
jbe 0x140036e04
cmp rdx, rsi
jb 0x14003744e
jmp 0x140036d36
mov ecx, dword [rbp - 0x49]
mov rsi, r12
shl rsi, cl
neg rsi
test r8, rsi
jne 0x140036dd6
mov ecx, r13d
mov rax, r8
shl rax, cl
cmp rax, r9
jae 0x140036dd6
cmp dword [rsp + 0x34], r14d
je 0x140036fd8
add rax, rax
cmp rax, r9
jb 0x140036fd8
test rdx, rsi
jne 0x140036d36
mov ecx, dword [rbp - 0x6d]
mov rax, rdx
shl rax, cl
cmp rax, r9
jae 0x140036d39
mov ecx, r12d
sub ecx, dword [rsp + 0x24]
shl rdx, cl
cmp rdx, r9
jb 0x14003744e
mov ebx, dword [rbp + 0x47]
mov r8, qword [rbp - 0x11]
mov edx, 4
sub edx, dword [rsp + 0x30]
mov r9, r8
mov rdi, qword [rbp - 0x59]
mov ecx, edx
mov esi, dword [rbp - 0x19]
shr r9, cl
test edx, edx
je 0x140036e42
mov eax, esi
mov ecx, 0x40
sub ecx, edx
shl r8, cl
mov ecx, edx
shr r8, 0x20
mov rsi, r8
shr rax, cl
or rsi, rax
mov rax, qword [rbp - 9]
lea r13d, [rbx + 0x1f]
lea edx, [rbx + 0x3c]
mov ecx, r12d
mov ebx, r12d
mov dword [rsp + 0x38], ecx
sub ebx, dword [rbp + 0x47]
mov r11d, 0xffffffe1
mov r8d, dword [rax]
mov r10, r15
mov eax, dword [rax + 4]
shr rax, 3
shl r8, 0x1d
or r8, rax
sub r11d, dword [rbp + 0x47]
mov rax, r9
mov dword [rsp + 0x24], r11d
shr rax, 0x3c
add al, 0x30
mov dword [rsp + 0x28], edx
mov byte [rdi], al
movabs rax, 0xfffffffffffffff
and r9, rax
inc rdi
cmp qword [rbp - 0x29], r14
jge 0x1400373ff
movabs rax, 0x1000000000000000
movabs rcx, 0x100000000
sub rax, r9
sub rcx, rsi
test rsi, rsi
cmove rcx, r15
lea r11, [rax - 1]
mov qword [rbp - 9], rcx
cmove r11, rax
mov eax, dword [rbp + 0x47]
test eax, eax
jg 0x1400374e2
mov ecx, edx
lea rax, [r10 + r9]
mov rdx, r12
shl rdx, cl
neg rdx
test rdx, rax
jne 0x1400373d5
mov rax, r9
mov ecx, ebx
sub rax, r10
mov qword [rbp - 0x11], rax
shl rax, cl
cmp rax, r8
jae 0x1400373d5
cmp dword [rsp + 0x34], r14d
je 0x140036f21
add rax, rax
cmp rax, r8
jae 0x1400373d5
mov rax, qword [rbp - 0x39]
mov rdx, r9
shl rdx, cl
add rax, rsi
test r13d, r13d
jle 0x140037334
mov ecx, r13d
shr rax, cl
jmp 0x14003733b
cmp ebx, dword [rsp + 0x2c]
jne 0x140036d40
movabs rcx, 0x1000000000000000
sub rcx, r8
cmp rcx, r8
jae 0x140037016
cmp rcx, r11
jbe 0x140036f77
sub r8, r11
lea rax, [r11 + rcx]
cmp r8, rax
ja 0x14003744e
mov r11d, dword [rbp - 0x41]
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r11]
test eax, eax
js 0x140036e04
test ecx, ecx
js 0x140036e04
cmp ecx, 0x1b
jle 0x140037050
jmp 0x140036e04
add dword [rbp - 0x49], 3
add esi, 3
add edx, 3
sub ecx, 3
sub r13d, 3
mov dword [rbp - 0x6d], ecx
mov rax, r9
mov rcx, r9
mov dword [rsp + 0x24], esi
shr rcx, 2
inc ebx
shr r9, 3
test rax, rax
cmovns r9, rcx
mov ecx, dword [rbp - 0x6d]
jmp 0x140036cd2
lea r10, [r11 + r8]
mov rax, r10
shl rax, cl
cmp rax, r9
jae 0x140036e04
cmp rdx, r8
jae 0x140037005
sub r8, r11
lea rax, [r11 + rdx]
cmp rax, r8
jae 0x140036e04
jmp 0x14003744e
sub rdx, r11
cmp rdx, r10
jb 0x140036e04
jmp 0x140037bbc
cmp r8, r11
jbe 0x14003702b
sub rcx, r11
lea rax, [r11 + r8]
cmp rcx, rax
ja 0x140037bbc
mov r11d, dword [rbp - 0x41]
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r11]
test eax, eax
js 0x140036e04
test ecx, ecx
js 0x140036e04
cmp ecx, 0x1b
jg 0x140036e04
mov rdi, qword [rbp - 0x59]
mov rsi, r10
shr rsi, 0xb
mov rbx, r12
mov r9d, r12d
test ecx, ecx
jle 0x14003721a
movsxd r9, dword [rsp + 0x38]
lea r10d, [rcx + r11]
mov ecx, r10d
lea eax, [r10 + 1]
mov dword [rbp + 0x47], eax
xor edx, edx
lea rax, [0x140000000]
mov r8, qword [rax + r9*8 + 0x912b8]
mov rax, rsi
shl r8, cl
div r8
mov qword [rbp - 0x79], r8
mov r13, rax
lea ecx, [rax + 0x30]
mov rax, rdi
mov byte [rax], cl
lea rdi, [rax + 1]
movsxd rcx, r13d
imul rcx, r8
sub rsi, rcx
je 0x140037bbc
lea rdx, [r9 - 0x156]
mov ecx, r12d
lea rax, [0x140000000]
mov qword [rbp - 0x61], rdx
lea rax, [rax + rdx*8]
mov r9, r12
lea rax, [rax + 0x91d68]
mov qword [rbp - 0x39], rax
cmp qword [rbp - 0x29], r14
jge 0x140037147
mov rdx, r8
lea rax, [rsi + rsi]
sub rdx, rsi
cmp rax, rbx
ja 0x140037130
cmp dword [rsp + 0x34], r14d
je 0x140037126
lea rax, [rsi*4]
cmp rax, rbx
ja 0x140037130
cmp rdx, rsi
jb 0x14003744e
jne 0x140037bbc
test r12b, r13b
jne 0x14003744e
jmp 0x140037bbc
cmp rax, rbx
jb 0x140037109
test r12b, r13b
jne 0x140037109
lea rax, [rdx + rdx]
cmp rax, rbx
jb 0x14003744e
mov rax, qword [rbp - 0x39]
mov rdx, qword [rbp - 0x61]
jmp 0x14003714d
cmp r9, qword [rbp - 0x29]
je 0x1400371c6
movsxd r13, dword [rbp + 0x47]
inc ecx
sub rax, 8
mov dword [rsp + 0x28], ecx
dec r10d
mov qword [rbp - 0x39], rax
inc r9
cmp r13, r9
jge 0x14003717b
lea rax, [rsi + rsi*4]
lea rbx, [rbx + rbx*4]
lea rsi, [rax + rax]
add rbx, rbx
jmp 0x140037195
cmp r9, rdx
jg 0x140037217
mov r8, qword [rax]
mov ecx, r10d
shl r8, cl
mov ecx, dword [rsp + 0x28]
mov qword [rbp - 0x79], r8
xor edx, edx
mov rax, rsi
div r8
mov rdx, qword [rbp - 0x61]
movsxd r13, eax
lea eax, [r13 + 0x30]
mov byte [rdi], al
mov rax, r13
imul rax, r8
inc rdi
sub rsi, rax
mov rax, qword [rbp - 0x39]
jne 0x1400370e0
jmp 0x140037bbc
call fcn.14005eca0
test eax, eax
je 0x140037bbc
cmp eax, 2
je 0x14003744e
lea rcx, [rsi + rsi]
cmp rcx, qword [rbp - 0x79]
ja 0x14003744e
jne 0x1400371f5
test r12b, r13b
jne 0x14003744e
cmp dword [rsp + 0x34], r14d
je 0x140037bbc
cmp rsi, rbx
ja 0x140037bbc
cmp rcx, rbx
jae 0x14003744e
jmp 0x140037bbc
mov r9d, ecx
mov r10d, dword [rbp - 0x45]
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
mov r13d, edx
lea eax, [rdx + 0x30]
shl rdx, cl
mov byte [rdi], al
inc rdi
sub rsi, rdx
je 0x140037bbc
nop
lea r8, [rsi + rsi]
cmp qword [rbp - 0x29], r14
jge 0x140037294
mov ecx, r11d
mov rdx, r12
shl rdx, cl
sub rdx, rsi
cmp r8, rbx
ja 0x140037287
cmp dword [rsp + 0x34], r14d
je 0x140037275
lea rax, [rsi*4]
cmp rax, rbx
jbe 0x140037109
jmp 0x140037287
cmp r8, rbx
jb 0x140037109
test r12b, r13b
jne 0x140037109
lea rax, [rdx + rdx]
cmp rax, rbx
jb 0x14003744e
dec r11d
cmp r9d, dword [rsp + 0x2c]
je 0x1400372ef
inc r9d
lea rsi, [rsi + rsi*4]
lea rdx, [rbx + rbx*4]
test r10d, r10d
je 0x1400372c7
mov rax, qword [rbp - 0x21]
mov ecx, r10d
and rax, r15
lea r15, [rax + rax*4]
mov rbx, r15
shr rbx, cl
add rbx, rdx
jmp 0x1400372ca
mov rbx, rdx
mov rdx, rsi
mov ecx, r11d
shr rdx, cl
mov r13d, edx
lea eax, [rdx + 0x30]
shl rdx, cl
mov byte [rdi], al
inc rdi
sub rsi, rdx
jne 0x140037240
jmp 0x140037bbc
mov ecx, r11d
shl r12, cl
test rsi, r12
je 0x140037312
test r13b, 1
jne 0x14003744e
lea rax, [r12 - 1]
test rsi, rax
jne 0x14003744e
cmp dword [rsp + 0x34], r14d
je 0x140037bbc
cmp rsi, rbx
ja 0x140037bbc
cmp r8, rbx
jae 0x14003744e
jmp 0x140037bbc
mov ecx, dword [rsp + 0x24]
shl rax, cl
add rdx, rax
mov ecx, ebx
mov rax, r10
shl rax, cl
add rax, rdx
cmp rax, r8
jae 0x140037544
cmp rdx, r8
jb 0x1400374b5
mov r11d, dword [rsp + 0x24]
mov rax, qword [rbp - 0x39]
lea rax, [rax + rax*4]
lea rdx, [rax + rax]
lea rax, [r10 + r10*4]
mov rcx, rdx
shr rcx, 0x20
lea r10, [rcx + rax*2]
mov eax, edx
mov qword [rbp - 0x39], rax
movabs rax, 0x1000000000000000
cmp r10, rax
jae 0x140037544
lea rax, [rsi + rsi*4]
lea rdx, [rax + rax]
mov rcx, rdx
mov esi, edx
mov edx, dword [rsp + 0x28]
lea r8, [r8 + r8*4]
shr rcx, 0x20
lea rax, [r9 + r9*4]
lea r9, [rcx + rax*2]
test r8, r8
jns 0x140037481
add dword [rbp + 0x47], 4
add edx, 4
add r13d, 4
sub r11d, 4
sub ebx, 4
jmp 0x140037493
test rdx, r11
jne 0x14003735b
mov rax, r11
mov ecx, ebx
sub rax, r10
shl rax, cl
cmp rax, r8
jae 0x14003735b
lea rax, [r11 + r10]
shl rax, cl
cmp rax, r8
jb 0x14003744e
jmp 0x140037544
cmp ecx, dword [rsp + 0x2c]
jne 0x140037360
movabs rcx, 0x1000000000000000
mov rax, r15
sub rcx, r9
test rsi, rsi
je 0x14003742c
mov rax, qword [rbp - 0x39]
dec rcx
add rax, rsi
shr rax, 0x1f
lea rax, [rax + r10*2]
cmp rcx, r9
ja 0x140037533
cmp rcx, rax
jbe 0x140037544
sub r9, rcx
cmp r9, rax
jbe 0x140037544
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
jne 0x140037475
nop dword [rax]
cmp rdi, qword [rbp - 0x59]
je 0x14003751e
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
je 0x140037460
inc al
mov byte [rdi], al
inc rdi
jmp 0x140037c0c
add dword [rbp + 0x47], 3
add edx, 3
add r13d, 3
sub r11d, 3
sub ebx, 3
inc dword [rsp + 0x38]
mov rcx, r8
mov rax, r8
shr rcx, 2
shr r8, 3
test rax, rax
cmovns r8, rcx
mov ecx, dword [rsp + 0x38]
jmp 0x140036e78
cmp r11, r9
jb 0x1400374d3
jne 0x1400374c2
cmp qword [rbp - 9], rsi
jb 0x1400374d3
sub r11, r10
lea rax, [r10 + r9]
cmp r11, rax
jbe 0x140037544
jmp 0x140037bbc
lea rax, [r11 + r10]
cmp rax, qword [rbp - 0x11]
jae 0x140037544
jmp 0x14003744e
lea ecx, [rax - 1]
shl r8, cl
sub r8, r10
cmp r9, r11
ja 0x140037507
cmp r9, r8
jae 0x140037544
sub r11, r10
lea rax, [r10 + r9]
cmp rax, r11
jb 0x140037bbc
jmp 0x140037544
cmp r11, r8
jae 0x140037544
lea rax, [r11 + r10]
sub r9, r10
cmp r9, rax
ja 0x14003744e
jmp 0x140037544
mov eax, dword [rsp + 0x20]
mov rcx, qword [rbp - 0x59]
inc eax
mov byte [rdi], 0x31
inc rdi
jmp 0x140037c14
cmp r9, rax
jbe 0x140037544
sub rcx, r9
cmp rcx, rax
ja 0x140037bbc
lea r8, [rbp + 0x47]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x61]
call fcn.140033410
mov edx, dword [rbp - 0x4d]
mov r14, rax
mov eax, dword [rbp - 0x5d]
mov rdi, qword [rbp - 0x59]
shr eax, 0x14
and eax, 0x7ff
sub eax, 0x3ff
test edx, edx
je 0x14003757b
mov ecx, r12d
sub ecx, edx
add eax, ecx
mov r9d, dword [rbp + 0x47]
mov r8d, r15d
mov ecx, r9d
sub ecx, eax
mov eax, r12d
test ecx, ecx
lea ebx, [rcx - 1]
cmovle ebx, r15d
sub eax, ecx
test ecx, ecx
cmovle r8d, eax
mov eax, dword [rsp + 0x20]
mov dword [rbp + 0x47], r8d
test eax, eax
js 0x1400375b2
mov dword [rbp - 0x41], r15d
add ebx, eax
mov dword [rbp - 0x4d], eax
jmp 0x1400375c2
sub r8d, eax
mov dword [rbp - 0x4d], r15d
neg eax
mov dword [rbp + 0x47], r8d
mov dword [rbp - 0x41], eax
mov ecx, dword [rbp - 0x51]
mov esi, r8d
mov dword [rsp + 0x28], r8d
mov r13, r15
mov qword [rsp + 0x38], r15
test ecx, ecx
je 0x140037615
cmp dword [rbp - 0x79], r13d
je 0x1400375ea
mov eax, dword [rsp + 0x30]
add eax, 0x433
jmp 0x1400375f2
mov eax, gethostname
sub eax, r9d
add r8d, eax
add ebx, eax
mov ecx, r12d
mov dword [rbp + 0x47], r8d
call fcn.140032ad0
mov r8d, dword [rbp + 0x47]
mov r13, rax
mov ecx, dword [rbp - 0x51]
mov dword [rax + 0x18], r12d
mov dword [rax + 0x14], r12d
test esi, esi
jle 0x140037633
test ebx, ebx
jle 0x140037633
cmp esi, ebx
mov eax, ebx
cmovl eax, esi
sub r8d, eax
sub esi, eax
mov dword [rbp + 0x47], r8d
sub ebx, eax
mov dword [rsp + 0x28], esi
mov eax, dword [rbp - 0x41]
test eax, eax
jle 0x14003769e
mov edx, eax
test ecx, ecx
je 0x140037693
mov rcx, r13
call fcn.140032f10
mov rdx, r14
mov rcx, rax
mov r13, rax
call fcn.140032db0
mov rsi, rax
test r14, r14
je 0x14003768e
movsxd rcx, dword [r14 + 8]
cmp ecx, 7
jle 0x140037674
mov rcx, r14
call fcn.1400543f0
mov r14, rsi
jmp 0x14003769e
lea rdx, [0x140000000]
mov rax, qword [rdx + rcx*8 + 0xaac60]
mov qword [r14], rax
mov qword [rdx + rcx*8 + 0xaac60], r14
mov r14, rsi
jmp 0x14003769e
mov rcx, r14
call fcn.140032f10
mov r14, rax
mov ecx, r12d
call fcn.140032ad0
mov rsi, rax
mov qword [rbp - 0x79], rax
mov dword [rax + 0x18], r12d
mov dword [rax + 0x14], r12d
mov eax, dword [rbp - 0x4d]
test eax, eax
jle 0x1400376cd
mov edx, eax
mov rcx, rsi
call fcn.140032f10
mov rsi, rax
mov qword [rbp - 0x79], rax
mov r10d, dword [rbp + 0x47]
cmp dword [rsp + 0x34], r15d
je 0x1400376dd
inc r10d
inc ebx
movsxd rcx, dword [rsi + 0x14]
mov ecx, dword [rsi + rcx*4 + 0x14]
call fcn.140032c70
add eax, 0xfffffffc
mov ecx, eax
sub ecx, ebx
test ebx, ebx
cmovle ecx, eax
and ecx, 0x1f
add dword [rsp + 0x28], ecx
add r10d, ecx
add ebx, ecx
test r10d, r10d
jle 0x140037715
mov edx, r10d
mov rcx, r14
call fcn.140033010
mov r14, rax
test ebx, ebx
jle 0x14003772a
mov edx, ebx
mov rcx, rsi
call fcn.140033010
mov rsi, rax
mov qword [rbp - 0x79], rax
mov ecx, dword [rsp + 0x2c]
test ecx, ecx
jg 0x140037781
mov eax, dword [rbp - 0x69]
add eax, 0xfffffffd
test eax, 0xfffffffd
jne 0x140037781
test ecx, ecx
js 0x140036adc
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 5]
call fcn.140032ba0
mov rdx, rax
mov qword [rbp - 0x79], rax
mov rcx, r14
call fcn.140033130
test eax, eax
jle 0x140036adc
mov rax, qword [rbp - 0x59]
inc dword [rsp + 0x20]
mov byte [rax], 0x31
lea rdi, [rax + 1]
jmp 0x140037b08
cmp dword [rbp - 0x51], r15d
je 0x140037a2b
mov eax, dword [rsp + 0x28]
test eax, eax
jle 0x1400377a0
mov edx, eax
mov rcx, r13
call fcn.140033010
mov r13, rax
mov rsi, r13
mov qword [rsp + 0x38], r13
cmp dword [rsp + 0x34], r15d
je 0x1400377e2
mov ecx, dword [r13 + 8]
call fcn.140032ad0
movsxd r8, dword [r13 + 0x14]
lea rdx, [r13 + 0x10]
mov rbx, rax
lea rcx, [rax + 0x10]
lea r8, [r8*4 + 8]
call fcn.140044760
mov edx, r12d
mov rcx, rbx
call fcn.140033010
mov r13, rax
mov dword [rbp - 0x69], r12d
nop word [rax + rax]
mov rdx, qword [rbp - 0x79]
mov rcx, r14
call fcn.140033cf0
lea ebx, [rax + 0x30]
movsxd rax, dword [rsi + 0x14]
mov esi, dword [r14 + 0x14]
sub esi, eax
mov dword [rbp + 0x47], esi
jne 0x140037859
mov r8, qword [rsp + 0x38]
lea rcx, [rax + 5]
mov edx, dword [r14 + rcx*4]
lea rcx, [r14 + rcx*4]
add r8, 0x14
lea r9, [r14 + 0x18]
lea r8, [r8 + rax*4]
mov eax, dword [r8]
cmp edx, eax
jne 0x140037849
sub r8, rcx
cmp rcx, r9
jbe 0x140037873
mov eax, dword [r8 + rcx - 4]
sub rcx, 4
mov edx, dword [rcx]
cmp edx, eax
je 0x140037835
cmp edx, eax
mov esi, r12d
mov eax, 0xffffffff
cmovb esi, eax
mov dword [rbp + 0x47], esi
mov rcx, qword [rbp - 0x79]
mov rdx, r13
call fcn.140033190
mov r9, rax
cmp dword [rax + 0x10], r15d
je 0x140037879
mov esi, r12d
jmp 0x1400378d1
mov dword [rbp + 0x47], r15d
jmp 0x140037859
movsxd rax, dword [rax + 0x14]
mov esi, dword [r14 + 0x14]
sub esi, eax
jne 0x1400378d1
lea rcx, [rax - 1]
mov r10d, 0x18
add r10, r14
lea r8, [rax + 5]
mov edx, dword [r10 + rcx*4]
lea rcx, [r10 + rcx*4]
mov eax, dword [r9 + r8*4]
lea r8, [r9 + r8*4]
cmp edx, eax
jne 0x1400378c4
sub r8, rcx
nop dword [rax]
cmp rcx, r10
jbe 0x1400378e4
mov eax, dword [r8 + rcx - 4]
sub rcx, 4
mov edx, dword [rcx]
cmp edx, eax
je 0x1400378b0
cmp edx, eax
mov esi, r12d
mov eax, 0xffffffff
cmovb esi, eax
movsxd rax, dword [r9 + 8]
cmp eax, 7
jle 0x1400378e9
mov rcx, r9
call fcn.1400543f0
jmp 0x140037906
mov esi, r15d
jmp 0x1400378d1
mov rcx, rax
lea rdx, [0x140000000]
mov rax, qword [rdx + rax*8 + 0xaac60]
mov qword [r9], rax
mov qword [rdx + rcx*8 + 0xaac60], r9
mov edx, dword [rbp - 0x31]
mov ecx, dword [rbp - 0x61]
test esi, esi
jne 0x14003791e
cmp edx, r12d
je 0x14003791e
test r12b, cl
je 0x1400379bb
mov eax, dword [rbp + 0x47]
test eax, eax
js 0x1400379dd
jne 0x140037939
cmp edx, r12d
je 0x140037939
test r12b, cl
je 0x1400379dd
test esi, esi
jg 0x1400379cf
mov eax, dword [rsp + 0x2c]
mov byte [rdi], bl
inc rdi
cmp dword [rbp - 0x69], eax
je 0x140037a72
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0xa]
call fcn.140032ba0
xor r8d, r8d
mov r14, rax
mov rax, qword [rsp + 0x38]
lea edx, [r8 + 0xa]
cmp rax, r13
jne 0x140037991
mov rcx, r13
call fcn.140032ba0
inc dword [rbp - 0x69]
mov rsi, rax
mov qword [rsp + 0x38], rax
mov r13, rax
jmp 0x1400377f0
mov rcx, rax
call fcn.140032ba0
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov rcx, r13
mov rsi, rax
lea edx, [r8 + 0xa]
call fcn.140032ba0
inc dword [rbp - 0x69]
mov r13, rax
jmp 0x1400377f0
cmp ebx, 0x39
je 0x140037a20
cmp dword [rbp + 0x47], r15d
jle 0x1400379c8
inc ebx
mov byte [rdi], bl
jmp 0x140037b05
cmp ebx, 0x39
je 0x140037a20
inc bl
mov byte [rdi], bl
jmp 0x140037b05
mov ecx, 0x18
cmp dword [r14 + rcx], r15d
jne 0x1400379ee
cmp dword [r14 + 0x14], r12d
jle 0x1400379c8
test esi, esi
jle 0x1400379c8
mov edx, r12d
mov rcx, r14
call fcn.140033010
mov rdx, qword [rbp - 0x79]
mov rcx, rax
mov r14, rax
call fcn.140033130
test eax, eax
jg 0x140037a17
jne 0x1400379c8
test r12b, bl
je 0x1400379c8
mov eax, ebx
inc ebx
cmp eax, 0x39
jne 0x1400379c8
mov byte [rdi], reloc.WS2_32.dll_gethostname
inc rdi
jmp 0x140037adf
mov r15d, r12d
nop
mov rdx, rsi
mov rcx, r14
call fcn.140033cf0
lea ebx, [rax + 0x30]
mov byte [rdi], bl
inc rdi
cmp dword [r14 + 0x18], 0
jne 0x140037a54
cmp dword [r14 + 0x14], r12d
jle 0x140037b08
cmp r15d, dword [rsp + 0x2c]
jge 0x140037a76
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0xa]
call fcn.140032ba0
mov r14, rax
inc r15d
jmp 0x140037a30
mov rsi, qword [rbp - 0x79]
mov edx, r12d
mov rcx, r14
call fcn.140033010
mov r14, rax
movsxd rax, dword [rsi + 0x14]
mov ecx, dword [r14 + 0x14]
sub ecx, eax
jne 0x140037ad4
lea rcx, [rax - 1]
lea r8, [rax + 5]
mov edx, dword [rsi + r8*4]
lea r9, [r14 + 0x18]
mov eax, dword [r9 + rcx*4]
lea rcx, [r9 + rcx*4]
lea r8, [rsi + r8*4]
cmp eax, edx
jne 0x140037ac7
sub r8, rcx
cmp rcx, r9
jbe 0x140037ada
mov eax, dword [rcx - 4]
sub rcx, 4
mov edx, dword [r8 + rcx]
cmp eax, edx
je 0x140037ab3
cmp eax, edx
mov ecx, r12d
mov eax, 0xffffffff
cmovb ecx, eax
test ecx, ecx
jg 0x140037adf
jne 0x140037b08
test r12b, bl
je 0x140037b08
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
jne 0x140037b01
nop word [rax + rax]
cmp rdi, qword [rbp - 0x59]
je 0x140037b54
movzx eax, byte [rdi - 1]
dec rdi
cmp al, 0x39
je 0x140037af0
inc al
mov byte [rdi], al
inc rdi
mov rdx, qword [rbp - 0x79]
test rdx, rdx
je 0x140037b22
movsxd rax, dword [rdx + 8]
cmp eax, 7
jle 0x140037b5d
mov rcx, rdx
call fcn.1400543f0
lea rbx, [0x140000000]
test r13, r13
je 0x140037bbc
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x140037b92
cmp rdx, r13
je 0x140037b92
movsxd rax, dword [rdx + 8]
cmp eax, 7
jle 0x140037b7c
mov rcx, rdx
call fcn.1400543f0
jmp 0x140037b92
inc dword [rsp + 0x20]
mov byte [rdi], 0x31
jmp 0x140037b05
mov rcx, rax
lea rbx, [0x140000000]
mov rax, qword [rbx + rax*8 + 0xaac60]
mov qword [rdx], rax
mov qword [rbx + rcx*8 + 0xaac60], rdx
jmp 0x140037b29
mov rcx, rax
mov rax, qword [rbx + rax*8 + 0xaac60]
mov qword [rdx], rax
mov qword [rbx + rcx*8 + 0xaac60], rdx
movsxd rax, dword [r13 + 8]
cmp eax, 7
jle 0x140037ba5
mov rcx, r13
call fcn.1400543f0
jmp 0x140037bbc
mov rcx, rax
mov rax, qword [rbx + rax*8 + 0xaac60]
mov qword [r13], rax
mov qword [rbx + rcx*8 + 0xaac60], r13
mov rcx, qword [rbp - 0x59]
cmp rdi, rcx
jbe 0x140037bd7
cmp byte [rdi - 1], 0x30
lea rax, [rdi - 1]
jne 0x140037bd7
mov rdi, rax
cmp rax, rcx
ja 0x140037bc5
test r14, r14
je 0x140037c10
movsxd rax, dword [r14 + 8]
cmp eax, 7
jle 0x140037bef
mov rcx, r14
call fcn.1400543f0
jmp 0x140037c0c
mov rcx, rax
lea rdx, [0x140000000]
mov rax, qword [rdx + rax*8 + 0xaac60]
mov qword [r14], rax
mov qword [rdx + rcx*8 + 0xaac60], r14
mov rcx, qword [rbp - 0x59]
mov eax, dword [rsp + 0x20]
mov rdx, qword [rbp + 0x5f]
inc eax
mov byte [rdi], 0
mov dword [rdx], eax
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140037c2b
mov qword [rax], rdi
mov rax, rcx
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x108]
mov r15, qword [rsp + 0xc0]
add rsp, 0xd8
pop rdi
pop rsi
pop rbx
pop rbp
ret