Function at 0x6d6830
Capabilities:
Authenticate hmac
Encode data using base64
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 rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
mov r12d, dword [rcx]
mov r10, qword [rdx]
mov rbx, qword [r8]
xor r11d, r11d
mov edx, 0xfffffffe
mov r14d, r12d
mov dword [rax - 0xf0], r11d
mov dword [rax - 0xf8], r11d
mov dword [rax - 0xec], r11d
shr r14d, 0xb
mov eax, r12d
mov rcx, r10
shr eax, 9
and r14d, 1
mov rsi, r9
and eax, 1
mov dword [rsp + 0x118], r11d
mov r8d, r11d
mov dword [rsp + 0x140], eax
xor eax, 1
mov dword [rsp + 0x78], r11d
mov dword [rsp + 0x144], eax
mov eax, r12d
mov dword [rsp + 0x12c], r11d
and eax, 1
mov rbp, r11
mov qword [rsp + 0xb0], r11
shl eax, 8
mov r9, r11
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x110], r11
mov r11, qword [rsp + 0x210]
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0xd4], eax
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x150], r10
mov dword [rsp + 0xa8], r14d
mov dword [rsp + 0xe0], edx
mov r13d, edx
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0x98], edx
mov dword [rsp + 0x94], edx
mov r15, qword [rsp + 0x208]
mov qword [rsp + 0x70], rbx
movzx edi, byte [rbx]
mov rax, qword [r15 + 0x20]
add rax, 0x1000
test r11, r11
je 0x6d6a32
cmp r10, rax
ja 0x6da693
mov edx, dword [r11]
cmp r10, rcx
mov eax, 0x7fffffeb
cmovb r10, rcx
sub eax, edx
movsxd rcx, eax
mov rax, r10
mov qword [rsp + 0x80], r10
sub rax, qword [rsp + 0x138]
cmp rcx, rax
jl 0x6da3a6
sub edx, dword [rsp + 0x138]
add edx, r10d
mov dword [r11], edx
test rbp, rbp
je 0x6d6a18
mov rax, qword [rsp + 0x150]
cmp rbp, rax
jbe 0x6d6a28
mov r8, r10
mov rdx, rbp
mov rcx, rax
sub r8, rbp
call fcn.006a4bf0
mov rax, qword [rsp + 0x150]
mov r10, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
mov r11, rax
mov qword [rsp + 0xb0], rax
sub r11, rbp
mov rbp, rax
add r10, r11
mov r11, qword [rsp + 0x210]
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x138], r10
jmp 0x6d6a3c
mov r10, qword [rsp + 0x150]
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x138], r10
jmp 0x6d6a3c
cmp qword [r15 + 0x40], rax
ja 0x6da693
test r8d, r8d
je 0x6d6ad5
test edi, edi
je 0x6d6ad5
cmp edi, 0x5c
jne 0x6d6a80
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x6d6a80
mov r14d, dword [rsp + 0xa8]
xor ecx, ecx
mov rbx, rax
mov r8d, ecx
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x138]
inc rbx
jmp 0x6d693c
test r9, r9
je 0x6d6aa7
test r11, r11
jne 0x6d6a9d
mov r8, r15
mov rdx, rbx
mov rcx, r9
call fcn.006d5dc0
mov rbx, qword [rsp + 0x70]
xor eax, eax
mov qword [rsp + 0xa0], rax
bt r12d, 0xe
jae 0x6d6d61
mov r8, r15
mov rdx, rbx
mov rcx, r10
mov qword [rsp + 0xa0], r10
call fcn.006d5d90
mov rbx, qword [rsp + 0x70]
mov r10, rax
jmp 0x6d6d61
cmp edi, 0x2a
je 0x6d6b41
cmp edi, 0x2b
je 0x6d6b41
cmp edi, 0x3f
je 0x6d6b41
cmp edi, 0x7b
jne 0x6d6af6
lea rcx, [rbx + 1]
call fcn.006d4da0
test eax, eax
jne 0x6d6b41
mov rcx, qword [rsp + 0xa0]
xor r9d, r9d
mov esi, r9d
test rcx, rcx
je 0x6d6b49
mov edx, dword [rsp + 0x118]
mov eax, edx
dec edx
mov dword [rsp + 0x118], edx
test eax, eax
jg 0x6d6b49
test r11, r11
jne 0x6d6b37
mov r8, r15
mov rdx, rbx
call fcn.006d5dc0
mov rbx, qword [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0xa0], r9
jmp 0x6d6b49
mov esi, 1
xor r9d, r9d
test r12b, 8
je 0x6d6bde
mov rax, qword [r15 + 0x18]
test byte [rdi + rax], 1
jne 0x6d8f01
cmp edi, 0x23
jne 0x6d6bde
inc rbx
mov qword [rsp + 0x70], rbx
mov r8b, byte [rbx]
test r8b, r8b
je 0x6d6bd3
nop word [rax + rax]
mov edx, dword [r15 + 0x78]
test edx, edx
je 0x6d6c38
mov r8, qword [r15 + 0x38]
cmp rbx, r8
jae 0x6d6c6e
lea r9, [r15 + 0x7c]
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.006dbd30
mov rbx, qword [rsp + 0x70]
test eax, eax
je 0x6d6c6e
mov eax, dword [r15 + 0x7c]
dec eax
cdqe
add rbx, rax
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0
jne 0x6d8ef1
xor r9d, r9d
mov r10, qword [rsp + 0x80]
mov edi, r9d
bt r12d, 0xe
jae 0x6d6c0f
test esi, esi
jne 0x6d6c0f
mov r8, r15
mov rdx, rbx
mov rcx, r10
mov qword [rsp + 0xa0], r10
call fcn.006d5d90
mov rbx, qword [rsp + 0x70]
mov r10, rax
mov qword [rsp + 0x80], rax
cmp edi, 0x7c
ja case.0x6d6c36.12
lea r11, [0x00400000]
movsxd rax, edi
movzx eax, byte [r11 + rax + 0x2da6f0]
mov ecx, dword [r11 + rax*4 + 0x2da6bc]
add rcx, r11
jmp rcx
movsxd rdx, dword [r15 + 0x7c]
mov rcx, qword [r15 + 0x38]
sub rcx, rdx
mov rax, rdx
cmp rbx, rcx
ja 0x6d6c6e
cmp r8b, byte [r15 + 0x80]
jne 0x6d6c6e
cmp edx, 1
je 0x6d6bb7
movzx eax, byte [r15 + 0x81]
cmp byte [rbx + 1], al
je 0x6d6bb7
inc rbx
mov qword [rsp + 0x70], rbx
mov r8b, byte [rbx]
test r8b, r8b
jne 0x6d6b80
jmp 0x6d6bd0
test r12b, 2
je 0x6d6ca6
mov eax, dword [rsp + 0x94]
mov ecx, 0xffffffff
cmp eax, 0xfffffffe
cmove eax, ecx
mov dword [rsp + 0x94], eax
mov byte [r10], 0x1a
mov rbx, qword [rsp + 0x70]
inc r10
mov qword [rsp + 0x80], r10
mov rbp, r9
mov qword [rsp + 0xb0], r9
jmp 0x6d8ef9
mov byte [r10], 0x1b
mov rbx, qword [rsp + 0x70]
inc r10
mov qword [rsp + 0x80], r10
mov rbp, r9
mov qword [rsp + 0xb0], r9
jmp 0x6d8ef9
mov edx, dword [rsp + 0x94]
mov eax, 0xffffffff
mov rbp, r10
cmp edx, 0xfffffffe
mov qword [rsp + 0xb0], r10
cmove edx, eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xe0], eax
mov eax, r12d
mov dword [rsp + 0x94], edx
shr eax, 2
mov r13d, edx
mov dword [rsp + 0xc0], edx
and al, 1
or al, 0xc
inc r10
mov byte [r10 - 1], al
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], r10
jmp 0x6d8ef9
bt dword [r15 + 0x68], 0x19
jb 0x6da3b1
mov rsi, qword [rsp + 0x1e8]
mov r11d, 1
mov byte [rsp + 0x120], dil
test r14d, r14d
je 0x6d6daf
cmp edi, 0xc0
jl 0x6d6daf
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
jne 0x6d6daf
lea rcx, [rsp + 0x121]
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
inc rcx
mov byte [rcx - 1], al
movzx eax, byte [rbx + 1]
inc r11d
inc rbx
and al, 0xc0
cmp al, 0x80
je 0x6d6d91
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x98]
movzx eax, r12b
mov rbp, r10
mov qword [rsp + 0xb0], r10
and al, 1
inc r10
or al, 0x1c
mov qword [rsp + 0x80], r10
mov byte [r10 - 1], al
test r11d, r11d
jle 0x6d6e0b
lea rcx, [rsp + 0x120]
mov edx, r11d
nop
movzx eax, byte [rcx]
inc r10
inc rcx
sub rdx, 1
mov byte [r10 - 1], al
jne 0x6d6df0
mov qword [rsp + 0x80], r10
movzx eax, byte [rsp + 0x120]
cmp al, 0xd
je 0x6d6e1b
cmp al, 0xa
jne 0x6d6e20
or dword [r15 + 0x6c], 0x20
mov edx, dword [rsp + 0x94]
mov dword [rsp + 0xe0], r9d
cmp edx, 0xfffffffe
jne 0x6da36e
mov ecx, dword [rsp + 0xd4]
or r14d, 0xffffffff
mov r13d, r14d
mov dword [rsp + 0xc0], r14d
cmp r11d, 1
je 0x6da31b
test ecx, ecx
je 0x6da31b
mov rbx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x210]
mov r9, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x138]
mov dword [rsp + 0x98], r14d
mov dword [rsp + 0x94], r14d
mov r14d, dword [rsp + 0xa8]
inc rbx
jmp 0x6d693c
movzx eax, byte [rbx + 1]
mov rbp, r10
mov qword [rsp + 0xb0], r10
cmp al, 0x3a
je 0x6d6eb8
cmp al, 0x2e
je 0x6d6eb8
cmp al, 0x3d
jne 0x6d6ed5
lea rdx, [rsp + 0x148]
mov rcx, rbx
call fcn.006d5bb0
mov rbx, qword [rsp + 0x70]
test eax, eax
jne 0x6da413
mov ecx, r9d
mov dword [rsp + 0xbc], ecx
nop
inc rbx
mov qword [rsp + 0x70], rbx
movzx edi, byte [rbx]
cmp edi, 0x5c
jne 0x6d6f21
inc rbx
cmp byte [rbx], 0x45
je 0x6d6ee0
lea r8d, [rdi - 0x59]
lea rdx, [0x00788a60]
mov rcx, rbx
call fcn.006a5580
mov rbx, qword [rsp + 0x70]
test eax, eax
jne 0x6d6f8f
mov ecx, dword [rsp + 0xbc]
add rbx, 3
jmp 0x6d6ee0
test ecx, ecx
jne 0x6d6f2f
cmp edi, 0x5e
jne 0x6d6f2f
lea ecx, [rdi - 0x5d]
jmp 0x6d6ed8
cmp edi, 0x5d
jne 0x6d6f8f
bt dword [r15 + 0x68], 0x19
jae 0x6d6f8f
mov r10, qword [rsp + 0x80]
mov edi, dword [rsp + 0x94]
test ecx, ecx
mov ecx, reloc.WS2_32.dll_listen
mov eax, WSAGetLastError
cmovne eax, ecx
inc r10
cmp edi, 0xfffffffe
mov byte [r10 - 1], al
mov rbx, qword [rsp + 0x70]
mov eax, 0xffffffff
cmove edi, eax
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x94], edi
mov r13d, edi
mov dword [rsp + 0xc0], edi
jmp 0x6d8ef9
mov r14, qword [rsp + 0x80]
or eax, 0xffffffff
xor r10d, r10d
mov ecx, eax
mov dword [rsp + 0x88], eax
xor eax, eax
lea rbp, [r14 + 4]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rax
mov rax, rbp
mov dword [rsp + 0xb8], r10d
mov r13d, r10d
mov dword [rsp + 0xc4], r10d
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x8c], r10d
test edi, edi
jne 0x6d7011
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 6
jmp 0x6da699
mov r12d, dword [rsp + 0x90]
mov esi, dword [rsp + 0xa8]
test esi, esi
je 0x6d7091
cmp edi, 0x7f
jle 0x6d7091
movzx edi, byte [rbx]
cmp edi, 0xc0
jl 0x6d7091
mov eax, edi
lea rdx, [0x00400000]
and eax, 0x3f
movzx ecx, byte [rax + rdx + 0x388b80]
mov r9, rcx
and edi, dword [rdx + rcx*4 + 0x388b68]
lea r8d, [rcx + rcx*2]
mov edx, 1
add r8d, r8d
mov ecx, r8d
shl edi, cl
cmp rdx, r9
jg 0x6d707a
movzx eax, byte [rdx + rbx]
sub r8d, 6
inc rdx
and eax, 0x3f
mov ecx, r8d
shl eax, cl
or edi, eax
cmp rdx, r9
jle 0x6d7060
mov ecx, dword [rsp + 0x88]
mov rax, qword [rsp + 0xe0]
add rbx, r9
mov qword [rsp + 0x70], rbx
mov r11, qword [rsp + 0x210]
test r11, r11
je 0x6d70a6
sub ebp, eax
add dword [r11], ebp
mov rbp, rax
mov edx, dword [rsp + 0x78]
test edx, edx
je 0x6d70d5
cmp edi, 0x5c
jne 0x6d7310
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x6d7310
mov r8d, r10d
mov dword [rsp + 0x78], r10d
mov rbx, rax
jmp 0x6d7d14
cmp edi, 0x5b
jne 0x6d72bf
movzx eax, byte [rbx + 1]
cmp al, 0x3a
je 0x6d70f2
cmp al, 0x2e
je 0x6d70f2
cmp al, 0x3d
jne 0x6d7310
lea rdx, [rsp + 0x148]
mov rcx, rbx
call fcn.006d5bb0
test eax, eax
je 0x6d7307
mov rbx, qword [rsp + 0x70]
mov rdi, qword [r15 + 0x10]
mov esi, r10d
cmp byte [rbx + 1], 0x3a
jne 0x6da3dc
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x5e
jne 0x6d7142
mov esi, 1
inc rbx
mov dword [rsp + 0xb8], esi
mov qword [rsp + 0x70], rbx
mov r12, qword [rsp + 0x148]
mov rcx, rbx
mov edx, r12d
sub edx, ebx
call fcn.006d5c00
test eax, eax
js 0x6da3c4
mov edx, dword [rsp + 0x90]
test dl, 1
je 0x6d717a
cmp eax, 2
mov r10d, 0
cmovle eax, r10d
jmp 0x6d717d
xor r10d, r10d
lea eax, [rax + rax*2]
lea r8, [rsp + 0x158]
lea r9, [0x00400000]
movsxd rdx, eax
movsxd rcx, dword [r9 + rdx*4 + 0x387f80]
mov rax, qword [rcx + rdi]
mov qword [r8], rax
mov rax, qword [rcx + rdi + 8]
mov qword [r8 + 8], rax
mov rax, qword [rcx + rdi + 0x10]
mov qword [r8 + 0x10], rax
mov rax, qword [rcx + rdi + 0x18]
mov qword [r8 + 0x18], rax
movsxd rax, dword [r9 + rdx*4 + 0x387f84]
mov r9d, dword [r9 + rdx*4 + 0x387f88]
test eax, eax
js 0x6d7224
lea rcx, [rsp + 0x158]
lea rdx, [rax + rdi]
mov r8d, 0x20
test r9d, r9d
js 0x6d7210
nop word [rax + rax]
movzx eax, byte [rdx]
inc rcx
inc rdx
or byte [rcx - 1], al
sub r8, 1
jne 0x6d71f0
jmp 0x6d7224
movzx eax, byte [rdx]
inc rcx
inc rdx
not al
and byte [rcx - 1], al
sub r8, 1
jne 0x6d7210
test r9d, r9d
jns 0x6d722c
neg r9d
cmp r9d, 1
jne 0x6d723c
and byte [rsp + 0x159], 0xc3
jmp 0x6d724a
cmp r9d, 2
jne 0x6d724a
and byte [rsp + 0x163], 0x7f
mov rcx, r10
mov edx, 0x20
test esi, esi
je 0x6d7280
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x158]
inc rcx
not al
or byte [rsp + rcx + 0xe7], al
sub rdx, 1
jne 0x6d7260
jmp 0x6d7298
movzx eax, byte [rsp + rcx + 0x158]
inc rcx
or byte [rsp + rcx + 0xe7], al
sub rdx, 1
jne 0x6d7280
mov ecx, dword [rsp + 0x88]
mov r11, qword [rsp + 0x210]
mov r13d, 0xa
mov dword [rsp + 0xc4], r13d
lea rbx, [r12 + 1]
jmp 0x6d7d0f
cmp edi, 0x5c
jne 0x6d7310
mov rbx, qword [rsp + 0x1e8]
mov r8d, dword [r15 + 0x58]
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r9d, r12d
mov dword [rsp + 0x20], 1
call fcn.006d4920
cmp dword [rbx], 0
mov edi, eax
jne 0x6da3d2
mov r8d, eax
neg r8d
cmp r8d, 5
jne 0x6d7391
lea edi, [r8 + 3]
mov rbx, qword [rsp + 0x70]
mov edx, dword [rsp + 0x78]
cmp byte [rbx + 1], 0x5c
jne 0x6d733e
xor ecx, ecx
nop dword [rax + rax]
cmp byte [rbx + 2], 0x45
lea rax, [rbx + 2]
jne 0x6d733a
mov qword [rsp + 0x70], rax
cmp byte [rax + 1], 0x5c
mov edx, ecx
mov rbx, rax
je 0x6d7320
mov dword [rsp + 0x78], edx
mov r12, rbx
cmp edi, 0xd
je 0x6d734b
cmp edi, 0xa
jne 0x6d7350
or dword [r15 + 0x6c], 0x20
test edx, edx
jne 0x6d7c5d
cmp byte [rbx + 1], 0x2d
jne 0x6d7c5d
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x5c
jne 0x6d7a23
cmp byte [rbx + 1], 0x45
jne 0x6d79eb
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x5c
je 0x6d7374
jmp 0x6d7a23
cmp r8d, 0x16
jne 0x6d73a0
lea edi, [r8 + 0x42]
jmp 0x6d7307
cmp r8d, 0x11
jne 0x6d73af
lea edi, [r8 + 0x41]
jmp 0x6d7307
cmp r8d, 0x1a
jne 0x6d73f8
mov rbx, qword [rsp + 0x70]
cmp byte [rbx + 1], 0x5c
jne 0x6d73d6
cmp byte [rbx + 2], 0x45
jne 0x6d73d6
mov ecx, dword [rsp + 0x88]
add rbx, 2
jmp 0x6d7d04
mov ecx, dword [rsp + 0x88]
mov r11, qword [rsp + 0x210]
mov r8d, 1
mov dword [rsp + 0x78], r8d
xor r10d, r10d
jmp 0x6d7d14
cmp r8d, 0x19
je 0x6d79d2
test eax, eax
jns 0x6d7307
mov r11, qword [rsp + 0x210]
mov rdx, qword [r15 + 0x10]
add r13d, 2
mov dword [rsp + 0xc4], r13d
test r11, r11
jne 0x6d75eb
lea eax, [r8 - 6]
cmp eax, 5
ja case.default.0x6d744c
lea r9, [0x00400000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x2da770]
add rcx, r9
jmp rcx
lea rcx, [rsp + 0xe8]
add rdx, 0x40
mov r8d, 0x20
movzx eax, byte [rdx]
inc rcx
inc rdx
or byte [rcx - 1], al
sub r8, 1
jne 0x6d7460
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
mov dword [rsp + 0xb8], 1
lea rcx, [rsp + 0xe8]
add rdx, 0x40
mov r8d, 0x20
movzx eax, byte [rdx]
inc rcx
inc rdx
not al
or byte [rcx - 1], al
sub r8, 1
jne 0x6d74a0
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
lea rcx, [rsp + 0xe8]
add rdx, 0xa0
mov r8d, 0x20
nop word [rax + rax]
movzx eax, byte [rdx]
inc rcx
inc rdx
or byte [rcx - 1], al
sub r8, 1
jne 0x6d74e0
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
mov dword [rsp + 0xb8], 1
lea rcx, [rsp + 0xe8]
add rdx, 0xa0
mov r8d, 0x20
nop word [rax + rax]
movzx eax, byte [rdx]
inc rcx
inc rdx
not al
or byte [rcx - 1], al
sub r8, 1
jne 0x6d7530
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
lea rax, [rsp + 0xe8]
lea rcx, [rsp + 0xe8]
mov r8d, 0x20
sub rdx, rax
nop
movzx eax, byte [rdx + rcx]
inc rcx
or byte [rcx - 1], al
sub r8, 1
jne 0x6d7570
and byte [rsp + 0xe9], 0xf7
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
lea rax, [rsp + 0xe8]
mov dword [rsp + 0xb8], 1
lea rcx, [rsp + 0xe8]
sub rdx, rax
mov r8d, 0x20
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
not al
or byte [rcx - 1], al
sub r8, 1
jne 0x6d75c0
or byte [rsp + 0xe9], 8
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
cmp eax, 0xfffffff9
je 0x6d79da
cmp eax, 0xfffffffa
je 0x6d79da
cmp eax, 0xfffffff5
je 0x6d79da
cmp eax, 0xfffffff6
je 0x6d79da
cmp eax, 0xfffffff7
je 0x6d79da
cmp eax, 0xfffffff8
je 0x6d79da
cmp r8d, 0x13
jne 0x6d7729
or byte [rsp + 0xe9], 2
or byte [rsp + 0xec], 1
or byte [rsp + 0xfc], 1
test esi, esi
je 0x6d79da
mov r12d, 1
inc rbp
mov ecx, 0x1680
mov byte [rbp - 1], r12b
mov rdx, rbp
mov dword [rsp + 0x8c], r12d
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x180e
mov byte [rbp], r12b
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2000
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x200a
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x202f
mov byte [rbp], r12b
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x205f
mov byte [rbp], r12b
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x3000
mov byte [rbp], r12b
inc rbp
mov rdx, rbp
call fcn.006dc2d0
mov rbx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x210]
movsxd rcx, eax
add rbp, rcx
mov ecx, dword [rsp + 0x88]
xor r10d, r10d
jmp 0x6d7d1c
cmp r8d, 0x12
jne 0x6d78d0
xor r10d, r10d
mov edx, r10d
nop dword [rax]
mov ecx, edx
mov r8d, 0xff
sub ecx, 1
je 0x6d775f
sub ecx, 3
je 0x6d7757
cmp ecx, 0x10
jne 0x6d7765
mov r8d, 0xfe
jmp 0x6d7765
mov r8d, 0xfd
movsxd rax, edx
inc edx
or byte [rsp + rax + 0xe8], r8b
cmp edx, 0x20
jl 0x6d7740
test esi, esi
je 0x6d78bf
mov byte [rbp], 2
inc rbp
mov r12d, 1
mov rdx, rbp
mov ecx, 0x100
mov dword [rsp + 0x8c], r12d
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x167f
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x1681
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x180d
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x180f
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x1fff
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x200b
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x202e
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2030
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x205e
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2060
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2fff
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x3001
mov byte [rbp], 2
inc rbp
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x7fffffff
jmp 0x6d76fa
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0f
cmp r8d, 0x15
jne 0x6d7920
or byte [rsp + 0xe9], 0x3c
or byte [rsp + 0xf8], 0x20
test esi, esi
je 0x6d7472
mov byte [rbp], 2
inc rbp
mov r12d, 1
mov rdx, rbp
mov ecx, 0x2028
mov dword [rsp + 0x8c], r12d
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2029
jmp 0x6d76fa
cmp r8d, 0x14
jne 0x6d79af
xor r10d, r10d
mov ecx, r10d
mov edx, ecx
mov r8d, 0xff
sub edx, 1
je 0x6d794a
cmp edx, 0xf
jne 0x6d7950
mov r8d, 0xdf
jmp 0x6d7950
mov r8d, 0xc3
movsxd rax, ecx
inc ecx
or byte [rsp + rax + 0xe8], r8b
cmp ecx, 0x20
jl 0x6d7930
test esi, esi
je 0x6d78bf
mov byte [rbp], 2
inc rbp
mov r12d, 1
mov rdx, rbp
mov ecx, 0x100
mov dword [rsp + 0x8c], r12d
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2027
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, 0x2029
jmp 0x6d78a0
test r12b, 0x40
jne 0x6da3f0
mov rbx, qword [rsp + 0x70]
sub r13d, 2
movzx edi, byte [rbx]
mov dword [rsp + 0xc4], r13d
jmp 0x6d730c
mov r11, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
cmp byte [rbx], 0x5c
jne 0x6d7a23
cmp byte [rbx + 1], 0x51
jne 0x6d7a23
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x5c
jne 0x6d7a1a
cmp byte [rbx + 1], 0x45
jne 0x6d7a1a
add rbx, 2
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x5c
je 0x6d79f0
jmp 0x6d7a23
mov edx, 1
mov dword [rsp + 0x78], edx
mov al, byte [rbx]
test al, al
je 0x6d7c8d
test edx, edx
jne 0x6d7a39
cmp al, 0x5d
je 0x6d7c8d
test esi, esi
movzx esi, al
je 0x6d7aa6
cmp esi, 0xc0
jl 0x6d7aa6
mov eax, esi
lea rdx, [0x00400000]
and eax, 0x3f
movzx ecx, byte [rax + rdx + 0x388b80]
mov r9, rcx
and esi, dword [rdx + rcx*4 + 0x388b68]
lea r8d, [rcx + rcx*2]
mov edx, 1
add r8d, r8d
mov ecx, r8d
shl esi, cl
cmp rdx, r9
jg 0x6d7a9a
nop dword [rax]
movzx eax, byte [rdx + rbx]
sub r8d, 6
inc rdx
and eax, 0x3f
mov ecx, r8d
shl eax, cl
or esi, eax
cmp rdx, r9
jle 0x6d7a80
mov edx, dword [rsp + 0x78]
add rbx, r9
mov qword [rsp + 0x70], rbx
test edx, edx
jne 0x6d7afa
cmp esi, 0x5c
jne 0x6d7afa
mov rbx, qword [rsp + 0x1e8]
mov r9d, dword [rsp + 0x90]
mov r8d, dword [r15 + 0x58]
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov dword [rsp + 0x20], 1
call fcn.006d4920
cmp dword [rbx], 0
mov esi, eax
jne 0x6da3d2
test eax, eax
jns 0x6d7af5
cmp eax, 0xfffffffb
jne 0x6d7c34
mov esi, 8
mov rbx, qword [rsp + 0x70]
cmp esi, edi
jl 0x6da400
je 0x6d7c56
cmp esi, 0xd
je 0x6d7b12
cmp esi, 0xa
jne 0x6d7b17
or dword [r15 + 0x6c], 0x20
cmp dword [rsp + 0xa8], 0
mov r12d, dword [rsp + 0x90]
je 0x6d7b8b
cmp esi, 0xff
jg 0x6d7b3c
test r12b, 1
je 0x6d7b8b
cmp esi, 0x7f
jle 0x6d7b8b
mov byte [rbp], 2
inc rbp
mov ecx, edi
mov rdx, rbp
mov dword [rsp + 0x8c], 1
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
mov ecx, esi
mov rdx, rbp
call fcn.006dc2d0
movsxd rcx, eax
add rbp, rcx
test r12b, 1
je 0x6d79d2
cmp edi, 0x7f
jg 0x6d79d2
mov rbx, qword [rsp + 0x70]
mov esi, 0x7f
mov r11, qword [rsp + 0x210]
mov eax, esi
mov ecx, esi
sub eax, edi
mov dword [rsp + 0x88], ecx
lea r13d, [r13 + rax + 1]
mov dword [rsp + 0xc4], r13d
test r11, r11
jne 0x6d7d0c
cmp edi, esi
jg 0x6d7d0c
mov r10d, r12d
movsxd r9, edi
and r10d, 1
nop dword [rax + rax]
mov eax, edi
mov ecx, edi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rsp + r8 + 0xe8], dl
test r10d, r10d
je 0x6d7c1f
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 [rsp + rdx + 0xe8], al
inc edi
inc r9
cmp edi, esi
jle 0x6d7bd0
mov ecx, dword [rsp + 0x88]
jmp 0x6d7d0c
cmp eax, 0xffffffea
jne 0x6d7c41
lea esi, [rax + 0x6e]
jmp 0x6d7af5
cmp eax, 0xffffffef
jne 0x6d7c4e
lea esi, [rax + 0x63]
jmp 0x6d7af5
mov rbx, r12
mov qword [rsp + 0x70], rbx
mov esi, dword [rsp + 0xa8]
test esi, esi
je 0x6d7c97
cmp edi, 0xff
jg 0x6d7c78
test byte [rsp + 0x90], 1
je 0x6d7c97
cmp edi, 0x7f
jle 0x6d7c97
mov r12d, 1
mov ecx, edi
mov dword [rsp + 0x8c], r12d
jmp 0x6d76f3
mov rbx, r12
mov qword [rsp + 0x70], rbx
jmp 0x6d7c5d
mov eax, edi
mov ecx, edi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rsp + r8 + 0xe8], dl
test byte [rsp + 0x90], 1
je 0x6d7cf0
mov rax, qword [r15 + 8]
movsxd rcx, edi
movzx edi, byte [rax + rcx]
mov eax, edi
mov ecx, edi
cdq
and ecx, 7
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
shl dl, cl
movsxd r8, eax
or byte [rsp + r8 + 0xe8], dl
inc r13d
mov ecx, edi
mov dword [rsp + 0xc4], r13d
mov dword [rsp + 0x88], ecx
mov r11, qword [rsp + 0x210]
xor r10d, r10d
mov r8d, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x8c]
inc rbx
mov qword [rsp + 0x70], rbx
movzx edi, byte [rbx]
test edi, edi
je 0x6d6ff6
mov rax, qword [rsp + 0xe0]
cmp edi, 0x5d
jne 0x6d7009
test r8d, r8d
jne 0x6d7009
mov edx, dword [rsp + 0xbc]
cmp r13d, 1
jne 0x6d7e53
test r12d, r12d
jne 0x6d7e53
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x6d7d7e
test edx, edx
je 0x6d7d7e
cmp ecx, 0x80
jge 0x6d7e53
mov r9d, dword [rsp + 0x98]
mov dword [rsp + 0xe0], r9d
test edx, edx
je 0x6d7df3
mov r10, qword [rsp + 0x80]
mov edi, dword [rsp + 0x94]
mov rbp, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x90]
mov r11, qword [rsp + 0x210]
mov byte [r10], 0x1e
cmp edi, 0xfffffffe
mov byte [r10 + 1], cl
mov rbx, qword [rsp + 0x70]
mov eax, 0xffffffff
cmove edi, eax
add r10, 2
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x94], edi
mov r13d, edi
mov dword [rsp + 0xc0], edi
jmp 0x6d8f06
test eax, eax
je 0x6d7e29
cmp ecx, 0x7f
jle 0x6d7e29
lea rdx, [rsp + 0x120]
call fcn.006dc2d0
mov r10, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x90]
mov rsi, qword [rsp + 0x1e8]
mov r11d, eax
jmp 0x6d6daf
mov r10, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x90]
mov rsi, qword [rsp + 0x1e8]
mov byte [rsp + 0x120], cl
mov r11d, 1
jmp 0x6d6dbc
mov edi, dword [rsp + 0x94]
mov r9d, dword [rsp + 0xb8]
mov eax, 0xffffffff
cmp edi, 0xfffffffe
cmove edi, eax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x94], edi
mov r13d, edi
mov dword [rsp + 0xc0], edi
test r12d, r12d
je 0x6d7f60
test r9d, r9d
jne 0x6d7f60
mov byte [rbp], r9b
inc rbp
test edx, edx
setne al
cmp dword [rsp + 0xc4], r9d
mov byte [r14], 0x50
mov byte [r14 + 3], al
jle 0x6d7f1c
add r14, 4
or al, 2
mov r8, rbp
mov byte [r14 - 1], al
lea rcx, [r14 + 0x20]
sub r8, r14
mov rdx, r14
mov qword [rsp + 0x80], r14
call fcn.006a4bf0
mov r8d, dword [rsp + 0x78]
lea rcx, [rsp + 0xe8]
mov rax, qword [rcx]
mov r10, r14
lea r10, [rbp + 0x20]
mov qword [r14], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x80], r10
mov qword [r14 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r14 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r14 + 0x18], rax
jmp 0x6d7f27
mov r10, rbp
mov qword [rsp + 0x80], rbp
mov rbp, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x90]
mov r11, qword [rsp + 0x210]
mov rax, r10
sub rax, rbp
sar rax, 8
mov byte [rbp + 1], al
movzx eax, r10b
sub al, bpl
mov byte [rbp + 2], al
mov rbx, qword [rsp + 0x70]
jmp 0x6d8f06
mov r10, qword [rsp + 0x80]
cmp edx, r9d
setne al
inc r10
add al, 0x4e
mov byte [r10 - 1], al
test edx, edx
je 0x6d7fac
test r11, r11
jne 0x6d7fd2
lea r8, [rsp + 0xe8]
mov rcx, r10
lea edx, [r11 + 0x20]
sub r8, r10
movzx eax, byte [r8 + rcx]
inc rcx
sub rdx, 1
not al
mov byte [rcx - 1], al
jne 0x6d7f92
mov r8d, dword [rsp + 0x78]
jmp 0x6d7fd2
lea rcx, [rsp + 0xe8]
mov rax, qword [rcx]
mov qword [r10], rax
mov rax, qword [rcx + 8]
mov qword [r10 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r10 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r10 + 0x18], rax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x90]
mov r11, qword [rsp + 0x210]
add r10, 0x20
mov qword [rsp + 0x80], r10
jmp 0x6d8f06
test esi, esi
je case.0x6d6c36.12
mov r9, qword [rsp + 0x1e8]
lea rcx, [rbx + 1]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0xd8]
call fcn.006d4e40
cmp dword [r9], 0
mov r8, r9
mov rbx, rax
mov qword [rsp + 0x70], rax
jne 0x6da699
mov r14d, dword [rsp + 0xd8]
mov r12d, dword [rsp + 0xd0]
mov r10, qword [rsp + 0x80]
xor r9d, r9d
jmp 0x6d80a8
or eax, 0xffffffff
mov r12d, eax
mov dword [rsp + 0xd0], eax
jmp 0x6d8095
or eax, 0xffffffff
mov r14d, 1
mov dword [rsp + 0xd8], r14d
mov r12d, eax
mov dword [rsp + 0xd0], eax
jmp 0x6d80a0
mov r12d, 1
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd8], r9d
mov r14d, r9d
mov r8, qword [rsp + 0x1e8]
test rbp, rbp
je 0x6da45e
test r14d, r14d
jne 0x6d80d1
mov eax, dword [rsp + 0xe0]
mov r11d, r13d
mov dword [rsp + 0x94], r13d
mov dword [rsp + 0x98], eax
jmp 0x6d80d9
mov r11d, dword [rsp + 0x94]
mov eax, 0x200
cmp r14d, r12d
mov qword [rsp + 0xc8], rbp
movzx ecx, byte [rbx + 1]
cmove eax, r9d
xor edx, edx
mov dword [rsp + 0xbc], eax
lea rax, [rbx + 1]
mov r13d, r9d
mov esi, r9d
mov dword [rsp + 0xb8], r9d
mov r9, rbp
cmp cl, 0x2b
jne 0x6d8133
mov esi, 1
mov ecx, edx
mov dword [rsp + 0x88], edx
mov rbx, rax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0xb8], esi
jmp 0x6d8157
cmp cl, 0x3f
jne 0x6d8149
mov ecx, dword [rsp + 0x144]
mov rbx, rax
mov qword [rsp + 0x70], rax
jmp 0x6d8150
mov ecx, dword [rsp + 0x140]
mov dword [rsp + 0x88], ecx
movzx ebp, byte [rbp]
cmp bpl, 0x1c
je 0x6d888d
cmp bpl, 0x1d
je 0x6d888d
cmp bpl, 0x1e
jne 0x6d81e8
mov rax, qword [rsp + 0xb0]
mov r13d, reloc.WS2_32.dll_listen
movzx edi, byte [rax + 1]
test esi, esi
jne 0x6d892b
test r12d, r12d
jns 0x6d892b
mov edx, dword [rsp + 0x90]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], edx
mov edx, edi
lea ecx, [rsi + 0x1e]
mov r8d, dword [rsp + 0xa8]
lea rax, [rbx + 1]
mov qword [rsp + 0x20], rax
call fcn.006d5df0
mov rbx, qword [rsp + 0x70]
test eax, eax
je 0x6d892b
xor eax, eax
mov dword [rsp + 0xb8], 1
mov r15d, eax
jmp 0x6d8933
cmp bpl, 0x17
jae 0x6d8222
mov r13d, 0x1a
movzx edi, bpl
test esi, esi
jne 0x6d892b
test r12d, r12d
jns 0x6d892b
mov edx, dword [rsp + 0x90]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], edx
xor edx, edx
mov ecx, edi
jmp 0x6d81b0
cmp bpl, 0x4e
je 0x6d87ef
cmp bpl, 0x4f
je 0x6d87ef
cmp bpl, 0x50
je 0x6d87ef
cmp bpl, 0x51
je 0x6d87ef
cmp bpl, 0x5e
je 0x6d8278
cmp bpl, 0x5f
je 0x6d8278
cmp bpl, 0x5d
je 0x6d8278
cmp bpl, 0x60
je 0x6d8278
cmp bpl, 0x6d
je 0x6d8cfb
mov dword [r8], reloc.WS2_32.dll_inet_addr
jmp 0x6da699
mov r13, qword [rsp + 0xb0]
mov edi, r10d
mov r15d, edx
sub edi, r13d
mov dword [rsp + 0xc4], edx
mov rsi, rdx
cmp bpl, 0x60
jne 0x6d82a4
cmp byte [r13 + 3], 0x66
je 0x6da433
cmp r12d, 0xffffffff
jne 0x6d82d7
mov rdx, r13
nop dword [rax]
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x55
jne 0x6d82b0
mov r15d, r10d
sub r15d, edx
mov dword [rsp + 0xc4], r15d
test r14d, r14d
jne 0x6d83e2
cmp r12d, 1
mov rax, qword [rsp + 0x110]
mov r9, qword [rsp + 0x208]
mov r8d, dword [rsp + 0xa8]
mov byte [r10], r14b
mov rcx, r13
mov qword [rsp + 0x20], rax
jg 0x6d8371
lea edx, [r14 + 1]
call fcn.006d5c90
lea rbx, [r13 + 1]
movsxd r8, edi
mov rcx, rbx
mov rdx, r13
call fcn.006a4bf0
mov r10, qword [rsp + 0x80]
inc r10
mov qword [rsp + 0x80], r10
test r12d, r12d
jne 0x6d8346
mov byte [r13], reloc.WS2_32.dll_WSAGetLastError
jmp 0x6d8cf6
mov edx, dword [rsp + 0x88]
mov qword [rsp + 0xb0], rbx
dec r12d
lea eax, [rdx + 0x67]
mov byte [r13], al
mov rbx, qword [rsp + 0x70]
mov r9, qword [rsp + 0xc8]
jmp 0x6d853b
mov eax, 4
mov edx, eax
call fcn.006d5c90
lea rcx, [r13 + 4]
movsxd r8, edi
mov rdx, r13
call fcn.006a4bf0
mov r11, qword [rsp + 0x80]
mov edx, dword [rsp + 0x88]
add r11, 4
lea eax, [rdx + 0x67]
lea rsi, [r13 + 2]
mov byte [r13], al
mov byte [r13 + 1], 0x5e
mov byte [r13 + 2], 0
mov byte [r13 + 3], 0
mov rbx, qword [rsp + 0x70]
mov r9, qword [rsp + 0xc8]
add r13, 4
mov qword [rsp + 0x80], r11
dec r12d
mov qword [rsp + 0xb0], r13
jmp 0x6d853b
cmp r14d, 1
jle 0x6d852c
mov r10, qword [rsp + 0x210]
test r10, r10
je 0x6d8448
mov eax, dword [rsp + 0xdc]
lea ecx, [r14 - 1]
mov edx, ecx
movd xmm1, ecx
movd xmm0, eax
imul edx, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x00788a70]
ja 0x6da43f
mov ecx, dword [r10]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x6da43f
lea eax, [rcx + rdx]
mov dword [r10], eax
jmp 0x6d852c
cmp dword [rsp + 0x12c], 0
je 0x6d8466
mov eax, dword [rsp + 0x98]
test eax, eax
cmovs eax, r11d
mov dword [rsp + 0x98], eax
cmp r14d, 1
jle 0x6d852c
mov rdx, qword [rsp + 0x208]
mov r15, qword [rsp + 0x80]
lea eax, [r14 - 1]
mov r14, qword [rsp + 0xb0]
mov r13d, eax
movsxd rbp, edi
mov rbx, qword [rdx + 0x40]
mov r8, rbp
mov rcx, r15
mov rdx, r14
call fcn.006a4bf0
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x208]
cmp r8, rbx
jae 0x6d84f6
nop dword [rax]
movzx eax, byte [r8 + 1]
movzx ecx, byte [r8]
add r8, 2
shl ecx, 8
or ecx, eax
mov rax, qword [rdx + 0x40]
add ecx, edi
sar ecx, 8
mov byte [rax], cl
movzx ecx, byte [r8 - 1]
mov rax, qword [rdx + 0x40]
add cl, dil
mov byte [rax + 1], cl
add qword [rdx + 0x40], 2
cmp r8, rbx
jb 0x6d84c0
add r15, rbp
sub r13, 1
mov qword [rsp + 0x110], rbx
jne 0x6d8492
mov r14d, dword [rsp + 0xd8]
mov rbx, qword [rsp + 0x70]
mov r9, qword [rsp + 0xc8]
mov qword [rsp + 0x80], r15
mov r15d, dword [rsp + 0xc4]
mov edx, dword [rsp + 0x88]
test r12d, r12d
jle 0x6d8546
sub r12d, r14d
mov dword [rsp + 0xd0], r12d
test r12d, r12d
js 0x6d875a
mov r8, qword [rsp + 0x210]
test r8, r8
je 0x6d8600
test r12d, r12d
jle 0x6d8600
mov eax, dword [rsp + 0xdc]
movd xmm0, r12d
add eax, 7
mov ecx, eax
movd xmm1, eax
imul ecx, r12d
cvtdq2pd xmm0, xmm0
sub ecx, 6
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x00788a70]
ja 0x6da44b
mov edx, dword [r8]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x6da44b
lea eax, [rdx + rcx]
mov dword [r8], eax
mov r10, qword [rsp + 0x80]
test rsi, rsi
je 0x6d8bae
nop word [rax + rax]
mov ecx, r10d
mov rdx, r10
sub ecx, esi
inc ecx
movsxd rax, ecx
sub rdx, rax
movzx r8d, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl r8d, 8
or r8d, eax
jne 0x6d872b
xor eax, eax
mov rsi, rax
jmp 0x6d8731
lea ebp, [r12 - 1]
test ebp, ebp
js 0x6d85b4
mov eax, dword [rsp + 0x88]
mov r13, qword [rsp + 0x208]
mov r10, qword [rsp + 0x80]
mov r14, qword [rsp + 0x110]
add al, 0x67
movsxd r12, edi
mov dword [rsp + 0x88], eax
mov rbx, qword [r13 + 0x40]
mov byte [r10], al
inc r10
mov qword [rsp + 0x80], r10
test ebp, ebp
je 0x6d867c
mov byte [r10], 0x5e
test rsi, rsi
jne 0x6d8659
xor eax, eax
mov ecx, eax
jmp 0x6d865f
lea ecx, [r10 + 1]
sub ecx, esi
mov eax, ecx
lea rsi, [r10 + 1]
mov byte [r10 + 2], cl
sar eax, 8
add r10, 3
mov byte [r10 - 2], al
mov qword [rsp + 0x80], r10
mov rdx, qword [rsp + 0xb0]
mov r8, r12
mov rcx, r10
call fcn.006a4bf0
cmp r14, rbx
jae 0x6d86eb
test ebp, ebp
mov eax, 4
mov edx, 1
cmovne edx, eax
test ebp, ebp
mov r8d, 1
cmovne r8d, eax
nop
movzx eax, byte [r14 + 1]
movzx ecx, byte [r14]
add r14, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r13 + 0x40]
add ecx, edi
add ecx, edx
sar ecx, 8
mov byte [rax], cl
movzx ecx, byte [r14 - 1]
mov rax, qword [r13 + 0x40]
add cl, r8b
add cl, dil
mov byte [rax + 1], cl
add qword [r13 + 0x40], 2
cmp r14, rbx
jb 0x6d86b0
mov r10, qword [rsp + 0x80]
mov eax, dword [rsp + 0x88]
mov r14, rbx
add r10, r12
sub ebp, 1
mov qword [rsp + 0x80], r10
jns 0x6d8634
mov r9, qword [rsp + 0xc8]
mov qword [rsp + 0x110], rbx
mov rbx, qword [rsp + 0x70]
jmp 0x6d85bc
movsxd rax, r8d
sub rsi, rax
mov byte [r10], 0x55
mov byte [r10 + 2], cl
mov eax, ecx
sar eax, 8
add r10, 3
mov byte [r10 - 2], al
mov byte [rdx + 1], al
mov byte [rdx + 2], cl
test rsi, rsi
jne 0x6d85d0
jmp 0x6d8b99
mov r10, qword [rsp + 0x80]
movsxd rax, r15d
add dl, 0x56
mov rdi, r10
sub rdi, rax
mov rsi, rdi
movzx eax, byte [rdi + 1]
mov byte [rdi], dl
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdi + 2]
or rcx, rax
sub rsi, rcx
cmp qword [rsp + 0x210], 0
jne 0x6d8ba1
cmp byte [rsi], 0x5d
je 0x6d8ba1
mov rbx, rsi
mov r8d, dword [rsp + 0xa8]
mov rdx, rdi
mov rcx, rbx
call fcn.006d5840
test eax, eax
jne 0x6d87df
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
je 0x6d87a2
mov r10, qword [rsp + 0x80]
jmp 0x6d8ba1
add byte [rsi], 3
mov r10, qword [rsp + 0x80]
jmp 0x6d8ba1
test r12d, r12d
jne 0x6d8809
mov r10, qword [rsp + 0xb0]
mov qword [rsp + 0x80], r10
jmp 0x6d8cfb
cmp r12d, 1
je 0x6d8814
or dword [r15 + 0x6c], 1
test r14d, r14d
jne 0x6d883b
cmp r12d, 0xffffffff
jne 0x6d882a
add cl, 0x46
mov byte [r10], cl
jmp 0x6d8b96
cmp r12d, 1
jne 0x6d8852
add cl, 0x4a
mov byte [r10], cl
jmp 0x6d8b96
cmp r14d, 1
jne 0x6d8852
cmp r12d, 0xffffffff
jne 0x6d8852
add cl, 0x48
mov byte [r10], cl
jmp 0x6d8b96
add cl, 0x4c
mov eax, r14d
sar eax, 8
mov byte [r10], cl
mov byte [r10 + 2], r14b
mov byte [r10 + 1], al
cmp r12d, 0xffffffff
cmove r12d, edx
mov eax, r12d
mov byte [r10 + 4], r12b
mov dword [rsp + 0xd0], r12d
sar eax, 8
add r10, 5
mov byte [r10 - 2], al
jmp 0x6d8b99
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
je 0x6d88e0
test byte [r10 - 1], 0x80
lea rdx, [r10 - 1]
je 0x6d88e0
movzx eax, byte [rdx]
and al, 0xc0
cmp al, 0x80
jne 0x6d88bd
nop
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x6d88b0
mov edi, r10d
lea rcx, [rsp + 0x130]
sub edi, edx
movsxd r8, edi
call fcn.006a4bf0
mov r8d, dword [rsp + 0xa8]
bts edi, 7
jmp 0x6d88ff
cmp r14d, 1
movzx edi, byte [r10 - 1]
jle 0x6d88ff
mov eax, dword [r15 + 0x70]
or eax, edi
or eax, dword [rsp + 0xd4]
mov dword [rsp + 0x98], eax
test esi, esi
jne 0x6d892b
test r12d, r12d
jns 0x6d892b
mov edx, dword [rsp + 0x90]
mov qword [rsp + 0x30], r15
movzx ecx, bpl
mov dword [rsp + 0x28], edx
mov edx, edi
lea r9, [rsp + 0x130]
jmp 0x6d81b8
mov r15d, dword [rsp + 0x88]
mov rbp, qword [rsp + 0xb0]
movzx eax, byte [rbp]
cmp al, 0x10
je 0x6d8950
cmp al, 0xf
je 0x6d8950
or eax, 0xffffffff
mov ebp, eax
mov esi, eax
jmp 0x6d8958
movzx esi, byte [rbp + 1]
movzx ebp, byte [rbp + 2]
mov r11, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x80]
mov r10, r11
mov qword [rsp + 0x80], r11
test r12d, r12d
je 0x6d8cfb
cmp r12d, 1
je 0x6d898f
mov r8, qword [rsp + 0x208]
or dword [r8 + 0x6c], 1
add r15d, r13d
test r14d, r14d
jne 0x6d89dc
lea r10, [r11 + 1]
cmp r12d, 0xffffffff
jne 0x6d89ad
add r15b, 0x1f
mov byte [r11], r15b
jmp 0x6d8b54
cmp r12d, 1
jne 0x6d89bf
add r15b, 0x23
mov byte [r11], r15b
jmp 0x6d8b54
add r15b, 0x25
mov eax, r12d
sar eax, 8
mov byte [r11], r15b
mov byte [r10 + 1], r12b
mov byte [r10], al
add r10, 2
jmp 0x6d8b54
cmp r14d, 1
jne 0x6d8a34
cmp r12d, 0xffffffff
jne 0x6d89f8
add r15b, 0x21
lea r10, [r11 + 1]
mov byte [r11], r15b
jmp 0x6d8b54
mov r10, rax
mov qword [rsp + 0x80], rax
cmp r12d, 1
je 0x6d8cfb
lea r10, [rax + 1]
add r15b, 0x25
mov byte [rax], r15b
lea eax, [r12 - 1]
dec r12b
sar eax, 8
mov byte [r10 + 1], r12b
add r10, 2
mov byte [r10 - 2], al
jmp 0x6d8b54
lea r10, [r11 + 1]
add r13b, 0x27
mov eax, r14d
sar eax, 8
mov byte [r11], r13b
add r10, 2
mov byte [r10 - 2], al
mov byte [r10 - 1], r14b
mov qword [rsp + 0x80], r10
test r12d, r12d
jns 0x6d8ac8
cmp dword [rsp + 0xa8], 0
je 0x6d8aa3
cmp edi, 0x80
jl 0x6d8aa3
mov ebx, edi
lea rdx, [rsp + 0x130]
mov rcx, r10
and ebx, 7
mov r8, rbx
call fcn.006a4bf0
mov r10, qword [rsp + 0x80]
add r15b, 0x1f
add r10, rbx
inc r10
mov byte [r10 - 1], r15b
jmp 0x6d8b54
mov byte [r10], dil
inc r10
test esi, esi
js 0x6d8ab8
mov byte [r10], sil
mov byte [r10 + 1], bpl
add r10, 2
add r15b, 0x1f
inc r10
mov byte [r10 - 1], r15b
jmp 0x6d8b54
cmp r12d, r14d
je 0x6d8b5c
cmp dword [rsp + 0xa8], 0
je 0x6d8b08
cmp edi, 0x80
jl 0x6d8b08
mov ebx, edi
lea rdx, [rsp + 0x130]
mov rcx, r10
and ebx, 7
mov r8, rbx
call fcn.006a4bf0
mov r10, qword [rsp + 0x80]
add r10, rbx
jmp 0x6d8b0e
mov byte [r10], dil
inc r10
test esi, esi
js 0x6d8b1d
mov byte [r10], sil
mov byte [r10 + 1], bpl
add r10, 2
sub r12d, r14d
mov dword [rsp + 0xd0], r12d
cmp r12d, 1
jne 0x6d8b3b
add r15b, 0x23
inc r10
mov byte [r10 - 1], r15b
jmp 0x6d8b54
add r15b, 0x25
mov eax, r12d
mov byte [r10], r15b
sar eax, 8
mov byte [r10 + 2], r12b
mov byte [r10 + 1], al
add r10, 3
mov qword [rsp + 0x80], r10
cmp dword [rsp + 0xa8], 0
je 0x6d8b93
cmp edi, 0x80
jl 0x6d8b93
mov ebx, edi
lea rdx, [rsp + 0x130]
mov rcx, r10
and ebx, 7
mov r8, rbx
call fcn.006a4bf0
mov r10, qword [rsp + 0x80]
add r10, rbx
jmp 0x6d8b99
mov byte [r10], dil
inc r10
mov qword [rsp + 0x80], r10
mov rbx, qword [rsp + 0x70]
mov r9, qword [rsp + 0xc8]
cmp dword [rsp + 0xb8], 0
je 0x6d8cfb
movzx eax, byte [r9]
cmp al, 0x27
je 0x6d8bcc
cmp al, 0x41
je 0x6d8bd0
cmp al, 0x34
jne 0x6d8c0c
cmp al, 0x41
jne 0x6d8be6
movzx ecx, byte [r9 + 3]
cmp cl, 0x10
je 0x6d8bdf
cmp cl, 0xf
jne 0x6d8be6
mov ecx, 2
jmp 0x6d8be8
xor ecx, ecx
movzx eax, al
lea r11, [0x00400000]
movzx eax, byte [rax + r11 + 0x388ac0]
add eax, ecx
cdqe
add r9, rax
mov qword [rsp + 0xc8], r9
jmp 0x6d8c13
lea r11, [0x00400000]
mov edi, r10d
sub edi, r9d
test edi, edi
jle 0x6d8cfb
movzx eax, byte [r9]
add eax, 0xffffffe1
cmp eax, 0x20
ja case.0x6d8c43.43
cdqe
movzx eax, byte [r11 + rax + 0x2da7bc]
mov ecx, dword [r11 + rax*4 + 0x2da788]
add rcx, r11
jmp rcx
mov byte [r9], 0x28
jmp 0x6d8cf6
mov byte [r9], 0x29
jmp 0x6d8cf6
mov byte [r9], 0x2a
jmp 0x6d8cf6
mov byte [r9], 0x2b
jmp 0x6d8cf6
mov byte [r9], 0x42
jmp 0x6d8cf6
mov byte [r9], 0x43
jmp 0x6d8cf6
mov byte [r9], 0x44
jmp 0x6d8cf6
mov byte [r9], 0x45
jmp 0x6d8cf6
mov byte [r9], 0x35
jmp 0x6d8cf6
mov byte [r9], gethostname
jmp 0x6d8cf6
mov byte [r9], gethostname
jmp 0x6d8cf6
mov byte [r9], gethostname
jmp 0x6d8cf6
lea rcx, [r9 + 3]
movsxd r8, edi
mov rdx, r9
call fcn.006a4bf0
mov rax, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x80]
mov byte [rax], 0x5d
mov byte [r10 + 3], 0x55
add edi, 3
mov byte [r10 + 5], dil
mov ecx, edi
sar ecx, 8
add r10, 6
mov byte [r10 - 2], cl
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x80], r10
mov byte [rax + 1], cl
mov rax, qword [rsp + 0xc8]
mov byte [rax + 2], dil
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x208]
mov r13d, dword [rsp + 0xc0]
mov r12d, dword [rsp + 0x90]
xor eax, eax
mov rbp, rax
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0xbc]
or dword [rcx + 0x70], eax
jmp 0x6d8ef9
mov r10, qword [rsp + 0x208]
xor edi, edi
inc rbx
mov r9, qword [r10 + 0x40]
mov qword [rsp + 0x70], rbx
mov r8b, byte [rbx]
mov qword [rsp + 0x110], r9
mov r14d, r12d
mov dword [rsp + 0xbc], r12d
mov dword [rsp + 0x8c], edi
lea r15d, [rdi + 0x5f]
mov dword [rsp + 0x88], edi
cmp r8b, 0x2a
jne 0x6d8e7e
movzx eax, byte [rbx + 1]
mov rcx, qword [r10 + 0x18]
lea rdx, [rbx + 1]
test byte [rax + rcx], 2
je 0x6d8e7e
lea rsi, str.ACCEPT
mov rbx, rdx
mov r12, rdx
mov qword [rsp + 0xb0], rdi
nop word [rax + rax]
inc rbx
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 2
jne 0x6d8db0
mov al, byte [rbx]
cmp al, 0x3a
je 0x6da47d
cmp al, 0x29
jne 0x6da46a
sub ebx, edx
mov ebp, edi
nop word [rax + rax]
cmp ebx, dword [r11 + rdi*8 + 0x387ed0]
jne 0x6d8e03
movsxd r8, ebx
mov rdx, rsi
mov rcx, r12
call fcn.006a5580
lea r11, [0x00400000]
test eax, eax
je 0x6d8e48
mov eax, dword [r11 + rdi*8 + 0x387ed0]
inc rdi
inc ebp
inc eax
cdqe
add rsi, rax
cmp rdi, 7
jl 0x6d8de0
mov r10, qword [rsp + 0x80]
cmp ebp, 7
mov rbx, qword [rsp + 0x70]
jge 0x6da46a
mov rbp, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x90]
jmp 0x6d8ef9
mov r10, qword [rsp + 0x80]
movzx eax, byte [r11 + rdi*8 + 0x387ed4]
inc r10
mov byte [r10 - 1], al
mov qword [rsp + 0x80], r10
cmp al, 0x6e
jne 0x6d8e25
mov r8, qword [rsp + 0x208]
mov dword [r8 + 0x74], 1
jmp 0x6d8e25
cmp r8b, 0x3f
jne 0x6d98cb
inc rbx
mov qword [rsp + 0x70], rbx
movzx r8d, byte [rbx]
lea eax, [r8 - 0x21]
cmp eax, 0x5b
ja case.0x6d8eb7.47
cdqe
movzx eax, byte [r11 + rax + 0x2da81c]
mov ecx, dword [r11 + rax*4 + 0x2da7e0]
add rcx, r11
jmp rcx
inc rbx
mov qword [rsp + 0x70], rbx
mov al, byte [rbx]
test al, al
je 0x6d8ed9
cmp al, 0x29
je 0x6d8eec
inc rbx
mov qword [rsp + 0x70], rbx
mov al, byte [rbx]
test al, al
jne 0x6d8ec7
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], reloc.WS2_32.dll_select
jmp 0x6da699
cmp byte [rbx], dil
je 0x6d8ed9
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x210]
mov r8d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x1e8]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
inc rbx
jmp 0x6d693c
mov ebp, 1
inc rbx
mov esi, edi
lea r15d, [rbp + 0x5d]
mov qword [rsp + 0x70], rbx
jmp 0x6d930a
inc rbx
mov ebp, edi
mov r15d, 0x5e
mov qword [rsp + 0x70], rbx
mov esi, edi
jmp 0x6d930a
cmp byte [rbx + 1], 0x3f
mov r15d, WSAAsyncSelect
jne 0x6d8f85
movzx eax, byte [rbx + 2]
cmp al, 0x3d
je 0x6d9306
cmp al, 0x21
je 0x6d9306
cmp al, 0x3c
je 0x6d9306
mov rbp, qword [rsp + 0x80]
or r12d, 0xffffffff
mov esi, 3
mov byte [rbp + 3], WSAAsyncSelect
mov rbx, qword [rsp + 0x70]
mov dword [rsp + 0x8c], esi
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
mov r9d, r12d
cmp al, 0x52
jne 0x6d8fd2
cmp byte [rbx + 2], 0x26
lea rdx, [rbx + 2]
jne 0x6d8fd2
mov qword [rsp + 0x70], rdx
mov byte [rbp + 3], reloc.WS2_32.dll_WSAAsyncSelect
mov rbx, qword [rsp + 0x70]
mov r14d, r12d
jmp 0x6d900b
cmp al, 0x3c
jne 0x6d8fe3
mov r14d, 0x3e
mov qword [rsp + 0x70], rcx
jmp 0x6d9008
cmp al, 0x27
jne 0x6d8ff4
mov r14d, 0x27
mov qword [rsp + 0x70], rcx
jmp 0x6d9008
mov r14d, edi
cmp al, 0x2d
je 0x6d8fff
cmp al, 0x2b
jne 0x6d900b
mov qword [rsp + 0x70], rcx
movzx r9d, byte [rcx]
mov rbx, rcx
movzx eax, byte [rbx + 1]
mov r8, qword [r10 + 0x18]
lea rcx, [rbx + 1]
test byte [rax + r8], 0x10
je 0x6da509
mov qword [rsp + 0x70], rcx
movzx edx, byte [rcx]
mov rbx, rcx
test byte [r8 + rdx], 0x10
mov r13, rcx
mov rax, rdx
je 0x6d9073
nop word [rax + rax]
test edi, edi
js 0x6d905e
test byte [rax + r11 + 0x388960], 4
je 0x6d905b
lea ecx, [rdi + rdi*4]
movzx eax, dl
lea edi, [rax + rcx*2 - 0x30]
jmp 0x6d905e
mov edi, r12d
inc rbx
mov qword [rsp + 0x70], rbx
movzx edx, byte [rbx]
mov rax, rdx
test byte [r8 + rdx], 0x10
jne 0x6d9040
mov r12d, ebx
sub r12d, r13d
mov dword [rsp + 0xb8], r12d
test r14d, r14d
jle 0x6d909a
movzx eax, byte [rbx]
inc rbx
mov qword [rsp + 0x70], rbx
cmp eax, r14d
jne 0x6da4f3
movzx eax, byte [rbx]
inc rbx
mov qword [rsp + 0x70], rbx
cmp al, 0x29
jne 0x6da4f3
cmp qword [rsp + 0x210], 0
jne 0x6d90f8
test r9d, r9d
jle 0x6d910c
test edi, edi
jle 0x6da4a4
cmp r9d, 0x2d
jne 0x6d90d6
mov eax, dword [r10 + 0x58]
sub eax, edi
lea edi, [rax + 1]
jmp 0x6d90da
add edi, dword [r10 + 0x58]
test edi, edi
jle 0x6da490
cmp edi, dword [r10 + 0x5c]
jg 0x6da490
mov eax, edi
mov byte [rbp + 5], dil
sar eax, 8
mov byte [rbp + 4], al
mov r14d, dword [rsp + 0xbc]
mov ebp, dword [rsp + 0x88]
jmp 0x6d930a
mov rsi, qword [r10 + 0x48]
xor eax, eax
cmp dword [r10 + 0x50], eax
mov ebp, eax
jle 0x6d9159
movsxd rbx, r12d
mov r12, r10
lea rdx, [rsi + 2]
mov r8, rbx
mov rcx, r13
call fcn.006a5580
test eax, eax
je 0x6d9144
movsxd rax, dword [r12 + 0x54]
inc ebp
add rsi, rax
cmp ebp, dword [r12 + 0x50]
jl 0x6d9120
mov rbx, qword [rsp + 0x70]
mov r12d, dword [rsp + 0xb8]
mov r10, qword [rsp + 0x208]
cmp ebp, dword [r10 + 0x50]
jge 0x6d9178
movzx eax, byte [rsi]
movzx ecx, byte [rsi + 1]
mov r11, qword [rsp + 0x80]
shl eax, 8
or ecx, eax
jmp 0x6d923c
mov eax, dword [rsp + 0x90]
mov r9d, r12d
mov r8, r13
shr eax, 3
mov rdx, r10
mov rcx, rbx
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.006d4f50
test eax, eax
jle 0x6d91d6
mov r11, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xbc]
mov esi, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x88]
mov r8, qword [rsp + 0x208]
mov ecx, eax
sar ecx, 8
mov byte [r11 + 5], al
mov byte [r11 + 4], cl
jmp 0x6d9315
test r14d, r14d
jne 0x6da4b7
cmp byte [r13], 0x52
jne 0x6d926c
xor eax, eax
mov edx, 1
cmp r12d, edx
mov ecx, eax
jle 0x6d922a
lea r11, [0x00400000]
nop
movsxd rax, edx
movzx r8d, byte [rax + r13]
test byte [r8 + r11 + 0x388960], 4
je 0x6da4b7
lea ecx, [rcx + rcx*4]
inc edx
cmp edx, r12d
lea ecx, [r8 + rcx*2 - 0x30]
jl 0x6d9200
test ecx, ecx
jne 0x6d922f
mov ecx, 0xffff
mov r11, qword [rsp + 0x80]
mov byte [r11 + 3], reloc.WS2_32.dll_WSAAsyncSelect
mov r14d, dword [rsp + 0xbc]
mov esi, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x88]
mov r8, qword [rsp + 0x208]
mov eax, ecx
mov byte [r11 + 5], cl
sar eax, 8
mov byte [r11 + 4], al
jmp 0x6d9315
cmp r12d, 6
jne 0x6d92b1
lea rdx, str.DEFINE
mov r8d, r12d
mov rcx, r13
call fcn.006a5580
test eax, eax
jne 0x6d92b1
mov r11, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xbc]
mov ebp, dword [rsp + 0x88]
mov r8, qword [rsp + 0x208]
mov byte [r11 + 3], 0x66
lea esi, [rax + 1]
jmp 0x6d9315
test edi, edi
jle 0x6da4d0
mov r8, qword [rsp + 0x208]
cmp edi, dword [r8 + 0x5c]
jg 0x6da4d0
mov r11, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xbc]
mov esi, dword [rsp + 0x8c]
mov ebp, dword [rsp + 0x88]
mov eax, edi
mov byte [r11 + 5], dil
sar eax, 8
mov byte [r11 + 4], al
jmp 0x6d9315
mov r15d, 0x58
inc rbx
mov qword [rsp + 0x70], rbx
mov esi, edi
mov ebp, edi
mov r8, r10
mov r11, qword [rsp + 0x80]
xor r13d, r13d
mov byte [r11], r15b
mov edi, dword [r8 + 0x70]
cmp r15d, 0x5d
mov rax, r13
mov qword [rsp + 0xc8], r11
cmovge rax, r11
mov dword [rsp + 0xdc], r13d
mov qword [rsp + 0xb0], rax
cmp r15d, 0x5a
je 0x6d9351
mov ecx, r13d
cmp r15d, 0x5b
jne 0x6d9356
mov ecx, 1
cmp qword [rsp + 0x210], r13
mov r12d, dword [rsp + 0x90]
lea rax, [rsp + 0xdc]
cmove rax, r13
mov edx, r12d
lea r9, [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x108]
lea r8, [rsp + 0xc8]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x128]
and edx, 7
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], esi
mov rsi, qword [rsp + 0x1e8]
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], ecx
mov ecx, r14d
mov qword [rsp + 0x20], rsi
call fcn.006da8f0
test eax, eax
je 0x6da3d2
mov r11, qword [rsp + 0x210]
mov r10, qword [rsp + 0x80]
cmp r15d, 0x60
jne 0x6d9437
test r11, r11
jne 0x6d9437
mov rdx, r10
mov r8d, r13d
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 0x6d9400
cmp byte [r10 + 3], 0x66
jne 0x6d9cf8
cmp r8d, 1
jg 0x6da598
mov r15d, 0x66
mov ecx, dword [rsp + 0x128]
mov eax, dword [rsp + 0x108]
or r14d, 0xffffffff
mov rbx, qword [rsp + 0x70]
cmp byte [rbx], 0x29
jne 0x6da5b8
test r11, r11
je 0x6d9d29
mov r8d, dword [rsp + 0xdc]
mov edx, dword [r11]
mov ecx, 0x7fffffeb
lea eax, [r8 - 6]
sub ecx, edx
cmp ecx, eax
jl 0x6da3a6
mov rbp, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
lea eax, [rdx + r8 - 6]
mov r8d, dword [rsp + 0x78]
mov dword [r11], eax
mov byte [r10], 0x5e
mov byte [r10 + 1], r13b
mov byte [r10 + 2], 3
mov byte [r10 + 3], 0x55
mov byte [r10 + 4], r13b
mov r13d, dword [rsp + 0xc0]
mov byte [r10 + 5], 3
mov rbx, qword [rsp + 0x70]
add r10, 6
inc rbx
mov qword [rsp + 0x80], r10
jmp 0x6d693c
inc rbx
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x29
jne 0x6d9520
mov r10, qword [rsp + 0x80]
mov rbp, rdi
mov qword [rsp + 0xb0], rdi
mov byte [r10], WSAGetLastError
mov rbx, qword [rsp + 0x70]
inc r10
mov qword [rsp + 0x80], r10
jmp 0x6d8ef9
mov r15d, 0x59
jmp 0x6d9306
movzx ecx, byte [rbx + 1]
mov al, cl
cmp cl, 0x21
je 0x6d95f9
cmp al, 0x3d
je 0x6d95ea
mov rax, qword [r10 + 0x18]
movzx ecx, cl
test byte [rcx + rax], 0x10
je 0x6da51f
cmp r8b, 0x3c
mov eax, 0x3e
mov edx, 0x27
cmove edx, eax
mov rax, qword [r10 + 0x18]
inc rbx
mov qword [rsp + 0x70], rbx
movzx ecx, byte [rbx]
mov r12, rbx
test byte [rcx + rax], 0x10
je 0x6d9591
mov rcx, rax
nop
inc rbx
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x6d9580
mov ecx, ebx
sub ecx, r12d
cmp qword [rsp + 0x210], rdi
je 0x6d9776
movzx eax, byte [rbx]
cmp eax, edx
jne 0x6da56f
cmp dword [r10 + 0x50], 0x2710
jge 0x6da55c
lea eax, [rcx + 3]
cmp eax, dword [r10 + 0x54]
jle 0x6d9842
cmp ecx, 0x20
mov dword [r10 + 0x54], eax
jle 0x6d9842
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], gethostbyname
jmp 0x6da699
mov r15d, 0x5a
add rbx, 2
jmp 0x6d9301
mov r15d, 0x5b
add rbx, 2
jmp 0x6d9301
mov r15d, 0x5d
jmp 0x6d92fe
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x118], 1
mov eax, edi
mov byte [rcx], 0x53
mov rbx, qword [rsp + 0x70]
mov r9, rcx
inc rbx
mov qword [rsp + 0xa0], rcx
inc rcx
mov qword [rsp + 0x70], rbx
movzx edx, byte [rbx]
mov qword [rsp + 0x80], rcx
test byte [rdx + r11 + 0x388960], 4
je 0x6d9688
nop dword [rax]
inc rbx
lea ecx, [rax + rax*4]
movzx eax, dl
mov qword [rsp + 0x70], rbx
movzx edx, byte [rbx]
lea eax, [rax + rcx*2 - 0x30]
test byte [rdx + r11 + 0x388960], 4
jne 0x6d9660
mov rcx, qword [rsp + 0x80]
cmp byte [rbx], 0x29
jne 0x6da548
cmp eax, 0xff
jg 0x6da535
mov r8d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x1e8]
mov r14d, dword [rsp + 0xa8]
mov byte [rcx], al
mov eax, dword [rsp + 0x70]
sub eax, dword [r10 + 0x30]
inc rcx
mov rbp, rdi
inc rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xb0], rdi
sar rax, 8
mov byte [rcx], al
movzx eax, byte [rsp + 0x70]
sub al, byte [r10 + 0x30]
mov byte [rcx + 2], dil
mov byte [rcx + 3], dil
inc al
mov r10, rcx
mov byte [rcx + 1], al
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x138]
add r10, 4
inc rbx
mov qword [rsp + 0x80], r10
jmp 0x6d693c
inc rbx
mov qword [rsp + 0x70], rbx
mov r8b, byte [rbx]
cmp r8b, 0x3d
je 0x6d9750
cmp r8b, 0x3e
je 0x6d9750
cmp r8b, 0x3c
je case.0x6d8eb7.36
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x29
jmp 0x6da699
mov r15, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x1e8]
cmp r8b, 0x3e
mov r14d, edi
mov r10d, 0x29
sete r14b
jmp 0x6d9f13
mov r13d, dword [r10 + 0x50]
mov rdi, qword [r10 + 0x48]
xor eax, eax
mov esi, eax
movsxd rbp, ecx
test r13d, r13d
jle 0x6d980c
nop
lea rdx, [rdi + 2]
mov r8, rbp
mov rcx, r12
call fcn.006b9320
test eax, eax
jne 0x6d97c7
cmp byte [rdi + rbp + 2], al
jne 0x6d97e2
bt dword [rsp + 0x90], 0x13
jb 0x6d97c9
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x2b
jmp 0x6da699
js 0x6d97e2
mov r10, qword [rsp + 0x208]
inc esi
movsxd rax, dword [r10 + 0x54]
add rdi, rax
cmp esi, dword [r10 + 0x50]
jl 0x6d9790
jmp 0x6d980c
mov r8, qword [rsp + 0x208]
sub r13d, esi
mov rdx, rdi
movsxd rax, dword [r8 + 0x54]
imul r13d, eax
lea rcx, [rdi + rax]
movsxd r8, r13d
call fcn.006a4bf0
mov r10, qword [rsp + 0x208]
mov eax, dword [r10 + 0x58]
lea rcx, [rdi + 2]
mov r8, rbp
inc eax
mov rdx, r12
sar eax, 8
mov byte [rdi], al
movzx eax, byte [r10 + 0x58]
inc al
mov byte [rdi + 1], al
call fcn.006a4bf0
mov r10, qword [rsp + 0x208]
mov byte [rdi + rbp + 2], 0
mov rbx, qword [rsp + 0x70]
inc rbx
inc dword [r10 + 0x50]
mov qword [rsp + 0x70], rbx
inc dword [r10 + 0x58]
mov eax, dword [r10 + 0x58]
mov r11, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x88]
mov r8, qword [rsp + 0x208]
sar eax, 8
mov byte [r11 + 3], al
movzx eax, byte [r10 + 0x58]
mov esi, 2
mov byte [r11 + 4], al
jmp 0x6d9315
mov r15, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x1e8]
mov r10d, 0x29
lea r14d, [r10 - 0x28]
jmp 0x6d9f13
inc rbx
mov qword [rsp + 0x70], rbx
mov r15, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x1e8]
mov r10d, 0x29
mov ebp, edi
jmp 0x6d9afc
bt r12d, 0xc
jae 0x6d984e
mov r15d, 0x5e
jmp 0x6d9306
mov rsi, qword [rsp + 0x1e8]
mov r8d, dword [r15 + 0x58]
lea rcx, [rsp + 0x70]
xor edi, edi
mov rdx, rsi
mov r9d, r12d
mov qword [rsp + 0x148], rbx
mov dword [rsp + 0x20], edi
call fcn.006d4920
cmp dword [rsi], edi
jne 0x6da3d2
test eax, eax
jns 0x6da2d8
mov ecx, eax
neg ecx
cmp ecx, 0x1a
jne 0x6d9979
mov rbx, qword [rsp + 0x70]
cmp byte [rbx + 1], 0x5c
jne 0x6d993e
cmp byte [rbx + 2], 0x45
jne 0x6d993e
add rbx, 2
jmp 0x6d9a71
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x210]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
mov r8d, 1
mov dword [rsp + 0x78], r8d
inc rbx
jmp 0x6d693c
cmp ecx, 0x19
je 0x6da2ce
mov edx, dword [rsp + 0x94]
cmp edx, 0xfffffffe
jne 0x6d99a9
cmp ecx, 5
jle 0x6d99a9
cmp ecx, 0x17
mov r14d, 0xffffffff
cmovl edx, r14d
mov dword [rsp + 0x94], edx
jmp 0x6d99ad
or r14d, 0xffffffff
mov r8d, dword [rsp + 0x98]
mov rbx, qword [rsp + 0x70]
mov r13d, edx
mov dword [rsp + 0xc0], edx
mov dword [rsp + 0xe0], r8d
cmp ecx, 0x1b
jne 0x6d9ec2
mov rax, qword [r15 + 0x40]
inc rbx
mov r10d, 0x27
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x70], rbx
cmp byte [rbx], 0x3c
mov eax, 0x3e
mov ebp, edi
cmove r10d, eax
mov eax, edi
mov dword [rsp + 0x8c], eax
movzx eax, byte [rbx + 1]
cmp al, 0x2b
je 0x6d9ab4
cmp al, 0x2d
je 0x6d9ab4
lea r8d, [rcx - 0x1a]
lea r9, [rbx + 1]
movzx ecx, al
test al, al
je 0x6d9a5a
nop dword [rax]
movzx eax, cl
cmp eax, r10d
je 0x6d9a5a
mov rax, qword [r15 + 0x18]
movzx ecx, cl
movzx edx, byte [rcx + rax]
test dl, 4
cmove r8d, edi
test dl, 0x10
je 0x6d9a5a
mov cl, byte [r9 + 1]
inc r9
test cl, cl
jne 0x6d9a30
movzx eax, byte [r9]
cmp eax, r10d
je 0x6d9aa6
mov rbp, qword [rsp + 0xb0]
mov dword [rsi], reloc.WS2_32.dll_gethostname
mov r10, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x78]
mov r11, qword [rsp + 0x210]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
inc rbx
jmp 0x6d693c
test r8d, r8d
jne 0x6d9aed
lea r14d, [r8 + 1]
jmp 0x6d9f13
movzx eax, byte [rbx + 2]
lea rcx, [rbx + 2]
lea rdx, [0x00400000]
test byte [rax + rdx + 0x388960], 4
je 0x6d9ae1
nop dword [rax]
movzx eax, byte [rcx + 1]
inc rcx
test byte [rax + rdx + 0x388960], 4
jne 0x6d9ad0
movzx eax, byte [rcx]
cmp eax, r10d
jne 0x6d9a63
inc rbx
lea r11, [0x00400000]
mov qword [rsp + 0x70], rbx
movzx r8d, byte [rbx]
cmp r8d, 0x2b
jne 0x6d9b2b
inc rbx
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
test byte [rax + r11 + 0x388960], 4
jne 0x6d9e40
mov dword [rsi], 0x3f
jmp 0x6da699
cmp r8d, 0x2d
jne 0x6d9e40
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
test byte [rax + r11 + 0x388960], 4
jne 0x6d9e38
mov r10, qword [rsp + 0x208]
mov eax, edi
mov r14d, edi
mov dword [rsp + 0xb8], edi
lea rdx, [rsp + 0xb8]
mov dword [rsp + 0xc4], eax
cmp r8b, 0x29
je 0x6d9c08
nop dword [rax]
cmp r8b, 0x3a
je 0x6d9bf9
inc rbx
movzx eax, r8b
sub eax, 0x2d
mov qword [rsp + 0x70], rbx
cmp eax, 0x4b
ja case.0x6d9bb4.53
cdqe
movzx eax, byte [r11 + rax + 0x2da89c]
mov ecx, dword [r11 + rax*4 + 0x2da878]
add rcx, r11
jmp rcx
mov ebp, edi
jmp 0x6d9b54
lea rdx, [rsp + 0xc4]
jmp 0x6d9bf0
or dword [rdx], 0x80000
or dword [r10 + 0x6c], 0x10
jmp 0x6d9bf0
or dword [rdx], 1
jmp 0x6d9bf0
or dword [rdx], 2
jmp 0x6d9bf0
or dword [rdx], 4
jmp 0x6d9bf0
or dword [rdx], 8
jmp 0x6d9bf0
or dword [rdx], 0x200
jmp 0x6d9bf0
or dword [rdx], 0x40
mov r8b, byte [rbx]
cmp r8b, 0x29
jne 0x6d9b80
mov r14d, dword [rsp + 0xb8]
mov eax, dword [rsp + 0xc4]
or r14d, r12d
not eax
and r14d, eax
cmp byte [rbx], 0x29
jne 0x6d9cd6
mov rax, qword [r10 + 0x28]
mov rcx, qword [rsp + 0x80]
add rax, 3
cmp rcx, rax
jne 0x6d9c5f
mov rax, qword [rsp + 0x210]
test rax, rax
je 0x6d9c40
cmp dword [rax], 6
jne 0x6d9c5f
mov dword [r10 + 0x68], r14d
mov dword [rsp + 0x90], r14d
mov rbp, rdi
mov qword [rsp + 0xb0], rdi
mov r12d, r14d
jmp 0x6d8ef1
mov eax, r14d
xor eax, r12d
test al, 7
je 0x6d9c86
mov byte [rcx], 0x19
movzx eax, r14b
and al, 7
add rcx, 2
mov byte [rcx - 1], al
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0x1d0]
mov dword [rsp + 0x90], r14d
mov rbp, rdi
mov dword [rax], r14d
mov eax, r14d
mov qword [rsp + 0xb0], rdi
shr eax, 9
mov r12d, r14d
and eax, 1
mov dword [rsp + 0x140], eax
xor eax, 1
mov dword [rsp + 0x144], eax
mov eax, r14d
and eax, 1
shl eax, 8
mov dword [rsp + 0xd4], eax
jmp 0x6d8ef1
mov esi, dword [rsp + 0x8c]
mov r8, qword [rsp + 0x208]
inc rbx
mov qword [rsp + 0x70], rbx
mov r15d, 0x5e
jmp 0x6d930d
cmp r8d, 2
jg 0x6da5a8
cmp r8d, 1
jne 0x6d9437
or r14d, 0xffffffff
mov eax, r14d
mov ecx, r14d
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x128], ecx
jmp 0x6d9449
mov r10, qword [rsp + 0xc8]
mov qword [rsp + 0x80], r10
cmp r15d, 0x66
je 0x6d9e03
cmp r15d, 0x5d
mov edx, dword [rsp + 0x98]
mov dword [rsp + 0x12c], 0
mov dword [rsp + 0xe0], edx
mov edx, dword [rsp + 0x94]
mov r13d, edx
mov dword [rsp + 0xc0], edx
jl 0x6d9dc5
cmp edx, 0xfffffffe
jne 0x6d9db0
test ecx, ecx
js 0x6d9d9b
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x12c], 1
mov r13d, r14d
mov dword [rsp + 0xc0], r14d
jmp 0x6d9dcb
mov dword [rsp + 0x94], r14d
mov r13d, r14d
mov dword [rsp + 0xc0], r14d
jmp 0x6d9dcb
test ecx, ecx
js 0x6d9dcb
test eax, eax
jns 0x6d9dcf
mov eax, ecx
or eax, edi
mov dword [rsp + 0x108], eax
jmp 0x6d9dcb
cmp r15d, 0x58
jne 0x6d9e03
test eax, eax
js 0x6d9e03
mov rbp, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
mov dword [rsp + 0x98], eax
inc rbx
jmp 0x6d693c
mov r13d, dword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb0]
mov r8d, dword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
inc rbx
jmp 0x6d693c
mov rbx, rcx
mov qword [rsp + 0x70], rcx
movzx eax, byte [rbx]
test byte [rax + r11 + 0x388960], 4
je 0x6d9e70
nop
inc rbx
movzx eax, al
lea ecx, [rdi + rdi*4]
lea edi, [rax + rcx*2 - 0x30]
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
test byte [rax + r11 + 0x388960], 4
jne 0x6d9e50
movzx eax, byte [rbx]
cmp eax, r10d
jne 0x6da5ce
cmp r8d, 0x2d
jne 0x6d9ea7
test edi, edi
je 0x6da5c3
mov eax, dword [r15 + 0x58]
sub eax, edi
lea edi, [rax + 1]
test edi, edi
jg 0x6da01e
mov eax, reloc.WS2_32.dll_ntohs
mov dword [rsi], eax
jmp 0x6da699
cmp r8d, 0x2b
jne 0x6da01e
test edi, edi
je 0x6da5c3
add edi, dword [r15 + 0x58]
jmp 0x6da01e
cmp ecx, 0x1c
jne 0x6da1b5
movzx edx, byte [rbx + 1]
lea r8, [rbx + 1]
cmp dl, 0x3c
je 0x6d9ee6
cmp dl, 0x27
je 0x6d9ee6
cmp dl, 0x7b
jne 0x6da1ae
mov rbx, r8
mov r14d, edi
mov qword [rsp + 0x70], rbx
mov al, byte [r8]
cmp al, 0x3c
jne 0x6d9f02
mov edx, 0x3e
mov r10d, edx
jmp 0x6d9f18
cmp al, 0x27
mov r10d, 0x7d
mov eax, 0x27
cmove r10d, eax
mov edx, 0x3e
mov rax, qword [r15 + 0x18]
inc rbx
mov qword [rsp + 0x70], rbx
movzx ecx, byte [rbx]
mov r12, rbx
test byte [rcx + rax], 0x10
je 0x6d9f51
mov rcx, rax
nop word [rax + rax]
inc rbx
mov qword [rsp + 0x70], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x6d9f40
mov r13d, ebx
sub r13d, r12d
cmp qword [rsp + 0x210], 0
je 0x6d9f8c
test r13d, r13d
je 0x6da5e4
movzx eax, byte [rbx]
cmp eax, r10d
jne 0x6da5d9
cmp r13d, 0x20
jle 0x6da00d
mov dword [rsi], gethostbyname
jmp 0x6da699
cmp dword [r15 + 0x50], 0
mov rsi, qword [r15 + 0x48]
movsxd rbp, r13d
jle 0x6d9fcd
nop word [rax + rax]
lea rdx, [rsi + 2]
mov r8, rbp
mov rcx, r12
call fcn.006a5580
test eax, eax
jne 0x6d9fb9
cmp byte [rsi + rbp + 2], al
je 0x6d9fc8
movsxd rax, dword [r15 + 0x54]
inc edi
add rsi, rax
cmp edi, dword [r15 + 0x50]
jl 0x6d9fa0
mov rbx, qword [rsp + 0x70]
cmp edi, dword [r15 + 0x50]
jge 0x6d9fe1
movzx eax, byte [rsi]
movzx edi, byte [rsi + 1]
shl eax, 8
or edi, eax
jmp 0x6da00d
mov eax, dword [rsp + 0x90]
mov r9d, r13d
mov r8, r12
shr eax, 3
mov rdx, r15
mov rcx, rbx
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.006d4f50
mov edi, eax
test eax, eax
jle 0x6da4b7
mov r12d, dword [rsp + 0x90]
test r14d, r14d
je 0x6da1c7
cmp qword [rsp + 0x210], 0
mov rdx, qword [rsp + 0x80]
mov rbx, qword [r15 + 0x28]
mov rbp, rdx
mov qword [rsp + 0xb0], rdx
jne 0x6da0fc
mov esi, dword [rsp + 0xa8]
mov byte [rdx], 0
test edi, edi
je 0x6da066
mov rcx, qword [r15 + 0x28]
mov r8d, edi
mov edx, esi
call fcn.006d55f0
mov rdx, rbp
mov rbx, rax
test rbx, rbx
jne 0x6da0d2
mov rcx, qword [rsp + 0x70]
mov eax, r12d
mov r9d, edi
shr eax, 3
xor r8d, r8d
mov rdx, r15
and eax, 1
mov dword [rsp + 0x20], eax
call fcn.006d4f50
test eax, eax
js 0x6da4b7
mov rax, qword [r15 + 0x28]
mov r10, qword [rsp + 0x80]
movsxd rbx, edi
add rbx, rax
mov rcx, r10
sub rcx, rax
mov rax, qword [r15 + 0x40]
add rcx, 4
sar rcx, 8
mov byte [rax], cl
mov rax, qword [r15 + 0x40]
movzx ecx, r10b
sub cl, byte [r15 + 0x28]
add cl, 4
mov byte [rax + 1], cl
add qword [r15 + 0x40], 2
jmp 0x6da104
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
jne 0x6da0fc
mov r8, qword [rsp + 0x200]
mov r9d, esi
mov rcx, rbx
call fcn.006d5b40
test eax, eax
jne 0x6da5eb
mov r10, qword [rsp + 0x80]
mov r13d, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0x78]
mov rsi, qword [rsp + 0x1e8]
mov r11, qword [rsp + 0x210]
mov r9, qword [rsp + 0xa0]
mov byte [r10], 0x5d
mov byte [r10 + 1], 0
mov byte [r10 + 2], 6
mov byte [r10 + 3], 0x52
mov eax, ebx
add r10, 9
sub eax, dword [r15 + 0x28]
mov qword [rsp + 0x80], r10
sar rax, 8
mov byte [r10 - 5], al
sub bl, byte [r15 + 0x28]
cmp dword [rsp + 0x94], 0xfffffffe
mov byte [r10 - 4], bl
mov byte [r10 - 3], 0x55
mov byte [r10 - 2], 0
mov byte [r10 - 1], 6
mov rbx, qword [rsp + 0x70]
mov dword [rsp + 0xdc], 9
jne 0x6d8f16
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
mov dword [rsp + 0x94], 0xffffffff
inc rbx
jmp 0x6d693c
mov edx, dword [rsp + 0x94]
cmp ecx, 0x1d
jl 0x6da23e
mov edi, 0xffffffe3
sub edi, eax
jmp 0x6da1e2
mov r13d, dword [rsp + 0xc0]
mov rsi, qword [rsp + 0x1e8]
mov edx, dword [rsp + 0x94]
or r14d, 0xffffffff
mov r10, qword [rsp + 0x80]
cmp edx, 0xfffffffe
mov eax, edi
cmove edx, r14d
sar eax, 8
mov byte [r10], 0x51
mov byte [r10 + 1], al
mov rbp, r10
mov qword [rsp + 0xb0], r10
mov byte [r10 + 2], dil
add r10, 3
cmp edi, 0x20
mov dword [rsp + 0x94], edx
mov eax, 1
mov qword [rsp + 0x80], r10
jge 0x6da22e
mov ecx, edi
shl eax, cl
or dword [r15 + 0x64], eax
cmp edi, dword [r15 + 0x60]
jle 0x6da29c
mov dword [r15 + 0x60], edi
jmp 0x6da29c
cmp ecx, 0x16
je 0x6da603
cmp ecx, 0xf
je 0x6da603
cmp ecx, 0x10
je 0x6da603
cmp ecx, 5
jle 0x6da278
cmp ecx, 0x17
jge 0x6da278
mov r10, qword [rsp + 0x80]
mov rbp, r10
mov qword [rsp + 0xb0], r10
jmp 0x6da28b
mov r10, qword [rsp + 0x80]
mov rbp, rdi
mov qword [rsp + 0xb0], rdi
neg al
inc r10
mov byte [r10 - 1], al
mov qword [rsp + 0x80], r10
mov r8d, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x210]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
inc rbx
jmp 0x6d693c
mov r10, qword [rsp + 0x80]
jmp 0x6da29c
test r14d, r14d
je 0x6da301
cmp eax, 0x7f
jle 0x6da301
lea rdx, [rsp + 0x120]
mov ecx, eax
call fcn.006dc2d0
mov r10, qword [rsp + 0x80]
mov r11d, eax
jmp 0x6d6daf
mov r10, qword [rsp + 0x80]
mov byte [rsp + 0x120], al
mov r11d, 1
jmp 0x6d6daf
movzx eax, al
or eax, ecx
mov dword [rsp + 0x94], eax
cmp r11d, 1
je 0x6da29c
movzx eax, byte [r10 - 1]
mov rbx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x210]
or eax, dword [r15 + 0x70]
mov r9, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x138]
mov dword [rsp + 0x98], eax
inc rbx
jmp 0x6d693c
mov eax, dword [rsp + 0xd4]
mov r13d, edx
mov dword [rsp + 0xc0], edx
cmp r11d, 1
je 0x6da38d
test eax, eax
jne 0x6da2a1
movzx r9d, byte [r10 - 1]
or r9d, dword [r15 + 0x70]
or r9d, eax
mov dword [rsp + 0x98], r9d
jmp 0x6da2a1
mov dword [rsi], reloc.WS2_32.dll_sendto
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x40
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x1e
mov rbx, qword [rsp + 0x70]
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov eax, 0x1f
mov dword [rdx], eax
jmp 0x6da699
mov dword [rbx], 7
mov rbx, qword [rsp + 0x70]
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 8
jmp 0x6da699
cmp byte [rbx + 1], 0x3a
mov rdx, qword [rsp + 0x1e8]
mov eax, 0x1f
mov ecx, reloc.WS2_32.dll_listen
cmove eax, ecx
mov dword [rdx], eax
jmp 0x6da699
mov dword [r8], gethostname
jmp 0x6da699
mov dword [r8], reloc.WS2_32.dll_sendto
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], reloc.WS2_32.dll_sendto
jmp 0x6da699
mov dword [r8], 9
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x3c
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x3b
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov eax, reloc.WS2_32.dll_ntohs
mov dword [rdx], eax
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x3a
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x70]
mov eax, reloc.WS2_32.dll_ntohs
mov dword [rdx], eax
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x70]
mov eax, reloc.WS2_32.dll_ntohs
mov ecx, 0x23
test edi, edi
cmove eax, ecx
mov dword [rdx], eax
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
dec rbx
mov dword [rdx], 0x1a
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
inc rbx
mov dword [rdx], 0x1c
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
inc rbx
mov dword [rdx], 0x18
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x26
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov eax, 0x27
mov dword [rdx], eax
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], gethostbyname
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], 0x2a
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
dec rbx
mov dword [rdx], reloc.WS2_32.dll_inet_ntoa
jmp 0x6da699
mov rbx, qword [rsp + 0x70]
mov dword [rsi], gethostname
jmp 0x6da699
mov rbx, qword [rsp + 0x70]
mov dword [rsi], 0x1b
jmp 0x6da699
mov dword [rsi], reloc.WS2_32.dll_ntohl
jmp 0x6da699
mov dword [rsi], 0x3a
jmp 0x6da699
mov dword [rsi], 0x1d
jmp 0x6da699
mov dword [rsi], 0x2a
jmp 0x6da699
mov dword [rsi], edx
jmp 0x6da699
mov rdx, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x70]
mov dword [rdx], 0x28
jmp 0x6da699
mov dword [rsi], 0x2d
jmp 0x6da699
mov rax, qword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x94]
mov r11, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x210]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1f8]
mov ecx, dword [rsp + 0x98]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1d8]
mov qword [rax], r10
mov qword [r11], rbx
test r8, r8
je 0x6da68c
mov edx, dword [r8]
mov r9, qword [rsp + 0x138]
mov eax, 0x7fffffeb
sub eax, edx
movsxd rcx, eax
mov rax, r10
sub rax, r9
cmp rcx, rax
jge 0x6da683
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx], reloc.WS2_32.dll_sendto
jmp 0x6da6a1
sub edx, r9d
add edx, r10d
mov dword [r8], edx
mov eax, 1
jmp 0x6da6a6
mov dword [rsi], reloc.WS2_32.dll_gethostbyname
mov r11, qword [rsp + 0x1e0]
mov qword [r11], rbx
xor eax, eax
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret