Function at 0x140062894
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rdi, qword [rdx]
mov rbx, qword [r8]
mov r11, qword [rbp + 0x100]
xor esi, esi
mov r13, r9
mov r9d, dword [rcx]
mov r12d, r9d
mov eax, r9d
mov edx, r9d
shr eax, 9
and r12d, 1
shr edx, 0xb
and eax, 1
shl r12d, 8
and edx, 1
mov dword [rbp + 0x34], eax
xor eax, 1
mov dword [rbp - 0x28], r12d
mov dword [rbp + 0x38], eax
lea eax, [rsi - 2]
mov dword [rbp - 0x24], esi
mov dword [rbp - 0x30], esi
mov dword [rbp - 0x80], r9d
mov dword [rbp + 0x24], esi
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x64], eax
mov dword [rbp - 0x6c], eax
mov r14d, eax
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x2c], esi
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], rdi
mov dword [rbp - 0x78], esi
mov dword [rbp + 0x28], esi
mov r15d, esi
mov qword [rbp - 0x60], rsi
mov r8d, esi
mov qword [rbp - 0x58], rsi
mov qword [rbp + 0x18], rsi
mov dword [rsp + 0x70], edx
xor r12d, r12d
mov r10, qword [rbp + 0xf8]
mov qword [rsp + 0x78], rbx
movzx esi, byte [rbx]
mov rax, qword [r10 + 0x20]
mov ecx, 0x7fffffeb
add rax, 0x1000
test r11, r11
je 0x140062a03
cmp rdi, rax
ja 0x140065e18
mov r12, qword [rbp + 0x40]
mov edx, dword [r11]
mov eax, ecx
cmp rdi, r12
cmovb rdi, r12
sub eax, edx
movsxd rcx, eax
mov rax, rdi
sub rax, r12
cmp rcx, rax
jl 0x140065be7
sub edx, r12d
xor r12d, r12d
add edx, edi
mov dword [r11], edx
test r15, r15
je 0x1400629fd
mov r12, qword [rbp + 0x48]
cmp r15, r12
jbe 0x1400629f0
mov r8, rdi
mov rdx, r15
mov rcx, r12
sub r8, r15
call fcn.14006f030
mov rbx, qword [rsp + 0x78]
mov r10, qword [rbp + 0xf8]
mov r9d, dword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
mov r11, r12
sub r11, r15
mov qword [rbp - 0x60], r12
mov r15, r12
add rdi, r11
mov r11, qword [rbp + 0x100]
xor r12d, r12d
mov edx, dword [rsp + 0x70]
mov qword [rbp + 0x40], rdi
jmp 0x140062a0d
mov rdi, qword [rbp + 0x48]
jmp 0x1400629f3
cmp qword [r10 + 0x48], rax
ja 0x140065e18
cmp dword [rbp - 0x78], r12d
je 0x140062aa7
test esi, esi
je 0x140062aa7
cmp esi, 0x5c
jne 0x140062a36
cmp byte [rbx + 1], 0x45
jne 0x140062a36
mov dword [rbp - 0x78], r12d
inc rbx
jmp 0x140062ecc
test r8, r8
je 0x140062a6b
test r11, r11
jne 0x140062a67
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r10 + 0x30]
mov eax, ebx
mov byte [r8 + 5], bl
sar eax, 8
mov byte [r8 + 4], al
mov rbx, qword [rsp + 0x78]
mov qword [rbp - 0x58], r12
bt r9d, 0xe
jae 0x1400642fe
mov word [rdi], 0xff53
mov eax, ebx
mov qword [rbp - 0x58], rdi
sub eax, dword [r10 + 0x30]
sar rax, 8
mov byte [rdi + 2], al
sub bl, byte [r10 + 0x30]
mov word [rdi + 4], 0
mov byte [rdi + 3], bl
mov rbx, qword [rsp + 0x78]
add rdi, 6
jmp 0x1400642fe
cmp esi, 0x2a
je 0x140062b9d
cmp esi, 0x2b
je 0x140062b9d
cmp esi, 0x3f
je 0x140062b9d
cmp esi, 0x7b
jne 0x140062b53
lea rdx, [rbx + 1]
lea rcx, [0x140000000]
movzx eax, byte [rdx]
inc rdx
mov cl, byte [rax + rcx + 0x8dad0]
and cl, 4
je 0x140062b53
lea rcx, [0x140000000]
jmp 0x140062af4
inc rdx
movzx eax, byte [rdx]
test byte [rax + rcx + 0x8dad0], 4
jne 0x140062af1
mov al, byte [rdx]
cmp al, 0x7d
je 0x140062b9d
cmp al, 0x2c
jne 0x140062b53
cmp byte [rdx + 1], 0x7d
je 0x140062b9d
movzx eax, byte [rdx + 1]
add rdx, 2
mov cl, byte [rax + rcx + 0x8dad0]
and cl, 4
je 0x140062b53
lea rcx, [0x140000000]
jmp 0x140062b39
inc rdx
movzx eax, byte [rdx]
test byte [rax + rcx + 0x8dad0], 4
jne 0x140062b36
cmp byte [rdx], 0x7d
mov eax, r12d
sete al
test eax, eax
jne 0x140062b9d
xor edx, edx
test r8, r8
je 0x140062ba3
mov ecx, dword [rbp + 0x24]
mov eax, ecx
dec ecx
mov dword [rbp + 0x24], ecx
test eax, eax
jg 0x140062ba3
test r11, r11
jne 0x140062b94
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r10 + 0x30]
mov eax, ebx
mov byte [r8 + 5], bl
sar eax, 8
mov byte [r8 + 4], al
mov rbx, qword [rsp + 0x78]
mov r8, rdx
mov qword [rbp - 0x58], rdx
jmp 0x140062ba3
mov r12d, 1
test r9b, 8
je 0x140062c3f
mov rax, qword [r10 + 0x18]
test byte [rsi + rax], 1
jne 0x140062ec5
cmp esi, 0x23
jne 0x140062c3f
inc rbx
xor r11d, r11d
mov qword [rsp + 0x78], rbx
mov r8b, byte [rbx]
test r8b, r8b
je 0x140062c34
mov esi, dword [rsp + 0x70]
mov edx, dword [r10 + 0x84]
test edx, edx
je 0x140062d19
mov r8, qword [r10 + 0x38]
cmp rbx, r8
jae 0x140062d51
lea r9, [r10 + 0x88]
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.14006e6d4
mov r10, qword [rbp + 0xf8]
xor r11d, r11d
test eax, eax
je 0x140062d51
mov eax, dword [r10 + 0x88]
dec eax
cdqe
add rbx, rax
mov qword [rsp + 0x78], rbx
cmp byte [rbx], r11b
jne 0x140065bce
mov r9d, dword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
mov esi, r11d
bt r9d, 0xe
jae 0x140062c79
test r12d, r12d
jne 0x140062c79
mov word [rdi], 0xff53
mov eax, ebx
mov r8, rdi
sub eax, dword [r10 + 0x30]
mov qword [rbp - 0x58], rdi
sar rax, 8
mov byte [rdi + 2], al
sub bl, byte [r10 + 0x30]
mov word [rdi + 4], r12w
mov byte [rdi + 3], bl
mov rbx, qword [rsp + 0x78]
add rdi, 6
cmp esi, 0x3f
jg 0x1400637a7
je 0x140063790
xor r12d, r12d
mov ecx, esi
test esi, esi
je 0x1400637d7
sub ecx, 0x24
je 0x140063788
sub ecx, 4
je 0x140062d8d
dec ecx
je 0x1400637d7
dec ecx
je 0x140062d76
dec ecx
je 0x140062d6a
mov edx, dword [rsp + 0x70]
cmp ecx, 3
jne 0x1400642fe
mov r8d, dword [rbp - 0x74]
mov r11, qword [rbp + 0x100]
lea rax, [r12 - 1]
cmp r8d, 0xfffffffe
mov r15, rdi
mov qword [rbp - 0x60], rdi
cmove r8d, eax
mov eax, dword [rbp - 0x6c]
mov dword [rbp - 0x40], eax
mov eax, r9d
mov dword [rbp - 0x74], r8d
shr eax, 2
mov dword [rbp - 0x64], r8d
mov r14d, r8d
and al, 1
or al, 0xc
mov byte [rdi], al
inc rdi
mov rbx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x58]
jmp 0x140062ecc
movsxd rdx, dword [r10 + 0x88]
mov rcx, qword [r10 + 0x38]
sub rcx, rdx
mov rax, rdx
cmp rbx, rcx
ja 0x140062d51
cmp r8b, byte [r10 + 0x8c]
jne 0x140062d51
cmp edx, 1
je 0x140062c18
mov al, byte [r10 + 0x8d]
cmp byte [rbx + 1], al
je 0x140062c18
inc rbx
mov qword [rsp + 0x78], rbx
mov r8b, byte [rbx]
test r8b, r8b
je 0x140062c34
jmp 0x140062bd7
mov r14d, 1
mov dword [rbp - 0x24], r14d
jmp 0x140062d7d
mov r14d, r12d
mov dword [rbp - 0x24], r12d
or r8, 0xffffffffffffffff
mov esi, r8d
mov dword [rbp - 0x30], r8d
jmp 0x14006387f
mov rsi, qword [r10 + 0x48]
inc rbx
mov eax, r12d
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x2a
mov dword [rbp - 0x48], r9d
mov qword [rbp + 0x18], rsi
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x50], 0x5f
mov dword [rbp - 0x7c], r12d
jne 0x140062ed4
mov rdx, qword [r10 + 0x18]
lea rcx, [rbx + 1]
movzx eax, byte [rcx]
test byte [rax + rdx], 2
je 0x140062ed4
xor r8d, r8d
lea r12, str.ACCEPT
mov rbx, rcx
mov r15d, r8d
mov qword [rbp - 0x60], r8
mov r14, rcx
inc rbx
mov qword [rsp + 0x78], rbx
movzx eax, byte [rbx]
test byte [rax + rdx], 2
jne 0x140062de7
cmp byte [rbx], 0x3a
je 0x140065c13
cmp byte [rbx], 0x29
jne 0x140065c06
sub ebx, ecx
mov r13d, r8d
mov rsi, r8
lea rdx, [0x140000000]
cmp ebx, dword [rdx + rsi*8 + 0x8cb18]
jne 0x140062e3b
movsxd r8, ebx
mov rdx, r12
mov rcx, r14
call fcn.140075080
lea rdx, [0x140000000]
test eax, eax
je 0x140062e57
mov eax, dword [rdx + rsi*8 + 0x8cb18]
inc rsi
inc r13d
inc eax
cdqe
add r12, rax
cmp rsi, 7
jge 0x140062e9c
jmp 0x140062e19
cmp dword [rdx + rsi*8 + 0x8cb1c], 0x70
jne 0x140062e90
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rax + 0x40]
mov dword [rax + 0x7c], 1
jmp 0x140062e8b
mov byte [rdi], WSAStartup
mov al, byte [rcx + 9]
add rdi, 3
mov byte [rdi - 2], al
mov al, byte [rcx + 8]
mov byte [rdi - 1], al
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140062e75
mov al, byte [rdx + rsi*8 + 0x8cb1c]
mov byte [rdi], al
inc rdi
mov rbx, qword [rsp + 0x78]
cmp r13d, 7
jge 0x140065bf4
mov r13, qword [rbp + 0xd8]
mov r14d, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x80]
mov r11, qword [rbp + 0x100]
mov r8, qword [rbp - 0x58]
xor r12d, r12d
mov edx, dword [rsp + 0x70]
inc rbx
jmp 0x140062947
cmp byte [rbx], 0x3f
jne 0x140063776
inc rbx
mov qword [rsp + 0x78], rbx
movzx edx, byte [rbx]
cmp edx, 0x3a
jg 0x1400633f9
je 0x140063436
cmp edx, 0x21
je 0x1400633bf
cmp edx, 0x23
je 0x140063386
cmp edx, 0x26
je 0x140063375
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
cmp edx, eax
je 0x14006356d
cmp edx, 0x28
je 0x140062f4c
cmp edx, 0x2b
je 0x140063455
cmp edx, 0x2d
je 0x140063455
cmp edx, 0x2f
jle 0x140062f44
cmp edx, 0x39
jle 0x140063455
mov r14d, r12d
jmp 0x14006456d
cmp byte [rbx + 1], 0x3f
mov dword [rbp - 0x50], 0x60
jne 0x140062f74
mov al, byte [rbx + 2]
cmp al, 0x3d
je 0x1400646b8
cmp al, 0x21
je 0x1400646b8
cmp al, 0x3c
je 0x1400646b8
mov byte [rdi + 3], 0x64
mov rbx, qword [rsp + 0x78]
or r11, 0xffffffffffffffff
lea rcx, [rbx + 1]
mov r13d, 3
mov r9d, r11d
mov al, byte [rcx]
mov dword [rbp - 0x70], r13d
cmp al, 0x52
jne 0x140062fb8
lea rdx, [rbx + 2]
cmp byte [rdx], 0x26
jne 0x140062fb8
mov qword [rsp + 0x78], rdx
mov byte [rdi + 3], 0x66
mov rbx, qword [rsp + 0x78]
mov r14d, r11d
mov dword [rbp - 0x68], r11d
jmp 0x140062ffa
cmp al, 0x3c
jne 0x140062fce
mov eax, 0x3e
mov r14d, eax
mov dword [rbp - 0x68], eax
mov qword [rsp + 0x78], rcx
jmp 0x140062ff7
mov edx, reloc.OLEAUT32.dll_SafeArrayRedim
cmp al, dl
jne 0x140062fdf
mov r14d, edx
mov dword [rbp - 0x68], edx
jmp 0x140062fc7
mov r14d, r12d
mov dword [rbp - 0x68], r12d
cmp al, 0x2d
je 0x140062fee
cmp al, 0x2b
jne 0x140062ffa
mov qword [rsp + 0x78], rcx
movzx r9d, byte [rcx]
mov rbx, rcx
mov r8, qword [r10 + 0x18]
lea rcx, [rbx + 1]
movzx eax, byte [rcx]
test byte [rax + r8], 0x10
je 0x140065c85
mov qword [rsp + 0x78], rcx
movzx edx, byte [rcx]
mov esi, r12d
test byte [rdx + r8], 0x10
mov rbx, rcx
mov r15, rcx
mov qword [rbp - 0x60], rcx
mov eax, edx
je 0x14006306b
lea r14, [0x140000000]
test esi, esi
js 0x140063053
test byte [rax + r14 + 0x8dad0], 4
je 0x140063050
lea ecx, [rsi + rsi*4]
movzx eax, dl
lea esi, [rax + rcx*2 - 0x30]
jmp 0x140063053
mov esi, r11d
inc rbx
mov qword [rsp + 0x78], rbx
movzx edx, byte [rbx]
mov eax, edx
test byte [r8 + rdx], 0x10
jne 0x140063035
mov r14d, dword [rbp - 0x68]
mov r12d, ebx
xor edx, edx
sub r12d, r15d
mov dword [rbp + 8], r12d
test r14d, r14d
jle 0x140063090
movzx eax, byte [rbx]
inc rbx
mov qword [rsp + 0x78], rbx
cmp eax, r14d
jne 0x140065c70
mov al, byte [rbx]
inc rbx
mov qword [rsp + 0x78], rbx
cmp al, 0x29
jne 0x140065c70
cmp qword [rbp + 0x100], rdx
jne 0x1400630ef
test r9d, r9d
jle 0x14006320b
test esi, esi
jle 0x140065c32
cmp r9d, 0x2d
jne 0x1400630cd
mov eax, dword [r10 + 0x60]
sub eax, esi
lea esi, [rax + 1]
jmp 0x1400630d1
add esi, dword [r10 + 0x60]
test esi, esi
jle 0x140065c20
cmp esi, dword [r10 + 0x64]
jg 0x140065c20
mov eax, esi
mov byte [rdi + 5], sil
sar eax, 8
mov byte [rdi + 4], al
mov r14d, edx
mov ebx, dword [rbp - 0x80]
mov r12d, dword [rbp - 0x50]
mov r10d, dword [rbp - 0x48]
mov rax, qword [rbp + 0xf8]
xor ecx, ecx
mov byte [rdi], r12b
mov esi, dword [rax + 0x78]
cmp r12d, 0x5d
mov r15d, ecx
cmovge r15, rdi
mov qword [rbp - 0x38], rdi
mov dword [rbp - 0x2c], ecx
mov qword [rbp - 0x60], r15
cmp r12d, 0x5a
je 0x14006312e
cmp r12d, 0x5b
jne 0x140063133
mov ecx, 1
mov rax, qword [rbp + 0x100]
mov edx, ebx
lea r9, [rsp + 0x78]
neg rax
lea rax, [rbp - 0x2c]
sbb r8, r8
and edx, 7
and r8, rax
mov rax, qword [rbp + 0xf8]
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0xf0]
mov qword [rsp + 0x50], rax
lea rax, [rbp]
lea r8, [rbp - 0x38]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r13d
mov r13, qword [rbp + 0xd8]
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], ecx
mov ecx, r10d
mov qword [rsp + 0x20], r13
call fcn.140065e40
test eax, eax
je 0x140065c51
mov r11, qword [rbp + 0x100]
cmp r12d, 0x60
jne 0x1400646e9
xor r12d, r12d
test r11, r11
jne 0x1400646ec
mov rdx, rdi
mov r8d, r12d
movzx eax, byte [rdx + 1]
inc r8d
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x55
jne 0x1400631d1
cmp byte [rdi + 3], 0x68
jne 0x1400646c4
cmp r8d, 1
jg 0x140065d54
mov edx, 0x68
jmp 0x1400646ef
mov rbx, qword [r10 + 0x50]
mov r13d, edx
cmp dword [r10 + 0x58], edx
jle 0x140063255
movsxd r15, r12d
mov r12, qword [rbp - 0x60]
lea rdx, [rbx + 2]
mov r8, r15
mov rcx, r12
call fcn.140075080
mov r10, qword [rbp + 0xf8]
test eax, eax
je 0x140063249
movsxd rax, dword [r10 + 0x5c]
inc r13d
add rbx, rax
cmp r13d, dword [r10 + 0x58]
jl 0x14006321f
mov r12d, dword [rbp + 8]
mov r14d, dword [rbp - 0x68]
mov r15, qword [rbp - 0x60]
cmp r13d, dword [r10 + 0x58]
jge 0x140063282
movzx eax, byte [rbx]
movzx ecx, byte [rbx + 1]
mov r13d, dword [rbp - 0x70]
shl eax, 8
or ecx, eax
mov eax, ecx
mov byte [rdi + 5], cl
sar eax, 8
inc byte [rdi + 3]
mov r14d, dword [rbp - 0x7c]
mov byte [rdi + 4], al
jmp 0x1400630f2
mov ebx, dword [rbp - 0x80]
mov r8d, r12d
mov rdx, r15
mov r9d, ebx
mov rcx, r10
shr r9d, 3
and r9d, 1
call fcn.1400616ac
xor r13d, r13d
test eax, eax
jle 0x1400632c0
mov ecx, eax
mov byte [rdi + 5], al
sar ecx, 8
inc byte [rdi + 3]
mov byte [rdi + 4], cl
mov r13d, dword [rbp - 0x70]
mov r14d, dword [rbp - 0x7c]
jmp 0x1400630f5
test r14d, r14d
jne 0x140065c44
cmp byte [r15], 0x52
jne 0x140063322
lea edx, [r14 + 1]
mov ecx, r13d
cmp r12d, edx
jle 0x14006330c
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea rax, [0x140000000]
test byte [r8 + rax + 0x8dad0], 4
je 0x140065c44
lea ecx, [rcx + rcx*4]
inc edx
lea ecx, [r8 + rcx*2 - 0x30]
cmp edx, r12d
jl 0x1400632db
test ecx, ecx
jne 0x140063311
mov ecx, 0xffff
mov eax, ecx
mov byte [rdi + 3], 0x66
mov byte [rdi + 5], cl
sar eax, 8
mov byte [rdi + 4], al
jmp 0x1400632b3
cmp r12d, 6
jne 0x14006334c
lea rdx, str.DEFINE
mov r8d, r12d
mov rcx, r15
call fcn.140075080
test eax, eax
jne 0x14006334c
mov byte [rdi + 3], 0x68
lea r13d, [r12 - 5]
jmp 0x1400632b7
test esi, esi
jle 0x140065c5b
mov rdx, qword [rbp + 0xf8]
cmp esi, dword [rdx + 0x64]
jg 0x140065c5b
mov eax, esi
mov byte [rdi + 5], sil
sar eax, 8
mov byte [rdi + 4], al
jmp 0x1400632b3
mov r8d, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov r14d, 1
jmp 0x140064893
inc rbx
mov qword [rsp + 0x78], rbx
mov al, byte [rbx]
test al, al
je 0x140065c9a
cmp al, 0x29
je 0x1400633aa
inc rbx
mov qword [rsp + 0x78], rbx
mov al, byte [rbx]
test al, al
jne 0x140063398
cmp byte [rbx], r12b
je 0x140065c9a
mov r11, qword [rbp + 0x100]
jmp 0x140062ec8
inc rbx
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x29
jne 0x1400633e0
mov byte [rdi], reloc.WSOCK32.dll_WSAGetLastError
inc rdi
mov rbx, qword [rsp + 0x78]
mov qword [rbp - 0x60], r12
mov r15, r12
jmp 0x1400633b3
mov r12d, 0x59
mov r13d, dword [rbp - 0x70]
mov r14d, r13d
mov ebx, dword [rbp - 0x80]
mov dword [rbp - 0x50], r12d
jmp 0x1400630f9
mov ecx, edx
sub ecx, 0x3c
je 0x140063549
dec ecx
je 0x140063541
dec ecx
je 0x14006352e
sub ecx, 5
je 0x1400634a9
sub ecx, 0xd
je 0x14006346a
sub ecx, 2
je 0x14006344d
cmp ecx, 0x2a
jne 0x140062f44
lea r14d, [rcx - 0x29]
jmp 0x140063439
mov r14d, r12d
mov r13d, dword [rbp - 0x70]
inc rbx
mov r12d, 0x5e
mov qword [rsp + 0x78], rbx
jmp 0x1400633ed
inc rbx
mov qword [rsp + 0x78], rbx
mov r8d, reloc.OLEAUT32.dll_SafeArrayCreateEx
mov r14d, r12d
lea rsi, [0x140000000]
jmp 0x14006451d
inc rbx
mov qword [rsp + 0x78], rbx
mov dl, byte [rbx]
cmp dl, 0x3d
je 0x140063494
cmp dl, 0x3e
je 0x140063494
cmp dl, 0x3c
je 0x14006356d
mov dword [r13], reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x140065e20
cmp dl, 0x3e
mov r14d, r12d
mov r8d, reloc.OLEAUT32.dll_SafeArrayCreateEx
sete r14b
jmp 0x140064893
mov byte [rdi], 0x53
mov rbx, qword [rsp + 0x78]
mov r8, rdi
mov qword [rbp - 0x58], rdi
mov dword [rbp + 0x24], 1
mov eax, r12d
lea rsi, [0x140000000]
jmp 0x1400634d5
lea ecx, [rax + rax*4]
movzx eax, dl
lea eax, [rax + rcx*2 - 0x30]
inc rbx
mov qword [rsp + 0x78], rbx
movzx edx, byte [rbx]
test byte [rdx + rsi + 0x8dad0], 4
jne 0x1400634cb
cmp byte [rbx], 0x29
jne 0x140065cb4
cmp eax, 0xff
jg 0x140065ca7
mov byte [rdi + 1], al
mov eax, dword [rsp + 0x78]
sub eax, dword [r10 + 0x30]
inc rax
sar rax, 8
mov byte [rdi + 2], al
mov al, byte [rsp + 0x78]
sub al, byte [r10 + 0x30]
mov word [rdi + 4], r12w
inc al
add rdi, 6
mov byte [rdi - 3], al
jmp 0x1400633d2
mov r12d, 0x5d
inc rbx
mov qword [rsp + 0x78], rbx
jmp 0x1400633e6
mov r12d, 0x58
jmp 0x140063534
mov al, byte [rbx + 1]
cmp al, 0x21
je 0x14006376e
cmp al, 0x3d
je 0x14006375f
movzx ecx, al
mov rax, qword [r10 + 0x18]
test byte [rcx + rax], 0x10
je 0x140065cee
mov rax, qword [r10 + 0x18]
cmp dl, 0x3c
mov r8d, reloc.OLEAUT32.dll_SafeArrayRedim
lea edx, [r8 + 0x17]
cmove r8d, edx
inc rbx
mov qword [rsp + 0x78], rbx
movzx ecx, byte [rbx]
mov r15, rbx
test byte [rcx + rax], 0x10
je 0x1400635aa
mov rcx, rax
inc rbx
mov qword [rsp + 0x78], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x140063599
mov ecx, ebx
sub ecx, r15d
cmp qword [rbp + 0x100], r12
je 0x1400635f9
movzx eax, byte [rbx]
cmp eax, r8d
jne 0x140065ccf
cmp dword [r10 + 0x58], 0x2710
jge 0x140065cc2
lea eax, [rcx + 3]
cmp eax, dword [r10 + 0x5c]
jle 0x140063736
mov dword [r10 + 0x5c], eax
cmp ecx, 0x20
jle 0x140063736
mov dword [r13], gethostbyname
jmp 0x140065e20
mov rsi, qword [r10 + 0x50]
xor eax, eax
mov r13d, r12d
movsxd r14, ecx
cmp dword [r10 + 0x58], eax
jle 0x1400636b5
mov ebx, dword [rbp - 0x80]
lea rdx, [rsi + 2]
mov r8, r14
mov rcx, r15
call fcn.14006fd10
xor ecx, ecx
test eax, eax
jne 0x140063663
cmp byte [r14 + rsi + 2], cl
jne 0x14006365d
movzx eax, byte [rsi]
movzx ecx, byte [rsi + 1]
mov r10, qword [rbp + 0xf8]
shl eax, 8
or ecx, eax
mov eax, dword [r10 + 0x60]
inc eax
cmp ecx, eax
je 0x140063655
bt ebx, 0x13
jae 0x140065cdc
mov r13d, 1
jmp 0x14006366c
or rax, 0xffffffffffffffff
test eax, eax
js 0x14006367e
mov r10, qword [rbp + 0xf8]
movsxd rax, dword [r10 + 0x5c]
inc r12d
add rsi, rax
cmp r12d, dword [r10 + 0x58]
jl 0x140063612
jmp 0x1400636a8
mov rcx, qword [rbp + 0xf8]
mov rdx, rsi
mov eax, dword [rcx + 0x58]
sub eax, r12d
imul eax, dword [rcx + 0x5c]
movsxd rcx, dword [rcx + 0x5c]
add rcx, rsi
movsxd r8, eax
call fcn.14006f030
mov r10, qword [rbp + 0xf8]
xor r12d, r12d
test r13d, r13d
jne 0x140063702
mov rbx, qword [rsp + 0x78]
mov rdx, qword [r10 + 0x50]
mov r8d, r12d
cmp dword [r10 + 0x58], r12d
jle 0x140063702
cmp rdx, rsi
je 0x1400636ef
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
shl eax, 8
or ecx, eax
mov eax, dword [r10 + 0x60]
inc eax
cmp ecx, eax
jne 0x1400636f2
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], 0x41
jmp 0x140065e20
dec r8d
movsxd rax, dword [r10 + 0x5c]
inc r8d
add rdx, rax
cmp r8d, dword [r10 + 0x58]
jl 0x1400636c2
mov eax, dword [r10 + 0x60]
lea rcx, [rsi + 2]
mov r8, r14
inc eax
mov rdx, r15
sar eax, 8
mov byte [rsi], al
mov al, byte [r10 + 0x60]
inc al
mov byte [rsi + 1], al
call fcn.14006f030
mov r10, qword [rbp + 0xf8]
mov byte [rsi + r14 + 2], r12b
mov rbx, qword [rsp + 0x78]
inc dword [r10 + 0x58]
inc rbx
mov qword [rsp + 0x78], rbx
inc dword [r10 + 0x60]
mov eax, dword [r10 + 0x60]
mov r13d, 2
sar eax, 8
mov byte [rdi + 3], al
mov al, byte [r10 + 0x60]
jmp 0x140063276
mov r12d, 0x5a
add rbx, 2
jmp 0x140063537
mov r12d, 0x5b
jmp 0x140063765
bt r9d, 0xc
jae 0x140063742
mov r12d, 0x5e
jmp 0x1400633e6
mov byte [rdi], 0x1b
jmp 0x1400633cf
xor r12d, r12d
mov r14d, r12d
mov dword [rbp - 0x24], r12d
lea esi, [r12 + 1]
mov dword [rbp - 0x30], esi
jmp 0x14006387b
mov ecx, esi
sub ecx, 0x5b
je 0x140064bec
dec ecx
je 0x14006439c
dec ecx
je 0x1400642ec
dec ecx
je 0x1400642c8
sub ecx, 0x1d
je 0x14006383e
dec ecx
jne 0x1400642fa
mov rax, qword [rbp + 0xe0]
mov ecx, dword [rbp - 0x6c]
mov r9, qword [rbp + 0xd0]
mov r8, qword [rbp + 0x100]
mov dword [rax], r14d
mov rax, qword [rbp + 0xe8]
mov dword [rax], ecx
mov rax, qword [rbp + 0xc8]
mov qword [r9], rbx
mov qword [rax], rdi
test r8, r8
je 0x140065d06
mov edx, dword [r8]
mov r10, qword [rbp + 0x40]
mov eax, 0x7fffffeb
sub eax, edx
movsxd rcx, eax
mov rax, rdi
sub rax, r10
cmp rcx, rax
jge 0x140065cfe
mov dword [r13], reloc.WSOCK32.dll_sendto
jmp 0x140065e27
test r12d, r12d
je 0x1400642fa
lea rcx, [rbx + 1]
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x24]
mov r9, r13
call fcn.140061280
xor r12d, r12d
mov rbx, rax
mov qword [rsp + 0x78], rax
cmp dword [r13], r12d
jne 0x140065e20
mov r14d, dword [rbp - 0x24]
mov esi, dword [rbp - 0x30]
mov r9d, dword [rbp - 0x80]
or r8, 0xffffffffffffffff
test r15, r15
je 0x140065d2a
test r14d, r14d
jne 0x14006389f
mov r10d, dword [rbp - 0x64]
mov r11d, dword [rbp - 0x40]
mov dword [rbp - 0x74], r10d
mov dword [rbp - 0x6c], r11d
jmp 0x1400638a7
mov r10d, dword [rbp - 0x74]
mov r11d, dword [rbp - 0x6c]
mov rcx, qword [rbp - 0x60]
mov eax, r14d
mov dword [rbp - 0x70], r12d
sub eax, esi
mov qword [rbp - 0x38], rcx
mov r15d, r12d
neg eax
mov dword [rbp - 0x68], r12d
mov rdx, rcx
sbb eax, eax
and eax, 0x200
mov dword [rbp + 8], eax
lea rax, [rbx + 1]
cmp byte [rax], 0x2b
jne 0x1400638e3
mov r15d, 1
mov dword [rbp - 0x68], r15d
jmp 0x1400638ec
cmp byte [rax], 0x3f
jne 0x1400638f6
mov r12d, dword [rbp + 0x38]
mov rbx, rax
mov qword [rsp + 0x78], rax
jmp 0x1400638fa
mov r12d, dword [rbp + 0x34]
mov al, byte [rcx]
cmp al, 0x1c
je 0x140063f56
cmp al, 0x1d
je 0x140063f56
cmp al, 0x1e
jne 0x14006399c
movzx r13d, byte [rcx + 1]
mov eax, reloc.WSOCK32.dll_listen
xor r10d, r10d
mov edx, eax
mov dword [rbp - 0x70], eax
test r15d, r15d
jne 0x140063975
test esi, esi
jns 0x140063975
mov rdx, qword [rbp + 0xf8]
lea ecx, [rax + 0x11]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], r9d
xor r9d, r9d
mov edx, r13d
mov r8d, dword [rsp + 0x70]
lea rax, [rbx + 1]
mov qword [rsp + 0x20], rax
call fcn.140062044
mov rbx, qword [rsp + 0x78]
xor r10d, r10d
test eax, eax
je 0x140063972
mov r12d, r10d
mov dword [rbp - 0x68], 1
mov edx, dword [rbp - 0x70]
mov r8, qword [rbp - 0x60]
cmp byte [r8], 0x10
je 0x140063ff6
cmp byte [r8], 0xf
je 0x140063ff6
or r9, 0xffffffffffffffff
mov ecx, r9d
mov r15d, r9d
jmp 0x140064004
cmp al, 0x17
jae 0x1400639d6
mov edx, 0x1a
xor r10d, r10d
movzx r13d, al
mov dword [rbp - 0x70], edx
test r15d, r15d
jne 0x140063975
test esi, esi
jns 0x140063975
mov rdx, qword [rbp + 0xf8]
mov ecx, r13d
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], r9d
xor r9d, r9d
xor edx, edx
jmp 0x140063949
cmp al, 0x4e
je 0x140063ece
cmp al, 0x4f
je 0x140063ece
cmp al, 0x50
je 0x140063ece
cmp al, 0x51
je 0x140063ece
cmp al, 0x5e
je 0x140063a44
cmp al, 0x5f
je 0x140063a44
cmp al, 0x5d
je 0x140063a44
cmp al, 0x60
je 0x140063a44
cmp al, 0x6f
jne 0x140065d10
xor r12d, r12d
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp + 8]
mov r13, qword [rbp + 0xd8]
or dword [rcx + 0x78], eax
mov r15, r12
mov qword [rbp - 0x60], r12
mov r14d, dword [rbp - 0x74]
mov r11, qword [rbp + 0x100]
mov r9d, dword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
jmp 0x140062ec8
xor r8d, r8d
mov r15d, edi
sub r15d, ecx
mov dword [rbp - 0x48], r8d
mov qword [rbp - 0x50], r8
mov dword [rbp - 0x70], r15d
cmp al, 0x60
jne 0x140063a67
cmp byte [rcx + 3], 0x68
je 0x140065d1d
or rax, 0xffffffffffffffff
cmp esi, eax
jne 0x140063a9a
mov r8, rcx
movzx eax, byte [r8 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r8 + 2]
or rcx, rax
add r8, rcx
cmp byte [r8], 0x55
jne 0x140063a72
mov ecx, edi
sub ecx, r8d
mov dword [rbp - 0x48], ecx
mov rcx, qword [rbp - 0x60]
xor eax, eax
test r14d, r14d
jne 0x140063b5b
mov r9, qword [rbp + 0xf8]
mov r8d, dword [rsp + 0x70]
mov byte [rdi], al
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x20], rax
cmp esi, 1
jg 0x140063b01
lea edx, [r14 + 1]
call fcn.140061ec4
mov r14, qword [rbp - 0x60]
movsxd r8, r15d
lea rcx, [r14 + 1]
mov rdx, r14
call fcn.14006f030
inc rdi
test esi, esi
jne 0x140063af2
mov byte [r14], WSAStartup
mov rbx, qword [rsp + 0x78]
jmp 0x140063a0e
lea eax, [r12 + 0x69]
mov byte [r14], al
inc r14
xor eax, eax
jmp 0x140063b48
mov r14, qword [rbp - 0x60]
mov edx, 4
mov rcx, r14
call fcn.140061ec4
lea rcx, [r14 + 4]
movsxd r8, r15d
mov rdx, r14
call fcn.14006f030
lea eax, [r12 + 0x69]
add rdi, 4
mov byte [r14], al
mov byte [r14 + 1], 0x5e
add r14, 2
xor eax, eax
mov qword [rbp - 0x50], r14
mov word [r14], ax
add r14, 2
mov qword [rbp - 0x60], r14
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
dec esi
mov dword [rbp - 0x30], esi
jmp 0x140063c76
cmp r14d, 1
jle 0x140063c68
mov r9, qword [rbp + 0x100]
test r9, r9
je 0x140063bbd
movd xmm0, dword [rbp - 0x2c]
lea eax, [r14 - 1]
movd xmm1, eax
mov ecx, eax
cvtdq2pd xmm0, xmm0
imul ecx, dword [rbp - 0x2c]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400936a8]
ja 0x140065be7
mov r8d, dword [r9]
mov eax, 0x7fffffeb
sub eax, r8d
cmp eax, ecx
jl 0x140065be7
lea eax, [r8 + rcx]
mov dword [r9], eax
jmp 0x140063c66
cmp dword [rbp + 0x28], eax
je 0x140063bcd
test r11d, r11d
cmovs r11d, r10d
mov dword [rbp - 0x6c], r11d
cmp r14d, 1
jle 0x140063c68
mov r8, qword [rbp + 0xf8]
movsxd r13, r15d
lea r15d, [r14 - 1]
mov r14, qword [rbp - 0x60]
mov rbx, qword [r8 + 0x48]
mov rdx, r14
mov rcx, rdi
mov r8, r13
call fcn.14006f030
mov r9, qword [rbp + 0x18]
mov r8, qword [rbp + 0xf8]
cmp r9, rbx
jae 0x140063c42
mov edx, dword [rbp - 0x70]
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9]
add r9, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r8 + 0x48]
add ecx, edx
sar ecx, 8
mov byte [rax], cl
mov cl, byte [r9 - 1]
mov rax, qword [r8 + 0x48]
add cl, dl
mov byte [rax + 1], cl
add qword [r8 + 0x48], 2
cmp r9, rbx
jb 0x140063c0e
add rdi, r13
dec r15
mov qword [rbp + 0x18], rbx
jne 0x140063be9
mov r14d, dword [rbp - 0x24]
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
mov r15d, dword [rbp - 0x70]
mov r13, qword [rbp + 0xd8]
xor eax, eax
test esi, esi
jle 0x140063c72
sub esi, r14d
mov dword [rbp - 0x30], esi
mov r14, qword [rbp - 0x60]
test esi, esi
js 0x140063e53
mov r9, qword [rbp + 0x100]
test r9, r9
je 0x140063cdd
test esi, esi
jle 0x140063cdd
mov eax, dword [rbp - 0x2c]
movd xmm0, esi
add eax, 7
mov ecx, eax
movd xmm1, eax
imul ecx, esi
cvtdq2pd xmm0, xmm0
sub ecx, 6
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400936a8]
ja 0x140065be7
mov r8d, dword [r9]
mov eax, 0x7fffffeb
sub eax, r8d
cmp eax, ecx
jl 0x140065be7
lea eax, [r8 + rcx]
mov dword [r9], eax
jmp 0x140063db5
dec esi
js 0x140063db5
mov r9, qword [rbp + 0xf8]
add r12b, 0x69
movsxd r13, r15d
mov rbx, qword [r9 + 0x48]
mov byte [rdi], r12b
inc rdi
test esi, esi
je 0x140063d28
mov rcx, qword [rbp - 0x50]
mov byte [rdi], 0x5e
inc rdi
mov eax, edi
mov qword [rbp - 0x50], rdi
sub eax, ecx
neg rcx
sbb ecx, ecx
and ecx, eax
mov eax, ecx
mov byte [rdi + 1], cl
sar eax, 8
mov byte [rdi], al
add rdi, 2
mov r8, r13
mov rdx, r14
mov rcx, rdi
call fcn.14006f030
mov r10, qword [rbp + 0x18]
mov r9, qword [rbp + 0xf8]
cmp r10, rbx
jae 0x140063d98
mov eax, esi
neg eax
mov eax, esi
sbb edx, edx
and edx, 3
inc edx
neg eax
sbb r8b, r8b
and r8b, 3
inc r8b
movzx eax, byte [r10 + 1]
movzx ecx, byte [r10]
add r10, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r9 + 0x48]
add ecx, edx
add ecx, r15d
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r9 + 0x48]
lea ecx, [r15 + r8]
add cl, byte [r10 - 1]
mov byte [rax + 1], cl
add qword [r9 + 0x48], 2
cmp r10, rbx
jb 0x140063d5f
add rdi, r13
dec esi
mov qword [rbp + 0x18], rbx
mov eax, 0
jns 0x140063cf3
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
mov r10, qword [rbp - 0x50]
xor r12d, r12d
test r10, r10
je 0x140063e1a
mov rcx, r10
mov r9d, edi
mov r8, rdi
sub r9d, r10d
inc r9d
movsxd rax, r9d
sub r8, rax
movzx eax, byte [r8 + 2]
movzx edx, byte [r8 + 1]
mov byte [rdi], 0x55
shl edx, 8
mov byte [rdi + 2], r9b
or edx, eax
movsxd rax, edx
sub rcx, rax
neg edx
mov eax, r9d
sbb r10, r10
sar eax, 8
add rdi, 3
and r10, rcx
mov byte [rdi - 2], al
mov byte [r8 + 1], al
mov byte [r8 + 2], r9b
jne 0x140063dc1
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rsp + 0x70]
cmp dword [rbp - 0x68], r12d
je 0x140063a11
mov al, byte [rdx]
cmp al, 0x41
jne 0x1400641b2
mov al, byte [rdx + 3]
cmp al, 0x10
je 0x140063e40
cmp al, 0xf
mov eax, r12d
jne 0x140063e45
mov eax, 2
add eax, 4
movsxd rcx, eax
add rdx, rcx
jmp 0x1400641f8
movsxd rax, dword [rbp - 0x48]
add r12b, 0x56
mov rsi, rdi
sub rsi, rax
mov r13, rsi
movzx eax, byte [rsi + 1]
mov byte [rsi], r12b
xor r12d, r12d
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rsi + 2]
or rcx, rax
sub r13, rcx
cmp qword [rbp + 0x100], r12
jne 0x140063e11
cmp byte [r13], 0x5d
je 0x140063e11
mov rbx, r13
mov r8d, dword [rsp + 0x70]
mov rdx, rsi
mov rcx, rbx
call fcn.140061bf4
test eax, eax
jne 0x140063ec4
movzx eax, byte [rbx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rbx + 2]
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x54
jne 0x140063e11
jmp 0x140063e91
add byte [r13], 3
jmp 0x140063e11
xor eax, eax
test esi, esi
jne 0x140063edc
mov rdi, rcx
jmp 0x140063a0e
test r14d, r14d
jne 0x140063f0c
cmp esi, r8d
jne 0x140063f01
add r12b, 0x46
mov byte [rdi], r12b
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
inc rdi
xor r12d, r12d
jmp 0x140063e1a
cmp esi, 1
jne 0x140063f1d
add r12b, 0x4a
jmp 0x140063eea
cmp r14d, 1
jne 0x140063f1d
cmp esi, r8d
jne 0x140063f1d
add r12b, 0x48
jmp 0x140063eea
add r12b, 0x4c
mov eax, r14d
mov byte [rdi], r12b
sar eax, 8
mov byte [rdi + 2], r14b
mov byte [rdi + 1], al
cmp esi, r8d
mov r12d, 0
cmove esi, r12d
mov eax, esi
mov byte [rdi + 4], sil
mov dword [rbp - 0x30], esi
sar eax, 8
add rdi, 5
mov byte [rdi - 2], al
jmp 0x140063e11
mov r8d, dword [rsp + 0x70]
xor r10d, r10d
test r8d, r8d
je 0x140063f6c
lea rdx, [rdi - 1]
test byte [rdx], 0x80
jne 0x140063f8f
movzx r13d, byte [rdi - 1]
cmp r14d, 1
jle 0x140063fbf
mov rdx, qword [rbp + 0xf8]
mov eax, dword [rdx + 0x78]
or eax, r13d
or eax, dword [rbp - 0x28]
mov dword [rbp - 0x6c], eax
jmp 0x140063fc6
dec rdx
mov al, byte [rdx]
and al, 0xc0
cmp al, 0x80
je 0x140063f8c
mov r13d, edi
lea rcx, [rbp + 0x2c]
sub r13d, edx
movsxd r8, r13d
call fcn.14006f030
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x60]
mov r8d, dword [rsp + 0x70]
bts r13d, 7
xor r10d, r10d
mov rdx, qword [rbp + 0xf8]
test r15d, r15d
jne 0x140063972
test esi, esi
jns 0x140063972
movzx ecx, byte [rcx]
mov qword [rsp + 0x30], rdx
lea rax, [rbx + 1]
mov ebx, dword [rbp - 0x80]
lea r9, [rbp + 0x2c]
mov edx, r13d
mov dword [rsp + 0x28], ebx
jmp 0x140063952
movzx r15d, byte [r8 + 1]
movzx ecx, byte [r8 + 2]
or r9, 0xffffffffffffffff
mov rax, rdi
mov dword [rbp - 0x70], ecx
mov rdi, r8
test esi, esi
je 0x140063a0e
add r12d, edx
test r14d, r14d
jne 0x140064055
cmp esi, r9d
jne 0x140064032
add r12b, 0x1f
mov byte [r8], r12b
lea rdi, [r8 + 1]
jmp 0x14006416d
lea rdi, [r8 + 1]
cmp esi, 1
jne 0x140064047
add r12b, 0x23
mov byte [r8], r12b
jmp 0x14006416d
add r12b, 0x25
mov eax, esi
mov byte [r8], r12b
sar eax, 8
jmp 0x140064086
cmp r14d, 1
jne 0x140064095
cmp esi, r9d
jne 0x140064066
add r12b, 0x21
jmp 0x140064026
mov rdi, rax
cmp esi, 1
je 0x140063a0e
add r12b, 0x25
lea rdi, [rax + 1]
mov byte [rax], r12b
lea eax, [rsi - 1]
sar eax, 8
dec sil
mov byte [rdi], al
mov byte [rdi + 1], sil
add rdi, 2
jmp 0x14006416d
lea rdi, [r8 + 1]
add dl, 0x27
mov eax, r14d
sar eax, 8
mov byte [r8], dl
mov byte [rdi + 1], r14b
mov byte [rdi], al
add rdi, 2
test esi, esi
jns 0x1400640f8
cmp dword [rsp + 0x70], r10d
je 0x1400640dd
cmp r13d, 0x80
jl 0x1400640dd
mov ebx, r13d
lea rdx, [rbp + 0x2c]
mov rcx, rdi
and ebx, 7
mov r8d, ebx
call fcn.14006f030
add rdi, rbx
jmp 0x1400640f2
mov byte [rdi], r13b
inc rdi
test r15d, r15d
js 0x1400640f2
mov byte [rdi], r15b
mov byte [rdi + 1], cl
add rdi, 2
add r12b, 0x1f
jmp 0x14006414e
cmp esi, r14d
je 0x14006416d
cmp dword [rsp + 0x70], r10d
je 0x140064127
cmp r13d, 0x80
jl 0x140064127
mov ebx, r13d
lea rdx, [rbp + 0x2c]
mov rcx, rdi
and ebx, 7
mov r8d, ebx
call fcn.14006f030
add rdi, rbx
jmp 0x14006412d
mov byte [rdi], r13b
inc rdi
test r15d, r15d
js 0x14006413f
mov eax, dword [rbp - 0x70]
mov byte [rdi], r15b
add rdi, 2
mov byte [rdi - 1], al
sub esi, r14d
mov dword [rbp - 0x30], esi
cmp esi, 1
jne 0x140064156
add r12b, 0x23
mov byte [rdi], r12b
inc rdi
jmp 0x14006416d
add r12b, 0x25
mov eax, esi
mov byte [rdi], r12b
sar eax, 8
mov byte [rdi + 2], sil
mov byte [rdi + 1], al
add rdi, 3
mov ecx, dword [rsp + 0x70]
xor r12d, r12d
test ecx, ecx
je 0x14006419e
cmp r13d, 0x80
jl 0x14006419e
mov ebx, r13d
lea rdx, [rbp + 0x2c]
mov rcx, rdi
and ebx, 7
mov r8d, ebx
call fcn.14006f030
add rdi, rbx
jmp 0x140063e11
mov byte [rdi], r13b
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x38]
inc rdi
jmp 0x140063e1e
mov r8d, reloc.OLEAUT32.dll_SafeArrayRedim
cmp al, r8b
je 0x1400641c1
cmp al, 0x34
jne 0x1400641fc
lea r8, [0x140000000]
movzx eax, al
movzx eax, byte [rax + r8 + 0x8c3c0]
add rdx, rax
mov qword [rbp - 0x38], rdx
test ecx, ecx
je 0x1400641fc
cmp byte [rdx - 1], 0xc0
jb 0x1400641fc
movzx eax, byte [rdx - 1]
and eax, 0x3f
movzx eax, byte [rax + r8 + 0x8c490]
add rdx, rax
mov qword [rbp - 0x38], rdx
mov esi, edi
sub esi, edx
test esi, esi
jle 0x140063a11
movzx eax, byte [rdx]
cmp eax, 0x30
jg 0x14006425b
je 0x140064256
cmp eax, 0x1f
je 0x140064249
cmp eax, 0x21
je 0x140064244
cmp eax, 0x23
je 0x14006423f
cmp eax, 0x25
je 0x14006423a
cmp eax, 0x2c
je 0x140064235
cmp eax, 0x2e
jne 0x140064274
mov byte [rdx], 0x36
jmp 0x14006424c
mov byte [rdx], 0x35
jmp 0x14006424c
mov byte [rdx], 0x2b
jmp 0x14006424c
mov byte [rdx], 0x2a
jmp 0x14006424c
mov byte [rdx], reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x14006424c
mov byte [rdx], SafeArrayCreateEx
mov rbx, qword [rsp + 0x78]
jmp 0x140063a11
mov byte [rdx], gethostname
jmp 0x14006424c
cmp eax, 0x32
je 0x1400642c3
cmp eax, 0x39
je 0x1400642be
cmp eax, 0x3b
je 0x1400642b9
cmp eax, 0x3d
je 0x1400642b4
cmp eax, 0x3f
je 0x1400642af
lea rcx, [rdx + 3]
movsxd r8, esi
call fcn.14006f030
mov rax, qword [rbp - 0x38]
add esi, 3
mov byte [rax], 0x5d
mov byte [rdi + 3], 0x55
mov byte [rdi + 5], sil
mov ecx, esi
sar ecx, 8
add rdi, 6
mov byte [rdi - 2], cl
mov rax, qword [rbp - 0x38]
mov byte [rax + 1], cl
mov rax, qword [rbp - 0x38]
mov byte [rax + 2], sil
jmp 0x14006424c
mov byte [rdx], 0x45
jmp 0x14006424c
mov byte [rdx], 0x44
jmp 0x14006424c
mov byte [rdx], 0x43
jmp 0x14006424c
mov byte [rdx], 0x42
jmp 0x14006424c
mov byte [rdx], gethostname
jmp 0x14006424c
test r9b, 2
je 0x1400642e1
cmp r14d, 0xfffffffe
mov rax, 0xffffffffffffffff
cmove r14d, eax
mov dword [rbp - 0x74], r14d
xor r12d, r12d
mov byte [rdi], 0x1a
jmp 0x1400633cf
test dword [r10 + 0x70], 0x2000000
jne 0x140065d37
mov edx, dword [rsp + 0x70]
mov r12d, 1
mov byte [rbp + 0x10], sil
test edx, edx
je 0x140064342
mov edx, 0xc0
cmp esi, edx
jl 0x140064342
inc rbx
mov al, byte [rbx]
and al, dl
cmp al, 0x80
jne 0x140064342
lea rcx, [rbp + 0x11]
mov qword [rsp + 0x78], rbx
mov al, byte [rbx]
inc r12d
mov byte [rcx], al
inc rcx
inc rbx
mov al, byte [rbx]
and al, dl
cmp al, 0x80
je 0x140064324
mov sil, byte [rbp + 0x10]
mov r14d, dword [rbp - 0x6c]
mov al, r9b
mov r15, rdi
mov qword [rbp - 0x60], rdi
and al, 1
or al, 0x1c
mov byte [rdi], al
inc rdi
test r12d, r12d
jle 0x140064377
lea rdx, [rbp + 0x10]
mov r8d, r12d
mov rcx, rdi
mov ebx, r12d
call fcn.14006f030
mov r9d, dword [rbp - 0x80]
add rdi, rbx
mov eax, reloc.WSOCK32.dll_listen
cmp sil, al
je 0x14006438b
cmp sil, 0xa
jne 0x140065a35
mov r10, qword [rbp + 0xf8]
or dword [r10 + 0x74], 0x20
jmp 0x140065a3c
mov r8d, dword [r10 + 0x60]
lea rcx, [rsp + 0x78]
xor r12d, r12d
mov rdx, r13
mov dword [rsp + 0x20], r12d
call fcn.140060e68
mov r11d, eax
cmp dword [r13], r12d
jne 0x140065c51
test eax, eax
jns 0x140064bb7
neg eax
cmp eax, 0x1a
jne 0x1400643f7
mov rbx, qword [rsp + 0x78]
cmp byte [rbx + 1], 0x5c
jne 0x1400643eb
cmp byte [rbx + 2], 0x45
jne 0x1400643eb
add rbx, 2
jmp 0x140063a30
mov dword [rbp - 0x78], 1
jmp 0x140063a30
cmp eax, 0x19
je 0x140064b65
mov r8d, dword [rbp - 0x74]
cmp r8d, 0xfffffffe
jne 0x140064421
cmp eax, 5
jle 0x140064421
cmp eax, 0x17
mov rcx, 0xffffffffffffffff
cmovl r8d, ecx
mov dword [rbp - 0x74], r8d
mov ecx, dword [rbp - 0x6c]
mov rbx, qword [rsp + 0x78]
mov dword [rbp - 0x64], r8d
mov dword [rbp - 0x40], ecx
cmp eax, 0x1b
jne 0x140064844
mov r10, qword [rbp + 0xf8]
inc rbx
mov r8d, reloc.OLEAUT32.dll_SafeArrayRedim
mov rax, qword [r10 + 0x48]
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x3c
mov qword [rbp + 0x18], rax
lea eax, [r8 + 0x17]
mov dword [rbp - 0x70], r12d
cmove r8d, eax
cmp byte [rbx + 1], 0x2b
mov r14d, r12d
je 0x1400644ec
cmp byte [rbx + 1], 0x2d
je 0x1400644ec
mov cl, byte [rbx + 1]
lea r10d, [rax - 0x3d]
lea r9, [rbx + 1]
test cl, cl
je 0x1400644bd
mov r13, qword [rbp + 0xf8]
movzx eax, cl
cmp eax, r8d
je 0x1400644b6
mov rax, qword [r13 + 0x18]
movzx ecx, cl
mov dl, byte [rcx + rax]
mov al, dl
and al, 4
neg al
sbb eax, eax
and r10d, eax
test dl, 0x10
je 0x1400644b6
inc r9
mov cl, byte [r9]
test cl, cl
jne 0x14006448a
mov r13, qword [rbp + 0xd8]
movzx eax, byte [r9]
cmp eax, r8d
je 0x1400644d3
mov dword [r13], reloc.WSOCK32.dll_gethostname
jmp 0x140063a2c
test r10d, r10d
mov r10, qword [rbp + 0xf8]
je 0x14006337b
lea rsi, [0x140000000]
jmp 0x140064511
lea rcx, [rbx + 2]
lea rsi, [0x140000000]
jmp 0x1400644fc
inc rcx
movzx eax, byte [rcx]
test byte [rax + rsi + 0x8dad0], 4
jne 0x1400644f9
movzx eax, byte [rcx]
cmp eax, r8d
jne 0x1400644c6
mov r9d, dword [rbp - 0x80]
inc rbx
mov qword [rsp + 0x78], rbx
movzx edx, byte [rbx]
cmp edx, 0x2b
jne 0x14006454b
inc rbx
mov qword [rsp + 0x78], rbx
movzx eax, byte [rbx]
test byte [rax + rsi + 0x8dad0], 4
jne 0x1400647c7
mov dword [r13], 0x3f
jmp 0x140065e20
cmp edx, 0x2d
jne 0x1400647c7
lea rcx, [rbx + 1]
movzx eax, byte [rcx]
test byte [rax + rsi + 0x8dad0], 4
jne 0x1400647bf
mov r8, qword [rbp - 0x58]
mov ecx, r12d
mov r10d, r12d
mov dword [rbp - 0x68], r12d
lea rax, [rbp - 0x68]
mov dword [rbp - 0x48], ecx
cmp dl, 0x29
je 0x140064601
cmp dl, 0x3a
je 0x1400645fa
inc rbx
movzx ecx, dl
mov qword [rsp + 0x78], rbx
cmp ecx, 0x2d
je 0x1400645ef
cmp ecx, 0x4a
je 0x1400645de
cmp ecx, 0x55
je 0x1400645d8
cmp ecx, 0x58
je 0x1400645d3
cmp ecx, 0x69
je 0x1400645ce
cmp ecx, 0x6d
je 0x1400645c9
cmp ecx, 0x73
je 0x1400645c4
cmp ecx, 0x78
jne 0x140065d44
or dword [rax], 8
jmp 0x1400645f3
or dword [rax], 4
jmp 0x1400645f3
or dword [rax], 2
jmp 0x1400645f3
or dword [rax], 1
jmp 0x1400645f3
or dword [rax], 0x40
jmp 0x1400645f3
bts dword [rax], 9
jmp 0x1400645f3
mov rcx, qword [rbp + 0xf8]
bts dword [rax], 0x13
or dword [rcx + 0x74], 0x10
jmp 0x1400645f3
lea rax, [rbp - 0x48]
mov dl, byte [rbx]
cmp dl, 0x29
jne 0x140064583
mov r10d, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x48]
or r10d, r9d
not ecx
and r10d, ecx
cmp byte [rbx], 0x29
jne 0x14006469a
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rcx + 0x28]
add rax, 3
cmp rdi, rax
jne 0x14006463d
mov rax, qword [rbp + 0x100]
test rax, rax
je 0x140064637
cmp dword [rax], 6
jne 0x14006463d
mov dword [rcx + 0x70], r10d
jmp 0x140064679
mov eax, r10d
xor eax, r9d
test al, 7
je 0x14006465b
mov byte [rdi], 0x19
mov al, r10b
and al, 7
add rdi, 2
mov byte [rdi - 1], al
mov rbx, qword [rsp + 0x78]
mov eax, r10d
shr eax, 9
and eax, 1
mov dword [rbp + 0x34], eax
xor eax, 1
mov dword [rbp + 0x38], eax
mov eax, r10d
and eax, 1
shl eax, 8
mov dword [rbp - 0x28], eax
mov rax, qword [rbp + 0xc0]
mov r14d, dword [rbp - 0x74]
mov r9d, r10d
mov dword [rbp - 0x80], r10d
mov r15, r12
mov qword [rbp - 0x60], r12
mov dword [rax], r10d
jmp 0x1400633b3
mov r13d, dword [rbp - 0x70]
inc rbx
mov r12d, 0x5e
mov qword [rsp + 0x78], rbx
mov ebx, dword [rbp - 0x80]
mov dword [rbp - 0x50], r12d
jmp 0x1400630fd
mov r13d, dword [rbp - 0x70]
mov r14d, r13d
jmp 0x1400630f2
cmp r8d, 2
jg 0x140065d61
cmp r8d, 1
jne 0x1400646ec
mov edx, dword [rbp - 0x50]
or r10, 0xffffffffffffffff
mov eax, r10d
mov ecx, r10d
mov dword [rbp], eax
mov dword [rbp + 0x20], ecx
jmp 0x1400646f9
xor r12d, r12d
mov edx, dword [rbp - 0x50]
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp]
or r10, 0xffffffffffffffff
mov rbx, qword [rsp + 0x78]
cmp byte [rbx], 0x29
jne 0x140065d6e
test r11, r11
je 0x140064751
mov r8d, dword [rbp - 0x2c]
mov edx, dword [r11]
mov ecx, 0x7fffffeb
lea eax, [r8 - 6]
sub ecx, edx
cmp ecx, eax
jl 0x140065be7
lea eax, [rdx + r8 - 6]
mov dword [r11], eax
mov word [rdi], 0x5e
mov word [rdi + 2], 0x5503
mov word [rdi + 4], 0x300
add rdi, 6
mov rbx, qword [rsp + 0x78]
mov r14d, dword [rbp - 0x74]
jmp 0x140063a37
mov rdi, qword [rbp - 0x38]
cmp edx, 0x68
je 0x140064748
mov r8d, dword [rbp - 0x6c]
mov dword [rbp + 0x28], r12d
mov dword [rbp - 0x40], r8d
mov r8d, dword [rbp - 0x74]
mov dword [rbp - 0x64], r8d
cmp edx, 0x5d
jl 0x1400647ab
cmp r8d, 0xfffffffe
jne 0x140064793
test ecx, ecx
js 0x140064789
mov dword [rbp - 0x74], ecx
mov dword [rbp + 0x28], 1
jmp 0x14006478d
mov dword [rbp - 0x74], r10d
or dword [rbp - 0x64], 0xffffffff
jmp 0x1400647a2
test ecx, ecx
js 0x1400647a2
test eax, eax
jns 0x1400647a6
mov eax, ecx
or eax, esi
mov dword [rbp], eax
test eax, eax
js 0x140064748
mov dword [rbp - 0x6c], eax
jmp 0x140064748
cmp edx, 0x58
jne 0x140064748
test eax, eax
js 0x140064748
mov dword [rbp - 0x6c], eax
mov r14d, r8d
jmp 0x140063a37
mov rbx, rcx
mov qword [rsp + 0x78], rcx
mov esi, r12d
lea r9, [0x140000000]
jmp 0x1400647e5
lea ecx, [rsi + rsi*4]
movzx eax, al
inc rbx
lea esi, [rax + rcx*2 - 0x30]
mov qword [rsp + 0x78], rbx
movzx eax, byte [rbx]
test byte [rax + r9 + 0x8dad0], 4
jne 0x1400647d3
movzx eax, byte [rbx]
cmp eax, r8d
jne 0x140065d88
cmp edx, 0x2d
jne 0x14006482a
test esi, esi
je 0x140065d7b
mov eax, dword [r10 + 0x60]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x14006499d
mov dword [r13], reloc.WSOCK32.dll_ntohs
jmp 0x140065e20
cmp edx, 0x2b
jne 0x14006499d
test esi, esi
je 0x140065d7b
add esi, dword [r10 + 0x60]
jmp 0x14006499d
cmp eax, 0x1c
jne 0x140064af5
lea rcx, [rbx + 1]
lea edx, [rax + 0xb]
cmp byte [rcx], 0x3c
je 0x140064866
cmp byte [rcx], dl
je 0x140064866
cmp byte [rcx], 0x7b
jne 0x140064af5
mov r10, qword [rbp + 0xf8]
mov qword [rsp + 0x78], rcx
cmp byte [rcx], 0x3c
mov r14d, r12d
mov rbx, rcx
jne 0x140064887
mov edx, 0x3e
mov r8d, edx
jmp 0x140064898
cmp byte [rcx], dl
mov r8d, 0x7d
cmove r8d, edx
mov edx, 0x3e
mov rax, qword [r10 + 0x18]
inc rbx
mov qword [rsp + 0x78], rbx
movzx ecx, byte [rbx]
mov r15, rbx
test byte [rcx + rax], 0x10
je 0x1400648c4
mov rcx, rax
inc rbx
mov qword [rsp + 0x78], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x1400648b3
mov esi, ebx
sub esi, r15d
mov dword [rbp + 8], esi
cmp qword [rbp + 0x100], r12
je 0x1400648fa
test esi, esi
je 0x140065d95
movzx eax, byte [rbx]
cmp eax, r8d
jne 0x140065ccf
cmp esi, 0x20
jg 0x1400635ec
mov esi, r12d
jmp 0x140064994
mov rbx, qword [r10 + 0x50]
xor eax, eax
movsxd r13, esi
cmp dword [r10 + 0x58], eax
jle 0x140064948
xor esi, esi
lea rdx, [rbx + 2]
mov r8, r13
mov rcx, r15
call fcn.140075080
test eax, eax
jne 0x140064925
cmp byte [r13 + rbx + 2], sil
je 0x14006493e
mov r10, qword [rbp + 0xf8]
inc r12d
movsxd rax, dword [r10 + 0x5c]
add rbx, rax
cmp r12d, dword [r10 + 0x58]
jl 0x14006490b
jmp 0x140064945
mov r10, qword [rbp + 0xf8]
mov esi, dword [rbp + 8]
cmp r12d, dword [r10 + 0x58]
jge 0x14006495f
movzx eax, byte [rbx]
movzx esi, byte [rbx + 1]
shl eax, 8
or esi, eax
xor r12d, r12d
jmp 0x14006498d
mov r9d, dword [rbp - 0x80]
mov r8d, esi
mov rdx, r15
shr r9d, 3
mov rcx, r10
and r9d, 1
call fcn.1400616ac
xor r12d, r12d
mov esi, eax
test eax, eax
jle 0x140065c44
mov r10, qword [rbp + 0xf8]
mov r13, qword [rbp + 0xd8]
test r14d, r14d
je 0x140064b0b
mov r11, qword [rbp + 0x100]
mov rbx, qword [r10 + 0x28]
mov r15, rdi
mov qword [rbp - 0x60], rdi
test r11, r11
jne 0x140064a98
mov edx, dword [rsp + 0x70]
mov byte [rdi], r12b
test esi, esi
je 0x1400649d9
mov rcx, qword [r10 + 0x28]
mov r8d, esi
call fcn.140061b00
mov r10, qword [rbp + 0xf8]
mov rbx, rax
test rbx, rbx
jne 0x140064a3a
mov r9d, dword [rbp - 0x80]
mov r8d, esi
xor edx, edx
shr r9d, 3
mov rcx, r10
and r9d, 1
call fcn.1400616ac
test eax, eax
js 0x140065d9e
mov r10, qword [rbp + 0xf8]
mov rcx, rdi
movsxd rbx, esi
sub rcx, qword [r10 + 0x28]
mov rax, qword [r10 + 0x48]
add rbx, qword [r10 + 0x28]
add rcx, 4
sar rcx, 8
mov byte [rax], cl
mov rax, qword [r10 + 0x48]
mov cl, dil
sub cl, byte [r10 + 0x28]
add cl, 4
mov byte [rax + 1], cl
add qword [r10 + 0x48], 2
jmp 0x140064a91
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
jne 0x140064a98
mov rax, qword [rbp + 0xf0]
mov rsi, rax
test rax, rax
je 0x140065dab
mov rcx, qword [rsi + 8]
cmp rcx, rbx
jb 0x140065dab
mov r8d, edx
mov rdx, rdi
call fcn.140061bf4
test eax, eax
je 0x140064a8a
mov rsi, qword [rsi]
test rsi, rsi
je 0x140065dab
mov edx, dword [rsp + 0x70]
jmp 0x140064a5c
mov r10, qword [rbp + 0xf8]
mov r11, qword [rbp + 0x100]
mov r14d, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x70]
mov r8, qword [rbp - 0x58]
mov dword [rdi], 0x5206005d
mov eax, ebx
sub eax, dword [r10 + 0x28]
add rdi, 9
sar rax, 8
mov byte [rdi - 5], al
sub bl, byte [r10 + 0x28]
mov byte [rdi - 4], bl
mov word [rdi - 3], 0x55
mov byte [rdi - 1], 6
mov rbx, qword [rsp + 0x78]
mov dword [rbp - 0x2c], 9
cmp r14d, 0xfffffffe
jne 0x140062ecc
or rax, 0xffffffffffffffff
mov r14d, eax
mov dword [rbp - 0x74], eax
jmp 0x140062ecc
cmp eax, 0x1d
jl 0x140064b6f
mov r10, qword [rbp + 0xf8]
mov esi, 0xffffffe3
sub esi, r11d
jmp 0x140064b0f
mov r8d, dword [rbp - 0x74]
mov byte [rdi], 0x51
cmp r8d, 0xfffffffe
mov byte [rdi + 2], sil
mov rax, 0xffffffffffffffff
mov ecx, esi
mov edx, 1
cmove r8d, eax
shl edx, cl
mov eax, esi
sar eax, 8
mov r15, rdi
mov qword [rbp - 0x60], rdi
mov byte [rdi + 1], al
add rdi, 3
cmp esi, 0x20
mov eax, 1
mov dword [rbp - 0x74], r8d
mov r14d, r8d
cmovl eax, edx
or dword [r10 + 0x6c], eax
cmp esi, dword [r10 + 0x68]
jle 0x140065aa3
mov dword [r10 + 0x68], esi
mov rbx, qword [rsp + 0x78]
jmp 0x140063a30
cmp eax, 0x16
je 0x140065db8
cmp eax, 0xf
je 0x140065db8
cmp eax, 0x10
je 0x140065db8
cmp eax, 5
jle 0x140064b9d
cmp eax, 0x17
jge 0x140064b9d
mov r15, rdi
mov qword [rbp - 0x60], rdi
jmp 0x140064ba4
mov r15, r12
mov qword [rbp - 0x60], r12
neg r11b
mov byte [rdi], r11b
mov rbx, qword [rsp + 0x78]
inc rdi
jmp 0x140063a2c
cmp dword [rsp + 0x70], r12d
je 0x140064bde
cmp eax, 0x7f
jle 0x140064bde
lea rdx, [rbp + 0x10]
mov ecx, eax
call fcn.14006e8f0
mov sil, byte [rbp + 0x10]
mov r12d, eax
mov r9d, dword [rbp - 0x80]
jmp 0x140064342
mov sil, al
mov byte [rbp + 0x10], al
mov r12d, 1
jmp 0x140064bd5
lea rcx, [rbx + 1]
mov r15, rdi
mov qword [rbp - 0x60], rdi
mov al, byte [rcx]
cmp al, 0x3a
je 0x140064c05
cmp al, 0x2e
je 0x140064c05
cmp al, 0x3d
jne 0x140064c41
movzx r8d, byte [rcx]
inc rcx
xor r12d, r12d
jmp 0x140064c39
cmp al, 0x5c
jne 0x140064c20
cmp byte [rcx + 1], 0x5d
jne 0x140064c20
inc rcx
jmp 0x140064c36
cmp al, 0x5d
je 0x140064c44
movzx eax, al
cmp eax, r8d
jne 0x140064c36
cmp byte [rcx + 1], 0x5d
je 0x140065dc2
inc rcx
mov al, byte [rcx]
test al, al
jne 0x140064c11
jmp 0x140064c44
xor r12d, r12d
mov eax, r12d
mov dword [rbp - 0x70], eax
inc rbx
mov qword [rsp + 0x78], rbx
movzx esi, byte [rbx]
cmp esi, 0x5c
jne 0x140064c87
inc rbx
cmp byte [rbx], 0x45
je 0x140064c4a
lea r8d, [rsi - 0x59]
lea rdx, [0x1400935ec]
mov rcx, rbx
call fcn.140075080
test eax, eax
jne 0x140064cd3
mov rbx, qword [rsp + 0x78]
mov eax, dword [rbp - 0x70]
add rbx, 3
jmp 0x140064c4a
test eax, eax
jne 0x140064c95
cmp esi, 0x5e
jne 0x140064c95
lea eax, [rsi - 0x5d]
jmp 0x140064c47
cmp esi, 0x5d
jne 0x140064cd3
mov rdx, qword [rbp + 0xf8]
test dword [rdx + 0x70], 0x2000000
je 0x140064cd3
neg eax
sbb al, al
and al, 0x9e
add al, 0x6f
mov byte [rdi], al
inc rdi
cmp r14d, 0xfffffffe
mov rax, 0xffffffffffffffff
cmove r14d, eax
mov dword [rbp - 0x74], r14d
mov dword [rbp - 0x64], r14d
jmp 0x140064b65
or rax, 0xffffffffffffffff
lea rcx, [rbp - 0x20]
xor edx, edx
lea r8d, [rax + 0x21]
mov dword [rbp - 0x7c], r12d
mov r14d, r12d
mov r13d, eax
mov dword [rbp - 0x68], eax
call fcn.14006fdf0
mov rbx, qword [rsp + 0x78]
mov r15d, r12d
mov dword [rbp - 0x64], r12d
lea r12, [rdi + 4]
xor r10d, r10d
mov rax, r12
mov qword [rbp - 0x48], rax
test esi, esi
je 0x140065e09
mov edx, dword [rsp + 0x70]
jmp 0x140064d1e
xor r10d, r10d
test edx, edx
je 0x140064d8c
cmp esi, 0x7f
jle 0x140064d8c
movzx esi, byte [rbx]
cmp esi, 0xc0
jl 0x140064d8c
mov eax, esi
lea r8, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + r8 + 0x8c490]
mov r9d, ecx
and esi, dword [r8 + rcx*4 + 0x8c470]
lea edx, [rcx + rcx*2]
mov r8d, 1
add edx, edx
mov ecx, edx
shl esi, cl
jmp 0x140064d77
movzx eax, byte [r8 + rbx]
sub edx, 6
and eax, 0x3f
mov ecx, edx
shl eax, cl
or esi, eax
inc r8
cmp r8, r9
jle 0x140064d63
mov rax, qword [rbp - 0x48]
mov edx, dword [rsp + 0x70]
add rbx, r9
mov qword [rsp + 0x78], rbx
mov r11, qword [rbp + 0x100]
test r11, r11
je 0x140064da1
sub r12d, eax
add dword [r11], r12d
mov r12, rax
mov ecx, dword [rbp - 0x78]
test ecx, ecx
je 0x140064dc7
cmp esi, 0x5c
jne 0x140065592
cmp byte [rbx + 1], 0x45
jne 0x140065592
mov dword [rbp - 0x78], r10d
inc rbx
jmp 0x140065952
cmp esi, 0x5b
jne 0x140064fd0
mov al, byte [rbx + 1]
cmp al, 0x3a
je 0x140064de3
cmp al, 0x2e
je 0x140064de3
cmp al, 0x3d
jne 0x140065592
movzx r8d, byte [rbx + 1]
lea rcx, [rbx + 2]
xor r11d, r11d
mov al, byte [rcx]
mov qword [rbp + 8], rcx
test al, al
je 0x140064fc8
cmp al, 0x5c
jne 0x140064e0d
inc rcx
cmp byte [rcx], 0x5d
je 0x140064e23
mov rcx, qword [rbp + 8]
cmp al, 0x5d
je 0x140064fc8
movzx eax, al
cmp eax, r8d
jne 0x140064e23
cmp byte [rcx + 1], 0x5d
je 0x140064e28
inc rcx
jmp 0x140064def
cmp byte [rbx + 1], 0x3a
mov rax, qword [rbp + 0xf8]
mov dword [rbp - 0x40], r11d
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x50], rax
jne 0x140065de8
add rbx, 2
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x5e
jne 0x140064e69
inc rbx
mov dword [rbp - 0x40], 1
mov dword [rbp - 0x7c], 1
mov qword [rsp + 0x78], rbx
mov r14d, ecx
lea r15, str.alpha
mov r13d, r11d
mov rsi, r11
lea rcx, [0x140000000]
sub r14d, ebx
movzx eax, byte [rsi + rcx + 0x8d028]
cmp r14d, eax
jne 0x140064eac
movsxd r8, r14d
mov rdx, r15
mov rcx, rbx
call fcn.140075080
xor r11d, r11d
lea rcx, [0x140000000]
test eax, eax
je 0x140064ed5
movzx eax, byte [rsi + rcx + 0x8d028]
inc rsi
inc r13d
inc eax
cdqe
add r15, rax
cmp byte [rsi + rcx + 0x8d028], r11b
jne 0x140064e83
or rax, 0xffffffffffffffff
mov r13d, eax
mov rsi, rax
test r13d, r13d
js 0x140065dd6
test byte [rbp - 0x80], 1
je 0x140064eec
cmp r13d, 2
cmovle rsi, r11
lea rbx, [rsi + rsi*2]
mov rsi, qword [rbp - 0x50]
mov r13d, SafeArrayDestroyDescriptor
movsxd rdx, dword [rcx + rbx*4 + 0x8d0b0]
lea rcx, [rbp + 0x50]
mov r8d, r13d
add rdx, rsi
call fcn.14006f030
lea rcx, [0x140000000]
xor r10d, r10d
movsxd rax, dword [rcx + rbx*4 + 0x8d0b4]
mov ecx, dword [rcx + rbx*4 + 0x8d0b8]
test eax, eax
js 0x140064f64
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x50]
sub rax, r8
mov r8d, r13d
lea r9, [rax + rsi]
test ecx, ecx
js 0x140064f54
mov al, byte [r9 + rdx]
or byte [rdx], al
inc rdx
dec r8
jne 0x140064f44
jmp 0x140064f64
mov al, byte [rdx + r9]
not al
and byte [rdx], al
inc rdx
dec r8
jne 0x140064f54
test ecx, ecx
jns 0x140064f6a
neg ecx
cmp ecx, 1
jne 0x140064f75
and byte [rbp + 0x51], 0xc3
jmp 0x140064f7e
cmp ecx, 2
jne 0x140064f7e
and byte [rbp + 0x5b], 0x7f
mov rcx, r10
mov rdx, r13
cmp dword [rbp - 0x40], r10d
je 0x140064f9e
mov al, byte [rbp + rcx + 0x50]
inc rcx
not al
or byte [rbp + rcx - 0x21], al
dec rdx
jne 0x140064f8a
jmp 0x140064fae
mov al, byte [rbp + rcx + 0x50]
inc rcx
or byte [rbp + rcx - 0x21], al
dec rdx
jne 0x140064f9e
mov rbx, qword [rbp + 8]
mov r13d, dword [rbp - 0x68]
mov r14d, 0xa
inc rbx
mov r15d, dword [rbp - 0x64]
jmp 0x140065943
mov ecx, dword [rbp - 0x78]
jmp 0x140065595
cmp esi, 0x5c
jne 0x140065592
mov rax, qword [rbp + 0xf8]
mov ebx, dword [rbp - 0x80]
mov rdx, qword [rbp + 0xd8]
mov r8d, dword [rax + 0x60]
lea rcx, [rsp + 0x78]
mov r9d, ebx
mov dword [rsp + 0x20], 1
call fcn.140060e68
mov r10, qword [rbp + 0xd8]
xor r11d, r11d
mov esi, eax
cmp dword [r10], r11d
jne 0x140065c51
mov r8d, eax
neg r8d
cmp r8d, 5
jne 0x140065035
lea esi, [r11 + 8]
mov rbx, qword [rsp + 0x78]
mov ecx, dword [rbp - 0x78]
jmp 0x14006559c
cmp r8d, 0x16
jne 0x140065041
lea esi, [r8 + 0x42]
jmp 0x140065028
cmp r8d, 0x11
jne 0x14006504d
lea esi, [r8 + 0x41]
jmp 0x140065028
cmp r8d, 0x1a
jne 0x140065080
mov rbx, qword [rsp + 0x78]
cmp byte [rbx + 1], 0x5c
jne 0x14006506d
cmp byte [rbx + 2], 0x45
jne 0x14006506d
add rbx, 2
jmp 0x140065943
mov edx, dword [rsp + 0x70]
mov r10d, 1
mov dword [rbp - 0x78], r10d
jmp 0x14006594b
cmp r8d, 0x19
je 0x140065586
mov r9, qword [rbp + 0xf8]
test eax, eax
jns 0x14006557c
mov r11, qword [rbp + 0x100]
mov rcx, qword [r9 + 0x10]
add r14d, 2
xor eax, eax
test r11, r11
jne 0x1400651f3
mov edx, r8d
sub edx, 6
je 0x1400651b8
dec edx
je 0x140065194
dec edx
je 0x140065166
dec edx
je 0x140065142
dec edx
je 0x140065111
dec edx
jne 0x140065229
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
lea r8d, [r11 + 0x20]
sub rcx, rax
mov al, byte [rcx + rdx + 0xa0]
or byte [rdx], al
inc rdx
dec r8
jne 0x1400650ee
mov edx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov r10d, dword [rbp - 0x78]
jmp 0x140065952
mov r9d, 1
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
sub rcx, rax
mov dword [rbp - 0x7c], r9d
lea r8d, [r9 + 0x1f]
mov al, byte [rdx + rcx + 0xa0]
not al
or byte [rdx], al
inc rdx
dec r8
jne 0x14006512a
jmp 0x1400651e1
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
mov r8d, SafeArrayDestroyDescriptor
sub rcx, rax
mov al, byte [rcx + rdx]
or byte [rdx], al
inc rdx
dec r8
jne 0x140065153
and byte [rbp - 0x1f], 0xf7
jmp 0x1400650ff
mov r9d, 1
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
sub rcx, rax
mov dword [rbp - 0x7c], r9d
lea r8d, [r9 + 0x1f]
mov al, byte [rcx + rdx]
not al
or byte [rdx], al
inc rdx
dec r8
jne 0x14006517f
or byte [rbp - 0x1f], 8
jmp 0x1400651e1
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
mov r8d, SafeArrayDestroyDescriptor
sub rcx, rax
mov al, byte [rcx + rdx + 0x40]
or byte [rdx], al
inc rdx
dec r8
jne 0x1400651a5
jmp 0x1400650ff
mov r9d, 1
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
sub rcx, rax
mov dword [rbp - 0x7c], r9d
lea r8d, [r9 + 0x1f]
mov al, byte [rdx + rcx + 0x40]
not al
or byte [rdx], al
inc rdx
dec r8
jne 0x1400651d1
mov rbx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
mov r10d, dword [rbp - 0x78]
jmp 0x140065956
cmp esi, 0xfffffff9
je 0x1400650ff
cmp esi, 0xfffffffa
je 0x1400650ff
cmp esi, 0xfffffff5
je 0x1400650ff
cmp esi, 0xfffffff6
je 0x1400650ff
cmp esi, 0xfffffff7
je 0x1400650ff
cmp esi, 0xfffffff8
je 0x1400650ff
cmp r8d, 0x13
jne 0x140065306
or byte [rbp - 0x1f], 2
or byte [rbp - 0x1c], 1
or byte [rbp - 0xc], 1
cmp dword [rsp + 0x70], eax
je 0x1400650ff
lea r15d, [r8 - 0x12]
mov ecx, 0x1680
mov byte [r12], r15b
inc r12
mov dword [rbp - 0x64], r15d
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180e
mov byte [r12], r15b
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2000
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x200a
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x202f
mov byte [r12], r15b
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x205f
mov byte [r12], r15b
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x3000
mov byte [r12], r15b
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
jmp 0x1400650ff
cmp r8d, 0x12
jne 0x140065494
mov edx, eax
mov ecx, edx
mov r8d, 0xff
dec ecx
je 0x140065330
sub ecx, 3
je 0x140065328
cmp ecx, 0x10
jne 0x140065336
mov r8d, 0xfe
jmp 0x140065336
mov r8d, 0xfd
movsxd rax, edx
inc edx
or byte [rbp + rax - 0x20], r8b
cmp edx, 0x20
jl 0x140065312
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x140065103
mov byte [r12], 2
inc r12
mov r15d, 1
mov rdx, r12
mov ecx, 0x100
mov dword [rbp - 0x64], r15d
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x167f
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x1681
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180d
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x180f
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x1fff
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x200b
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x202e
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2030
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x205e
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2060
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2fff
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x3001
mov byte [r12], 2
inc r12
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x7fffffff
jmp 0x1400652f3
cmp r8d, 0x15
jne 0x1400654db
mov edx, dword [rsp + 0x70]
or byte [rbp - 0x1f], 0x3c
or byte [rbp - 0x10], 0x20
test edx, edx
je 0x140065103
mov byte [r12], 2
lea r15d, [r8 - 0x14]
inc r12
mov rdx, r12
mov ecx, 0x2028
mov dword [rbp - 0x64], r15d
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2029
jmp 0x1400652f3
cmp r8d, 0x14
jne 0x14006555f
mov ecx, eax
mov edx, ecx
mov r8d, 0xff
dec edx
je 0x1400654fc
cmp edx, 0xf
jne 0x140065502
mov r8d, 0xdf
jmp 0x140065502
mov r8d, 0xc3
movsxd rax, ecx
inc ecx
or byte [rbp + rax - 0x20], r8b
cmp ecx, 0x20
jl 0x1400654e3
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x140065103
mov byte [r12], 2
inc r12
mov r15d, 1
mov rdx, r12
mov ecx, 0x100
mov dword [rbp - 0x64], r15d
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2027
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, 0x2029
jmp 0x140065474
test bl, 0x40
mov rbx, qword [rsp + 0x78]
jne 0x140065df7
movzx esi, byte [rbx]
mov ecx, dword [rbp - 0x78]
sub r14d, 2
xor r11d, r11d
jmp 0x1400655a3
mov rbx, qword [rsp + 0x78]
mov ecx, dword [rbp - 0x78]
jmp 0x1400655a3
mov r11, qword [rbp + 0x100]
jmp 0x1400650ff
xor r11d, r11d
mov r10, qword [rbp + 0xd8]
mov r9, qword [rbp + 0xf8]
cmp byte [rbx + 1], 0x5c
jne 0x1400655c6
lea rax, [rbx + 2]
cmp byte [rax], 0x45
jne 0x1400655c3
mov qword [rsp + 0x78], rax
cmp byte [rax + 1], 0x5c
mov ecx, r11d
mov rbx, rax
je 0x1400655a9
mov dword [rbp - 0x78], ecx
mov eax, reloc.WSOCK32.dll_listen
mov r13, rbx
cmp esi, eax
je 0x1400655d7
cmp esi, 0xa
jne 0x1400655dc
or dword [r9 + 0x74], 0x20
test ecx, ecx
jne 0x1400657ee
cmp byte [rbx + 1], 0x2d
jne 0x1400657ee
add rbx, 2
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x5c
jne 0x140065644
cmp byte [rbx + 1], 0x45
jne 0x140065635
add rbx, 2
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x5c
je 0x1400655fc
jmp 0x140065635
cmp byte [rbx + 1], 0x51
jne 0x140065644
add rbx, 2
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x5c
jne 0x14006563c
cmp byte [rbx + 1], 0x45
jne 0x14006563c
add rbx, 2
mov qword [rsp + 0x78], rbx
cmp byte [rbx], 0x5c
je 0x140065612
jmp 0x140065644
mov ecx, 1
mov dword [rbp - 0x78], ecx
cmp byte [rbx], r11b
je 0x1400658d7
test ecx, ecx
jne 0x14006565a
cmp byte [rbx], 0x5d
je 0x1400658d7
cmp dword [rsp + 0x70], r11d
movzx r11d, byte [rbx]
je 0x1400656c6
cmp r11d, 0xc0
jl 0x1400656c6
mov eax, r11d
lea r8, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + r8 + 0x8c490]
mov r9d, ecx
and r11d, dword [r8 + rcx*4 + 0x8c470]
lea edx, [rcx + rcx*2]
mov r8d, 1
add edx, edx
mov ecx, edx
shl r11d, cl
jmp 0x1400656b6
movzx eax, byte [r8 + rbx]
sub edx, 6
and eax, 0x3f
mov ecx, edx
shl eax, cl
or r11d, eax
inc r8
cmp r8, r9
jle 0x1400656a1
mov ecx, dword [rbp - 0x78]
add rbx, r9
mov qword [rsp + 0x78], rbx
test ecx, ecx
jne 0x14006571f
cmp r11d, 0x5c
jne 0x14006571f
mov rax, qword [rbp + 0xf8]
mov r9d, dword [rbp - 0x80]
lea rcx, [rsp + 0x78]
mov r8d, dword [rax + 0x60]
mov rdx, r10
mov dword [rsp + 0x20], 1
call fcn.140060e68
mov r10, qword [rbp + 0xd8]
xor ecx, ecx
mov r11d, eax
cmp dword [r10], ecx
jne 0x140065c51
test eax, eax
jns 0x14006571a
cmp eax, 0xfffffffb
jne 0x1400657c7
lea r11d, [rax + 0xd]
mov rbx, qword [rsp + 0x78]
cmp r11d, esi
jl 0x140065e00
je 0x1400657eb
mov eax, reloc.WSOCK32.dll_listen
cmp r11d, eax
je 0x14006573e
cmp r11d, 0xa
jne 0x140065749
mov rax, qword [rbp + 0xf8]
or dword [rax + 0x74], 0x20
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x140065843
cmp r11d, 0xff
jg 0x140065774
mov ecx, dword [rbp - 0x80]
test cl, 1
je 0x140065846
cmp r11d, 0x7f
jle 0x140065846
mov byte [r12], 2
inc r12
mov r15d, 1
mov rdx, r12
mov ecx, esi
mov dword [rbp - 0x64], r15d
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, r11d
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov ecx, dword [rbp - 0x80]
test r15b, cl
je 0x140065835
cmp esi, 0x7f
jg 0x140065835
mov rbx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
lea r11d, [r15 + 0x7e]
jmp 0x140065846
cmp eax, 0xffffffea
jne 0x1400657d5
lea r11d, [rax + 0x6e]
jmp 0x14006571a
cmp eax, 0xffffffef
jne 0x1400657e3
lea r11d, [rax + 0x63]
jmp 0x14006571a
mov rbx, r13
mov qword [rsp + 0x78], rbx
xor r11d, r11d
cmp dword [rsp + 0x70], r11d
je 0x1400658e4
cmp esi, 0xff
jg 0x140065814
test byte [rbp - 0x80], 1
je 0x1400658e4
cmp esi, 0x7f
jle 0x1400658e4
mov r15d, 1
mov ecx, esi
mov byte [r12], r15b
inc r12
mov dword [rbp - 0x64], r15d
mov rdx, r12
call fcn.14006e8f0
movsxd rcx, eax
add r12, rcx
mov rbx, qword [rsp + 0x78]
mov r13d, dword [rbp - 0x68]
jmp 0x140065943
mov ecx, dword [rbp - 0x80]
mov eax, r11d
mov r13d, r11d
mov dword [rbp - 0x68], r11d
sub eax, esi
cmp qword [rbp + 0x100], 0
lea r14d, [r14 + rax + 1]
jne 0x140065947
cmp esi, r11d
jg 0x140065947
mov r15, qword [rbp + 0xf8]
mov r10d, ecx
movsxd r9, esi
and r10d, 1
mov eax, esi
mov ecx, esi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 0x20], dl
test r10d, r10d
je 0x1400658c8
mov rax, qword [r15 + 8]
movzx ecx, byte [rax + r9]
mov eax, ecx
and ecx, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rdx, eax
mov eax, 1
shl al, cl
or byte [rbp + rdx - 0x20], al
inc esi
inc r9
cmp esi, r11d
jle 0x14006587f
jmp 0x140064fbf
mov rbx, r13
mov qword [rsp + 0x78], rbx
jmp 0x1400657ee
mov eax, esi
mov ecx, esi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 0x20], dl
test byte [rbp - 0x80], 1
je 0x14006593a
mov rax, qword [rbp + 0xf8]
movsxd rcx, esi
mov rax, qword [rax + 8]
movzx esi, byte [rax + rcx]
mov eax, esi
mov ecx, esi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rbp + r8 - 0x20], dl
inc r14d
mov r13d, esi
mov dword [rbp - 0x68], esi
mov edx, dword [rsp + 0x70]
mov r10d, dword [rbp - 0x78]
mov r11, qword [rbp + 0x100]
mov r9d, dword [rbp - 0x7c]
inc rbx
mov qword [rsp + 0x78], rbx
movzx esi, byte [rbx]
test esi, esi
je 0x140065e09
mov rax, qword [rbp - 0x48]
cmp esi, 0x5d
jne 0x140064d1b
test r10d, r10d
mov r10d, 0
jne 0x140064d1e
mov ecx, dword [rbp - 0x70]
xor ebx, ebx
cmp r14d, 1
jne 0x140065ac8
test r15d, r15d
jne 0x140065ac8
test edx, edx
je 0x1400659b2
test ecx, ecx
je 0x1400659b2
cmp r13d, 0x80
jge 0x140065ac8
mov r14d, dword [rbp - 0x6c]
xor r12d, r12d
mov dword [rbp - 0x40], r14d
test ecx, ecx
je 0x1400659f9
mov r14d, dword [rbp - 0x74]
mov r15, qword [rbp - 0x60]
mov r9d, dword [rbp - 0x80]
cmp r14d, 0xfffffffe
mov byte [rdi], 0x1e
mov byte [rdi + 1], r13b
mov r13, qword [rbp + 0xd8]
lea rax, [r12 - 1]
cmove r14d, eax
add rdi, 2
mov dword [rbp - 0x74], r14d
mov dword [rbp - 0x64], r14d
jmp 0x140062d0b
test edx, edx
je 0x140065a26
cmp r13d, 0x7f
jle 0x140065a26
lea rdx, [rbp + 0x10]
mov ecx, r13d
call fcn.14006e8f0
mov sil, byte [rbp + 0x10]
mov r12d, eax
mov r13, qword [rbp + 0xd8]
mov r9d, dword [rbp - 0x80]
jmp 0x140064346
mov sil, r13b
mov byte [rbp + 0x10], r13b
mov r12d, 1
jmp 0x140065a16
mov r10, qword [rbp + 0xf8]
mov r8d, dword [rbp - 0x74]
mov dword [rbp - 0x40], r14d
cmp r8d, 0xfffffffe
jne 0x140065a8d
or dword [rbp - 0x64], 0xffffffff
mov eax, dword [rbp - 0x28]
cmp r12d, 1
je 0x140065a72
test eax, eax
je 0x140065a72
or rax, 0xffffffffffffffff
mov r14d, eax
mov dword [rbp - 0x74], eax
mov rbx, qword [rsp + 0x78]
mov dword [rbp - 0x6c], eax
jmp 0x140062eba
movzx r14d, sil
or r14d, eax
mov dword [rbp - 0x74], r14d
cmp r12d, 1
je 0x140065aa3
movzx eax, byte [rdi - 1]
or eax, dword [r10 + 0x78]
jmp 0x140065a65
cmp r12d, 1
mov r12d, dword [rbp - 0x28]
mov dword [rbp - 0x64], r8d
je 0x140065aad
test r12d, r12d
je 0x140065aad
mov r14d, r8d
mov rbx, qword [rsp + 0x78]
jmp 0x140062eb6
movzx eax, byte [rdi - 1]
mov rbx, qword [rsp + 0x78]
mov r14d, r8d
or eax, dword [r10 + 0x78]
or eax, r12d
mov dword [rbp - 0x6c], eax
jmp 0x140062eba
mov r10d, dword [rbp - 0x74]
mov rax, 0xffffffffffffffff
cmp r10d, 0xfffffffe
cmove r10d, eax
mov eax, dword [rbp - 0x6c]
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x74], r10d
mov dword [rbp - 0x64], r10d
test r15d, r15d
je 0x140065b68
test r9d, r9d
jne 0x140065b68
test ecx, ecx
mov byte [r12], bl
mov byte [rdi], 0x50
setne al
mov byte [rdi + 3], al
test r14d, r14d
jle 0x140065b3d
add rdi, 4
or al, 2
lea r8, [r12 + 1]
mov byte [rdi - 1], al
lea rcx, [rdi + 0x20]
sub r8, rdi
mov rdx, rdi
call fcn.14006f030
lea rdx, [rbp - 0x20]
mov r8d, SafeArrayDestroyDescriptor
mov rcx, rdi
call fcn.14006f030
lea rdi, [r12 + 0x21]
jmp 0x140065b42
lea rdi, [r12 + 1]
mov r15, qword [rbp - 0x60]
mov rax, rdi
sub rax, r15
sar rax, 8
mov byte [r15 + 1], al
mov al, dil
sub al, r15b
mov byte [r15 + 2], al
mov rbx, qword [rsp + 0x78]
jmp 0x140062eab
cmp ecx, r9d
setne al
xor r12d, r12d
add al, 0x4e
mov byte [rdi], al
inc rdi
test ecx, ecx
je 0x140065ba1
test r11, r11
jne 0x140065bba
lea rdx, [rbp - 0x20]
mov rcx, rdi
lea r8d, [r12 + 0x20]
sub rdx, rdi
mov al, byte [rdx + rcx]
not al
mov byte [rcx], al
inc rcx
dec r8
jne 0x140065b90
jmp 0x140065bba
lea rdx, [rbp - 0x20]
mov r8d, SafeArrayDestroyDescriptor
mov rcx, rdi
call fcn.14006f030
mov r11, qword [rbp + 0x100]
mov r13, qword [rbp + 0xd8]
mov r15, qword [rbp - 0x60]
add rdi, 0x20
jmp 0x140064743
mov r11, qword [rbp + 0x100]
mov r9d, dword [rbp - 0x80]
mov r8, qword [rbp - 0x58]
mov edx, esi
xor r12d, r12d
jmp 0x140062ecc
mov dword [r13], reloc.WSOCK32.dll_sendto
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], 0x3c
jmp 0x140065e20
mov dword [r13], 0x3c
jmp 0x140065e20
mov dword [r13], 0x3b
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], reloc.WSOCK32.dll_ntohs
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], 0x3a
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], reloc.WSOCK32.dll_ntohs
mov rbx, qword [rsp + 0x78]
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
neg esi
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [rcx], eax
jmp 0x140065c51
mov rcx, qword [rbp + 0xd8]
dec rbx
mov dword [rcx], 0x1a
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
inc rbx
mov dword [rcx], 0x1c
jmp 0x140065e20
mov dword [r13], reloc.WSOCK32.dll_select
jmp 0x140065e20
mov dword [r13], reloc.OLEAUT32.dll_SafeArrayDestroyData
jmp 0x140065e20
mov eax, reloc.OLEAUT32.dll_SafeArrayRedim
mov dword [r13], eax
jmp 0x140065e20
mov dword [r13], gethostbyname
jmp 0x140065e20
mov dword [r13], 0x2a
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], 0x2b
jmp 0x140065c51
inc rbx
mov dword [r13], reloc.OLEAUT32.dll_SafeArrayGetElement
jmp 0x140065e20
sub edx, r10d
add edx, edi
mov dword [r8], edx
mov eax, 1
jmp 0x140065e2c
mov dword [r13], reloc.WSOCK32.dll_inet_ntoa
jmp 0x140065e20
mov dword [r13], gethostname
jmp 0x140065e20
mov dword [r13], 9
jmp 0x140065e20
mov dword [r13], 0x40
jmp 0x140065e20
mov dword [r13], recvfrom
dec rbx
jmp 0x140065e20
mov dword [r13], gethostname
jmp 0x140065c51
mov dword [r13], 0x1b
jmp 0x140065c51
mov dword [r13], recvfrom
jmp 0x140065e20
mov dword [r13], 0x3a
jmp 0x140065e20
mov dword [r13], SafeArrayAllocDescriptor
jmp 0x140065e20
mov dword [r13], edx
jmp 0x140065e20
mov dword [r13], reloc.WSOCK32.dll_ntohs
jmp 0x140065c51
mov dword [r13], SafeArrayCreateEx
jmp 0x140065c51
mov dword [r13], gethostbyname
jmp 0x140065e20
cmp byte [rbx + 1], 0x3a
mov eax, SafeArrayAllocDescriptor
lea ecx, [rax - 0x12]
cmove eax, ecx
jmp 0x140065cb9
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], SafeArrayAllocDescriptor
jmp 0x140065c51
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], SafeArrayAllocDescriptor
jmp 0x140065e20
mov dword [r10], 7
jmp 0x140065e20
mov dword [r10], 8
jmp 0x140065e20
mov rcx, qword [rbp + 0xd8]
mov dword [rcx], 6
jmp 0x140065e20
mov dword [r13], reloc.WSOCK32.dll_gethostbyname
mov r9, qword [rbp + 0xd0]
mov qword [r9], rbx
xor eax, eax
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret