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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov r12d, dword [rcx]
xor r11d, r11d
mov rbx, qword [r8]
mov esi, 0xfffffffe
mov r10d, r12d
mov dword [rbp - 0x2c], r11d
shr r10d, 9
mov r8d, r12d
and r10d, 1
shr r8d, 0xb
mov dword [rbp + 0x7c], r10d
and r8d, 1
xor r10d, 1
mov dword [rbp - 0x40], r11d
mov dword [rbp + 0x80], r10d
mov rdi, r9
mov r9, qword [rdx]
xor r10d, r10d
mov ecx, r12d
mov dword [rbp - 0x68], r12d
and ecx, 1
mov dword [rbp + 0x4c], r11d
mov edx, r11d
mov dword [rbp + 0x18], ecx
mov eax, r11d
mov dword [rbp + 0x20], r11d
mov qword [rbp - 0x70], r9
mov r15d, r11d
mov qword [rbp + 0x98], r9
mov r13d, r10d
mov dword [rbp - 0x74], edx
mov dword [rbp + 0x40], r11d
mov qword [rbp - 0x80], rbx
mov qword [rbp + 0x10], rax
mov qword [rbp - 0x38], r11
mov qword [rbp + 0x50], r11
mov qword [rbp + 8], r11
mov dword [rbp - 0x78], r8d
mov dword [rbp - 0x60], r10d
mov dword [rbp], r10d
mov dword [rbp - 0x28], r10d
mov dword [rbp - 0x20], r10d
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x24], esi
mov dword [rbp - 0x30], esi
mov dword [rbp - 0x5c], esi
mov qword [rbp + 0x88], r9
jmp 0x140058ad0
mov rax, qword [rbp + 0x10]
mov r15, qword [rbp - 0x38]
xor r10d, r10d
nop dword [rax + rax]
movzx r14d, byte [rbx]
test r14d, r14d
jne 0x140058aed
test rax, rax
je 0x140058aed
mov qword [rbp - 0x80], rax
mov rbx, rax
movzx r14d, byte [rax]
mov qword [rbp + 0x10], r10
mov r11, qword [rbp + 0x1a0]
mov r10, qword [rbp + 0x1a8]
movsxd rcx, dword [r11 + 0x6c]
add rcx, qword [r11 + 0x20]
test r10, r10
je 0x140058bd1
lea rax, [rcx - 0x64]
cmp r9, rax
ja 0x14005cf4a
cmp r9, qword [rbp + 0x88]
mov eax, 0x7fffffeb
mov edx, dword [r10]
cmovb r9, qword [rbp + 0x88]
sub eax, edx
movsxd rcx, eax
mov rax, r9
sub rax, qword [rbp + 0x88]
mov qword [rbp - 0x70], r9
cmp rcx, rax
jl 0x14005d2ae
mov eax, r9d
sub eax, dword [rbp + 0x88]
add eax, edx
mov dword [r10], eax
test r15, r15
je 0x140058bba
mov rcx, qword [rbp + 0x98]
cmp r15, rcx
jbe 0x140058bc5
mov r8, r9
mov rdx, r15
sub r8, r15
call fcn.14002b6c0
mov rcx, qword [rbp + 0x98]
mov r9, qword [rbp - 0x70]
mov rax, rcx
mov rbx, qword [rbp - 0x80]
sub rax, r15
mov r11, qword [rbp + 0x1a0]
add r9, rax
mov r8d, dword [rbp - 0x78]
mov r15, rcx
mov r10, qword [rbp + 0x1a8]
mov edx, dword [rbp - 0x74]
mov qword [rbp - 0x70], r9
mov qword [rbp + 0x88], r9
mov qword [rbp - 0x38], rcx
jmp 0x140058bdb
mov r9, qword [rbp + 0x98]
mov qword [rbp - 0x70], r9
mov edx, dword [rbp - 0x74]
mov qword [rbp + 0x88], r9
jmp 0x140058bdb
cmp qword [r11 + 0x40], rcx
ja 0x14005d2c4
test r14d, r14d
je 0x140058ca9
cmp r14d, 0x5c
jne 0x140058c13
cmp byte [rbx + 1], 0x45
jne 0x140058c13
mov rdi, qword [rbp + 0x168]
xor r10d, r10d
mov rax, qword [rbp + 0x10]
inc rbx
mov edx, r10d
inc rbx
mov dword [rbp - 0x74], edx
mov qword [rbp - 0x80], rbx
jmp 0x140058ad0
test edx, edx
je 0x140058c8b
mov rdx, qword [rbp + 0x50]
test rdx, rdx
je 0x140058c4d
test r10, r10
jne 0x140058c47
movzx eax, byte [rdx + 3]
movzx ecx, byte [rdx + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r11 + 0x30]
mov eax, ebx
mov byte [rdx + 5], bl
sar eax, 8
mov byte [rdx + 4], al
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov qword [rbp + 0x50], rax
bt r12d, 0xe
jae case.0x140058fb4.12
mov eax, ebx
mov word [r9], 0xff76
sub eax, dword [r11 + 0x30]
lea r10, [r9 + 6]
sar eax, 8
mov byte [r9 + 2], al
sub bl, byte [r11 + 0x30]
mov byte [r9 + 3], bl
mov word [r9 + 4], 0
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x50], r9
jmp 0x140059090
cmp r14d, 0x5c
jne 0x140058ca9
cmp byte [rbx + 1], 0x51
jne 0x140058ca9
mov ecx, 1
inc rbx
mov edx, ecx
mov dword [rbp - 0x74], ecx
jmp 0x14005cf30
mov r15d, r12d
and r15d, 8
je 0x140058dd3
mov rcx, qword [r11 + 0x18]
mov rsi, rbx
mov rdx, rbx
test byte [r14 + rcx], 1
je 0x140058ce5
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
mov rdx, rbx
movzx r14d, byte [rbx]
test byte [r14 + rcx], 1
jne 0x140058cd0
cmp r14d, 0x23
jne 0x140058dbc
lea rbx, [rdx + 1]
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0
je 0x140058dbc
mov edx, dword [r11 + 0xb4]
lea rdi, [r11 + 0xb8]
mov rcx, qword [r11 + 0x38]
test edx, edx
je 0x140058d50
cmp rbx, rcx
jae 0x140058d3d
mov dword [rsp + 0x20], r8d
mov r9, rdi
mov r8, rcx
mov rcx, rbx
call fcn.140061440
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x140058d3d
mov eax, 1
jmp 0x140058d3f
xor eax, eax
mov r11, qword [rbp + 0x1a0]
test eax, eax
jne 0x140058dab
mov r8d, dword [rbp - 0x78]
jmp 0x140058d79
movsxd rdx, dword [rdi]
sub rcx, rdx
cmp rbx, rcx
ja 0x140058d79
movzx eax, byte [r11 + 0xbc]
cmp byte [rbx], al
jne 0x140058d79
cmp edx, 1
je 0x140058dab
movzx eax, byte [r11 + 0xbd]
cmp byte [rbx + 1], al
je 0x140058dab
inc rbx
mov qword [rbp - 0x80], rbx
test r8d, r8d
je 0x140058da0
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x140058da0
nop
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
je 0x140058d90
cmp byte [rbx], 0
jne 0x140058d00
jmp 0x140058db5
movsxd rax, dword [rdi]
add rbx, rax
mov qword [rbp - 0x80], rbx
mov rdi, qword [rbp + 0x168]
mov r9, qword [rbp - 0x70]
cmp rbx, rsi
mov esi, dword [rbp - 0x64]
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
ja 0x140058ac0
cmp r14d, 0x28
jne 0x140058e2b
cmp byte [rbx + 1], 0x3f
jne 0x140058ecd
cmp byte [rbx + 2], 0x23
jne 0x140058ecd
add rbx, 3
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x140058e12
nop dword [rax]
cmp al, 0x29
je 0x140058e1d
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x140058e00
mov dword [rdi], setsockopt
jmp 0x14005d2cb
cmp byte [rbx], 0
je 0x140058e12
mov r15, qword [rbp - 0x38]
jmp 0x14005cf29
cmp r14d, 0x2a
je 0x140058f36
cmp r14d, 0x2b
je 0x140058f36
cmp r14d, 0x3f
je 0x140058f36
cmp r14d, 0x7b
jne 0x140058ecd
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
sub al, 0x30
cmp al, 9
ja 0x140058ecd
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jb 0x140058e86
movzx edx, al
nop dword [rax + rax]
movzx eax, dl
cmp dl, 0x39
ja 0x140058e86
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
cmp al, 0x30
jae 0x140058e70
cmp al, 0x7d
je 0x140058f36
cmp al, 0x2c
jne 0x140058ecd
movzx eax, byte [rcx + 1]
cmp al, 0x7d
je 0x140058f36
sub al, 0x30
cmp al, 9
ja 0x140058ecd
movzx eax, byte [rcx + 2]
add rcx, 2
cmp al, 0x30
jb 0x140058ec9
movzx edx, al
movzx eax, dl
cmp dl, 0x39
ja 0x140058ec9
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
cmp al, 0x30
jae 0x140058eb3
cmp al, 0x7d
je 0x140058f36
mov r10, qword [rbp + 0x50]
xor r8d, r8d
mov rax, qword [rbp + 0x10]
mov edx, r8d
test r10, r10
je 0x140058f3f
mov r8, qword [rbp + 0x1a8]
test rax, rax
jne 0x140058f46
mov ecx, dword [rbp + 0x4c]
mov eax, ecx
dec ecx
mov dword [rbp + 0x4c], ecx
test eax, eax
jg 0x140058fb6
test r8, r8
jne 0x140058f29
movzx eax, byte [r10 + 3]
movzx ecx, byte [r10 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r11 + 0x30]
mov eax, ebx
mov byte [r10 + 5], bl
sar eax, 8
mov byte [r10 + 4], al
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x10]
xor r10d, r10d
mov qword [rbp + 0x50], r10
jmp 0x140058f49
mov rax, qword [rbp + 0x10]
mov edx, 1
mov r8, qword [rbp + 0x1a8]
xor r10d, r10d
bt r12d, 0xe
jae 0x140058f89
test edx, edx
jne 0x140058f89
test rax, rax
jne 0x140058f89
mov word [r9], 0xff76
mov eax, ebx
sub eax, dword [r11 + 0x30]
sar eax, 8
mov byte [r9 + 2], al
sub bl, byte [r11 + 0x30]
mov byte [r9 + 3], bl
mov word [r9 + 4], dx
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x50], r9
add r9, 6
mov qword [rbp - 0x70], r9
cmp r14d, 0x7c
ja case.0x140058fb4.12
lea rcx, [0x140000000]
movzx eax, byte [rcx + r14 + 0x5d320]
mov ecx, dword [rcx + rax*4 + 0x5d2ec]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0x10]
jmp 0x140058f46
mov qword [rbp - 0x38], r10
mov r15, r10
test r12b, 2
je 0x140058fe0
cmp dword [rbp - 0x5c], 0xfffffffe
jne 0x140058fda
mov eax, 0xffffffff
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x24], eax
mov byte [r9], 0x1c
jmp 0x140058fe4
mov byte [r9], 0x1b
mov rbx, qword [rbp - 0x80]
inc r9
mov qword [rbp - 0x70], r9
mov r8d, dword [rbp - 0x78]
inc rbx
mov edx, dword [rbp - 0x74]
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x80], rbx
jmp 0x140058ad0
test r12b, 2
mov qword [rbp - 0x38], r10
mov r15, r10
setne al
add al, 0x19
mov byte [r9], al
jmp 0x140058fe4
mov r10d, dword [rbp - 0x5c]
mov eax, 0xffffffff
mov r14, qword [r11 + 0x40]
cmp r10d, 0xfffffffe
mov r13d, dword [rbp - 0x28]
mov r15, r9
mov esi, dword [rbp - 0x30]
cmove r10d, eax
sub r14, qword [r11 + 0x20]
mov eax, dword [rbp - 0x20]
mov dword [rbp], eax
mov eax, r12d
shr eax, 2
and al, 1
mov qword [rbp - 0x38], r9
or al, 0xc
mov dword [rbp - 0x5c], r10d
mov byte [r9], al
inc r9
mov qword [rbp - 0x70], r9
mov dword [rbp - 0x24], r10d
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x64], esi
mov qword [rbp + 8], r14
jmp 0x14005cf25
test dword [r11 + 0x90], 0x2000000
jne 0x14005cf5f
mov r10, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x78]
mov r9d, 1
mov byte [rbp - 0x10], r14b
test ecx, ecx
je 0x14005a2da
cmp r14d, 0xc0
jb 0x14005a2da
movzx eax, byte [rbx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x14005a2da
inc rbx
mov ecx, r9d
mov qword [rbp - 0x80], rbx
inc r9d
movzx eax, byte [rbx]
mov byte [rbp + rcx - 0x10], al
movzx eax, byte [rbx + 1]
and al, 0xc0
cmp al, 0x80
je 0x1400590c0
mov r14, qword [r11 + 0x40]
mov r15, r10
sub r14, qword [r11 + 0x20]
mov qword [rbp + 8], r14
mov qword [rbp - 0x38], r10
jmp 0x14005a2f5
lea rcx, [rbx + 1]
mov r8d, 6
lea rdx, [0x1402d4590]
call fcn.14023f800
test eax, eax
jne 0x140059119
lea rbx, str._b__w_
jmp 0x14005913d
mov rcx, qword [rbp - 0x80]
lea rdx, str._:_:__
inc rcx
mov r8d, 6
call fcn.14023f800
test eax, eax
jne 0x14005915d
lea rbx, str._b___w_
mov rax, qword [rbp - 0x80]
mov r9, qword [rbp - 0x70]
add rax, 7
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
mov qword [rbp + 0x10], rax
mov qword [rbp - 0x80], rbx
jmp 0x140058ac4
mov rax, qword [rbp + 0x1a0]
mov r14, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x80]
mov r15, r14
mov qword [rbp - 0x38], r14
mov r10, qword [rax + 0x40]
sub r10, qword [rax + 0x20]
movzx r9d, byte [rbx + 1]
mov qword [rbp + 8], r10
cmp r9b, 0x3d
ja 0x1400591e4
movabs rcx, 0x2400400000000000
bt rcx, r9
jae 0x1400591e4
movzx ecx, byte [rbx + 2]
lea rdx, [rbx + 2]
test cl, cl
je 0x1400591e4
cmp cl, 0x5c
jne 0x1400591ba
movzx eax, byte [rdx + 1]
sub al, cl
cmp al, 1
ja 0x1400591ca
inc rdx
jmp 0x1400591d9
cmp cl, 0x5b
jne 0x1400591c5
cmp byte [rdx + 1], r9b
jmp 0x1400591c8
cmp cl, 0x5d
je 0x1400591e4
cmp cl, r9b
jne 0x1400591d9
cmp byte [rdx + 1], 0x5d
je 0x14005cf6a
movzx ecx, byte [rdx + 1]
inc rdx
test cl, cl
jne 0x1400591a6
xor eax, eax
mov ecx, eax
mov dword [rbp - 0x54], eax
mov eax, 1
inc rbx
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
cmp edi, 0x5c
jne 0x140059234
cmp byte [rbx + 1], 0x45
lea rcx, [rbx + 1]
jne 0x140059211
mov ecx, dword [rbp - 0x54]
inc rbx
jmp 0x1400591f0
mov r8d, 3
lea rdx, [0x1402d45a0]
call fcn.14023f800
mov rbx, qword [rbp - 0x80]
test eax, eax
jne 0x14005929e
mov ecx, dword [rbp - 0x54]
add rbx, 3
jmp 0x1400591eb
test ecx, ecx
jne 0x140059244
cmp edi, 0x5e
jne 0x140059244
mov ecx, eax
mov dword [rbp - 0x54], eax
jmp 0x1400591f0
cmp edi, 0x5d
jne 0x14005929e
mov r11, qword [rbp + 0x1a0]
test dword [r11 + 0x90], 0x2000000
je 0x1400592a5
mov r9, qword [rbp - 0x70]
test ecx, ecx
mov r11d, dword [rbp - 0x5c]
mov ecx, reloc.WS2_32.dll_listen
mov eax, 0x9d
cmovne eax, ecx
mov byte [r9], al
inc r9
mov eax, 0xffffffff
mov qword [rbp - 0x70], r9
cmp r11d, 0xfffffffe
cmove r11d, eax
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x5c], r11d
mov dword [rbp], eax
mov dword [rbp - 0x24], r11d
jmp 0x14005cf25
mov r11, qword [rbp + 0x1a0]
xor r10d, r10d
lea rax, [r14 + 4]
mov dword [rbp - 0x3c], r10d
xorps xmm0, xmm0
mov qword [rbp - 0x48], rax
mov r8d, r10d
mov qword [rbp - 0x18], rax
mov r9, rax
mov dword [rbp - 0x50], r10d
mov r12d, r10d
mov dword [rbp - 0x58], r10d
mov r13d, r10d
mov dword [rbp - 0x64], r10d
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm0
test edi, edi
je 0x14005cfc7
mov r10d, dword [rbp - 0x78]
nop word [rax + rax]
mov esi, r13d
mov r15d, r12d
mov r14d, r12d
test r10d, r10d
je 0x1400593e2
cmp edi, 0xc0
jb 0x1400593e2
movzx edi, byte [rbx]
cmp edi, 0xc0
jb 0x1400593e2
test dil, 0x20
jne 0x14005933e
movzx ecx, byte [rbx + 1]
inc rbx
and edi, 0x1f
mov qword [rbp - 0x80], rbx
and ecx, 0x3f
mov eax, edi
shl eax, 6
jmp 0x1400593de
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test dil, 0x10
jne 0x140059365
movzx eax, byte [rbx + 2]
lea rdx, [rbx + 2]
and eax, 0x3f
and edi, 0xf
or ecx, eax
mov eax, edi
shl eax, 0xc
jmp 0x1400593d7
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test dil, 8
jne 0x14005938e
movzx eax, byte [rbx + 3]
lea rdx, [rbx + 3]
and eax, 0x3f
and edi, 7
or ecx, eax
mov eax, edi
shl eax, 0x12
jmp 0x1400593d7
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test dil, 4
jne 0x1400593b7
movzx eax, byte [rbx + 4]
lea rdx, [rbx + 4]
and eax, 0x3f
and edi, 3
or ecx, eax
mov eax, edi
shl eax, 0x18
jmp 0x1400593d7
movzx eax, byte [rbx + 4]
lea rdx, [rbx + 5]
and eax, 0x3f
and edi, 1
or ecx, eax
movzx eax, byte [rdx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, edi
shl eax, 0x1e
mov qword [rbp - 0x80], rdx
mov rbx, rdx
mov edi, ecx
or edi, eax
mov rax, qword [rbp - 0x48]
mov ecx, 1
cmp rax, r9
cmova r8d, ecx
mov rcx, qword [rbp + 0x1a8]
mov dword [rbp - 0x60], r8d
test rcx, rcx
je 0x140059410
cmp rax, r9
jbe 0x140059410
sub eax, r9d
mov qword [rbp - 0x48], r9
add dword [rcx], eax
mov edx, dword [rbp - 0x74]
test edx, edx
je 0x14005943b
cmp edi, 0x5c
jne 0x140059d34
cmp byte [rbx + 1], 0x45
jne 0x140059d34
xor r11d, r11d
mov ecx, r11d
inc rbx
mov dword [rbp - 0x74], ecx
jmp 0x14005a05c
cmp edi, 0x5b
jne 0x14005980b
movzx r9d, byte [rbx + 1]
movabs r13, 0x2400400000000000
cmp r9b, 0x3d
ja 0x140059d27
bt r13, r9
jae 0x140059d27
movzx edx, byte [rbx + 2]
lea r13, [rbx + 2]
mov r8, r13
test dl, dl
je 0x1400594b7
cmp dl, 0x5c
jne 0x14005948b
movzx eax, byte [r8 + 1]
sub al, dl
cmp al, 1
ja 0x14005949b
inc r8
jmp 0x1400594ab
cmp dl, 0x5b
jne 0x140059496
cmp byte [r8 + 1], r9b
jmp 0x140059499
cmp dl, 0x5d
je 0x1400594b7
cmp dl, r9b
jne 0x1400594ab
cmp byte [r8 + 1], 0x5d
je 0x140059569
movzx edx, byte [r8 + 1]
inc r8
test dl, dl
jne 0x140059476
mov rcx, qword [rbp + 0x28]
xor edx, edx
mov eax, edx
lea r8d, [rdx + 1]
test eax, eax
je 0x140059d1a
mov r15, qword [r11 + 0x10]
cmp r9b, 0x3a
jne 0x14005cf80
mov qword [rbp - 0x80], r13
movzx r12d, byte [r13]
cmp r12b, 0x5e
jne 0x1400594f3
inc r13
mov dword [rbp - 0x3c], r8d
mov qword [rbp - 0x80], r13
mov r14d, ecx
lea rdi, str.alpha
sub r14d, r13d
lea rcx, [0x140000000]
mov ebx, edx
mov rsi, rdx
nop dword [rax]
movzx eax, byte [rsi + rcx + 0x2d3258]
cmp r14d, eax
jne 0x140059536
mov r8d, r14d
mov rdx, rdi
mov rcx, r13
call fcn.14023f800
test eax, eax
je 0x140059580
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x2d3258]
inc rdi
inc rsi
add rdi, rax
inc ebx
cmp byte [rsi + rcx + 0x2d3258], 0
jne 0x140059510
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x1e
mov rbx, qword [rbp - 0x80]
jmp 0x14005d2cb
mov rcx, r8
xor edx, edx
mov r8d, 1
mov qword [rbp + 0x28], rcx
mov eax, r8d
jmp 0x1400594c3
test ebx, ebx
js 0x140059553
mov edx, dword [rbp - 0x68]
xor edi, edi
test dl, 1
je 0x140059597
cmp ebx, 2
jg 0x140059597
mov ebx, edi
mov esi, edi
bt edx, 0x1d
jae 0x1400596d7
cmp r12b, 0x5e
mov eax, edi
mov ecx, recv
cmove eax, ecx
lea rcx, [0x140000000]
add eax, ebx
cdqe
mov rcx, qword [rcx + rax*8 + 0x35b3e0]
test rcx, rcx
je 0x1400595f5
mov r8, qword [rbp + 0x28]
lea rbx, [rcx - 1]
mov r12d, dword [rbp - 0x50]
inc r8
mov r13d, dword [rbp - 0x58]
xor r11d, r11d
mov r9, qword [rbp - 0x18]
mov r10d, dword [rbp - 0x78]
mov ecx, dword [rbp - 0x74]
mov qword [rbp + 0x10], r8
mov r8d, dword [rbp - 0x60]
jmp 0x14005a05f
sub ebx, 8
je 0x14005966c
sub ebx, 1
je 0x140059665
cmp ebx, 1
je 0x14005965e
mov r14, qword [rbp + 0x28]
cmp r12b, 0x5e
jne 0x1400596db
cmp dword [rbp - 0x60], 0
jne 0x140059623
cmp byte [r14 + 2], 0x5d
je 0x1400596db
mov rax, qword [rbp - 0x48]
mov ecx, 0x100
mov byte [rax], 2
mov rdx, qword [rbp - 0x48]
inc rdx
mov qword [rbp - 0x48], rdx
call fcn.140061ed0
mov rdx, qword [rbp - 0x48]
mov ecx, 0x10ffff
mov eax, eax
add rdx, rax
mov qword [rbp - 0x48], rdx
call fcn.140061ed0
mov eax, eax
add qword [rbp - 0x48], rax
jmp 0x1400596db
mov edx, reloc.WS2_32.dll_listen
jmp 0x140059671
mov edx, recv
jmp 0x140059671
mov edx, reloc.WS2_32.dll_inet_addr
mov rax, qword [rbp - 0x48]
cmp r12b, 0x5e
mov rbx, qword [rbp + 0x28]
mov r12d, dword [rbp - 0x50]
sete cl
mov r13d, dword [rbp - 0x58]
add cl, 3
mov byte [rax], cl
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
mov byte [rax], dl
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
mov byte [rax], 0
inc qword [rbp - 0x48]
inc rbx
mov r8d, dword [rbp - 0x60]
mov eax, 1
mov r9, qword [rbp - 0x18]
mov r15d, eax
mov edx, dword [rbp - 0x68]
mov r14d, eax
mov r10d, dword [rbp - 0x78]
xor r11d, r11d
mov ecx, dword [rbp - 0x74]
mov dword [rbp - 0x64], eax
jmp 0x14005a069
mov r14, qword [rbp + 0x28]
lea rcx, [rsi + rsi*2]
lea rdx, [0x140000000]
movsxd rax, dword [rdx + rcx*4 + 0x2d32d0]
mov r9d, dword [rdx + rcx*4 + 0x2d32d4]
mov r10d, dword [rdx + rcx*4 + 0x2d32d8]
movups xmm0, xmmword [rax + r15]
movups xmm1, xmmword [rax + r15 + 0x10]
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm1
test r9d, r9d
js 0x140059770
mov r8d, edi
test r10d, r10d
js 0x140059750
nop dword [rax]
nop dword [rax + rax]
mov edx, r8d
lea eax, [r9 + r8]
movzx eax, byte [rax + r15]
inc r8d
or byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x140059730
jmp 0x140059778
lea eax, [r9 + r8]
mov edx, r8d
movzx eax, byte [rax + r15]
inc r8d
not al
and byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x140059750
jmp 0x140059775
test r10d, r10d
jns 0x140059778
neg r10d
cmp r10d, 1
jne 0x140059787
and byte [rbp + 0xa1], 0xc3
jmp 0x140059794
cmp r10d, 2
jne 0x140059794
and byte [rbp + 0xab], 0x7f
mov rcx, rdi
mov edx, 0x20
cmp r12b, 0x5e
jne 0x1400597c0
movzx eax, byte [rbp + rcx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx + 0x57], al
sub rdx, 1
jne 0x1400597a2
jmp 0x1400597d6
movzx eax, byte [rbp + rcx + 0xa0]
or byte [rbp + rcx + 0x58], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400597c0
lea rbx, [r14 + 1]
mov r13d, 2
mov r14d, 1
mov dword [rbp - 0x58], r13d
mov r12d, r14d
mov dword [rbp - 0x50], r14d
mov r8d, dword [rbp - 0x60]
xor r11d, r11d
mov r9, qword [rbp - 0x18]
mov edx, dword [rbp - 0x68]
mov r10d, dword [rbp - 0x78]
mov ecx, dword [rbp - 0x74]
jmp 0x14005a065
cmp edi, 0x5c
jne 0x140059d34
mov ebx, dword [rbp - 0x68]
lea rdx, [rbp + 0x48]
mov r9d, dword [r11 + 0x70]
lea rcx, [rbp - 0x80]
mov r8, qword [rbp + 0x168]
mov eax, 1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.140057270
mov r11, qword [rbp + 0x168]
mov edi, eax
cmp dword [r11], 0
jne 0x140059560
test eax, eax
jne 0x140059866
mov edi, dword [rbp + 0x48]
mov rbx, qword [rbp - 0x80]
mov r10d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
jmp 0x140059d3b
cmp edi, 5
jne 0x140059880
mov rbx, qword [rbp - 0x80]
mov edi, 8
mov r10d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
jmp 0x140059d3b
cmp edi, 0xc
je 0x14005cf9f
cmp edi, 0x1a
jne 0x1400598ca
mov rbx, qword [rbp - 0x80]
cmp byte [rbx + 1], 0x5c
jne 0x1400598a7
cmp byte [rbx + 2], 0x45
jne 0x1400598a7
add rbx, 2
jmp 0x14005a04a
mov r8d, dword [rbp - 0x60]
mov r14d, 1
mov r9, qword [rbp - 0x18]
mov ecx, r14d
mov edx, dword [rbp - 0x68]
xor r11d, r11d
mov r10d, dword [rbp - 0x78]
mov dword [rbp - 0x74], ecx
jmp 0x14005a065
cmp edi, 0x19
je 0x14005a046
mov r8, qword [rbp + 0x1a0]
inc r12d
add r13d, 2
mov dword [rbp - 0x50], r12d
add eax, 0xfffffffa
mov dword [rbp - 0x58], r13d
mov rdx, qword [r8 + 0x10]
cmp eax, 0x1c
ja case.0x14005990d.12
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x5d3a0]
add rcx, r9
jmp rcx
mov rax, qword [rbp - 0x80]
mov r12d, r14d
mov qword [rbp + 0x10], rax
lea eax, [rdi - 0x1d]
movsxd rcx, eax
mov dword [rbp - 0x50], r14d
mov rbx, qword [r9 + rcx*8 + 0x35b3b0]
dec rbx
jmp 0x14005a04a
lea rax, [rbp + 0x58]
mov r8d, 0x20
sub rdx, rax
lea rcx, [rbp + 0x58]
nop word [rax + rax]
movzx eax, byte [rdx + rcx + 0x40]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140059950
jmp 0x14005a046
mov r14d, 1
lea rax, [rbp + 0x58]
mov dword [rbp - 0x3c], r14d
lea rcx, [rbp + 0x58]
sub rdx, rax
lea r8d, [r14 + 0x1f]
nop
movzx eax, byte [rcx + rdx + 0x40]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, r14
jne 0x140059980
mov rbx, qword [rbp - 0x80]
jmp 0x1400597f1
lea rax, [rbp + 0x58]
mov r8d, 0x20
sub rdx, rax
lea rcx, [rbp + 0x58]
nop dword [rax]
movzx eax, byte [rdx + rcx + 0xa0]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1400599b0
jmp 0x14005a046
mov r14d, 1
lea rax, [rbp + 0x58]
mov dword [rbp - 0x3c], r14d
lea rcx, [rbp + 0x58]
sub rdx, rax
lea r8d, [r14 + 0x1f]
movzx eax, byte [rcx + rdx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, r14
jne 0x1400599e2
mov rbx, qword [rbp - 0x80]
jmp 0x1400597f1
lea rax, [rbp + 0x58]
mov r8d, 0x20
sub rdx, rax
lea rcx, [rbp + 0x58]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140059a20
jmp 0x14005a046
mov r14d, 1
lea rax, [rbp + 0x58]
mov dword [rbp - 0x3c], r14d
lea rcx, [rbp + 0x58]
sub rdx, rax
lea r8d, [r14 + 0x1f]
nop
movzx eax, byte [rdx + rcx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, r14
jne 0x140059a50
mov rbx, qword [rbp - 0x80]
jmp 0x1400597f1
mov edx, dword [reloc.WS2_32.dll_htons]
lea rdi, [0x1402e6d80]
cmp edx, 0xffffffff
jae 0x14005a046
mov r14d, dword [rbp - 0x68]
mov r13, r8
xor r11d, r11d
nop dword [rax + rax]
mov rbx, r11
cmp edx, 0xffffffff
je 0x140059ad1
lea rcx, [rdi + 4]
lea eax, [rdx + 1]
cmp dword [rcx], eax
jne 0x140059ab0
inc eax
lea rcx, [rcx + 4]
inc rbx
cmp dword [rcx], eax
je 0x140059aa3
mov eax, dword [rdi + rbx*4]
lea rcx, [rbp + 0x58]
mov dword [rsp + 0x28], eax
mov r9, r13
mov dword [rsp + 0x20], edx
mov r8d, r14d
lea rdx, [rbp - 0x48]
call fcn.140056590
xor r11d, r11d
lea rdi, [rdi + rbx*4]
add rdi, 4
mov edx, dword [rdi]
cmp edx, 0xffffffff
jb 0x140059a90
mov r13d, dword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
jmp 0x14005a04d
lea rax, [0x1402e6d80]
mov r9, r8
mov qword [rsp + 0x20], rax
mov r8d, ebx
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x58]
call fcn.140056160
jmp 0x14005a046
mov edx, dword [0x1402e6dd0]
lea rdi, [0x1402e6dd0]
cmp edx, 0xffffffff
jae 0x14005a046
mov r14d, dword [rbp - 0x68]
mov r13, r8
xor r11d, r11d
mov rbx, r11
cmp edx, 0xffffffff
je 0x140059b7e
lea rcx, [rdi + 4]
lea eax, [rdx + 1]
cmp dword [rcx], eax
jne 0x140059b5d
nop dword [rax]
nop dword [rax + rax]
inc eax
lea rcx, [rcx + 4]
inc rbx
cmp dword [rcx], eax
je 0x140059b50
mov eax, dword [rdi + rbx*4]
lea rcx, [rbp + 0x58]
mov dword [rsp + 0x28], eax
mov r9, r13
mov dword [rsp + 0x20], edx
mov r8d, r14d
lea rdx, [rbp - 0x48]
call fcn.140056590
xor r11d, r11d
lea rdi, [rdi + rbx*4]
add rdi, 4
mov edx, dword [rdi]
cmp edx, 0xffffffff
jb 0x140059b31
mov r13d, dword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
jmp 0x14005a04d
lea rax, [0x1402e6dd0]
jmp 0x140059af4
mov rbx, qword [rbp - 0x80]
inc rbx
movzx eax, byte [rbx]
test al, al
je 0x140059bf0
xor r15d, r15d
mov esi, r15d
cmp al, 0x7b
jne 0x140059c06
cmp byte [rbx + 1], 0x5e
lea rax, [rbx + 1]
mov ecx, r15d
cmove rbx, rax
sete sil
movzx eax, byte [rbx + 1]
inc rbx
test al, al
je 0x140059bf0
cmp al, 0x7d
je 0x140059bfc
mov byte [rbp + rcx + 0xc0], al
inc rcx
cmp rcx, 0x1f
jl 0x140059bd1
mov dword [r11], gethostbyname
jmp 0x14005d2cb
mov byte [rbp + rcx + 0xc0], r15b
jmp 0x140059c13
mov byte [rbp + 0xc0], al
mov byte [rbp + 0xc1], sil
mov r9d, dword [0x1402e634c]
mov r10d, r15d
mov qword [rbp - 0x80], rbx
test r9d, r9d
jle 0x140059c98
lea r12, [0x140000000]
nop dword [rax]
lea r8d, [r10 + r9]
sar r8d, 1
movsxd rax, r8d
lea r11, [rax + rax*2]
movzx edx, word [r12 + r11*2 + 0x2e68d0]
lea rax, [0x1402e63c0]
add rdx, rax
lea rax, [rbp + 0xc0]
sub rdx, rax
nop dword [rax + rax]
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x140059c74
inc rax
test cl, cl
jne 0x140059c60
mov ecx, r15d
jmp 0x140059c79
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140059ca4
lea eax, [r8 + 1]
cmovle r9d, r8d
cmovle eax, r10d
mov r10d, eax
cmp eax, r9d
jl 0x140059c30
mov r11, qword [rbp + 0x168]
mov dword [r11], gethostbyname
jmp 0x14005d2cb
movzx edx, byte [r12 + r11*2 + 0x2e68d2]
cmp edi, 0x10
movzx r8d, byte [r12 + r11*2 + 0x2e68d4]
mov eax, r15d
sete al
mov dword [rbp - 0x50], r14d
cmp eax, esi
mov r12d, r14d
mov rax, qword [rbp - 0x48]
sete cl
add cl, 3
mov byte [rax], cl
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
mov byte [rax], dl
mov rax, qword [rbp - 0x48]
inc rax
mov qword [rbp - 0x48], rax
mov byte [rax], r8b
inc qword [rbp - 0x48]
mov rbx, qword [rbp - 0x80]
jmp 0x1400596af
mov r12d, dword [rbp - 0x68]
mov rbx, qword [rbp - 0x80]
test r12b, 0x40
jne 0x14005cf93
movzx edi, byte [rbx]
mov r10d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
jmp 0x140059d3f
mov edx, dword [rbp - 0x74]
movabs r13, 0x2400400000000000
mov r11, qword [rbp + 0x168]
mov r12d, dword [rbp - 0x68]
jmp 0x140059d49
mov r11, qword [rbp + 0x168]
mov r12d, dword [rbp - 0x68]
movabs r13, 0x2400400000000000
cmp byte [rbx + 1], 0x5c
jne 0x140059d6d
xor ecx, ecx
cmp byte [rbx + 2], 0x45
lea rax, [rbx + 2]
jne 0x140059d6a
mov qword [rbp - 0x80], rax
mov edx, ecx
cmp byte [rax + 1], 0x5c
mov rbx, rax
je 0x140059d51
mov dword [rbp - 0x74], edx
mov rcx, rbx
cmp edi, 0xd
je 0x140059d7a
cmp edi, 0xa
jne 0x140059d8e
mov r14, qword [rbp + 0x1a0]
or dword [r14 + 0x94], 0x800
jmp 0x140059d95
mov r14, qword [rbp + 0x1a0]
test edx, edx
jne 0x140059ff5
cmp byte [rbx + 1], 0x2d
jne 0x140059ff5
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x140059dc7
cmp byte [rbx + 1], 0x45
jne 0x140059e1c
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x140059db4
mov r8d, 1
movzx eax, byte [rbx]
test al, al
je 0x140059fee
test edx, edx
jne 0x140059de4
cmp al, 0x5d
je 0x140059fee
mov dword [rbp - 0x50], eax
mov r9d, eax
test r10d, r10d
je 0x140059efb
cmp eax, 0xc0
jb 0x140059efb
test r9b, 0x20
jne 0x140059e5d
movzx eax, byte [rbx + 1]
inc rbx
and r9d, 0x1f
mov qword [rbp - 0x80], rbx
shl r9d, 6
jmp 0x140059eee
cmp byte [rbx], 0x5c
jne 0x140059dc7
cmp byte [rbx + 1], 0x51
jne 0x140059dc7
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x140059e4c
cmp byte [rbx + 1], 0x45
jne 0x140059e4c
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x140059e21
jmp 0x140059dc7
mov r8d, 1
mov edx, r8d
mov dword [rbp - 0x74], edx
jmp 0x140059dcd
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test r9b, 0x10
jne 0x140059e7d
and r9d, 0xf
lea rdx, [rbx + 2]
mov eax, r9d
shl eax, 0xc
jmp 0x140059edb
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 8
jne 0x140059e9f
and r9d, 7
lea rdx, [rbx + 3]
mov eax, r9d
shl eax, 0x12
jmp 0x140059edb
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 4
jne 0x140059ec1
and r9d, 3
lea rdx, [rbx + 4]
mov eax, r9d
shl eax, 0x18
jmp 0x140059edb
movzx eax, byte [rbx + 4]
lea rdx, [rbx + 5]
and eax, 0x3f
and r9d, 1
or ecx, eax
mov eax, r9d
shl ecx, 6
shl eax, 0x1e
mov r9d, ecx
mov rbx, rdx
or r9d, eax
movzx eax, byte [rdx]
mov qword [rbp - 0x80], rdx
mov edx, dword [rbp - 0x74]
and eax, 0x3f
or r9d, eax
mov dword [rbp - 0x50], r9d
mov eax, r9d
test edx, edx
jne 0x140059fbb
cmp eax, 0x5c
jne 0x140059f54
mov r9d, dword [r14 + 0x70]
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x28], r8d
lea rcx, [rbp - 0x80]
mov r8, r11
mov dword [rsp + 0x20], r12d
call fcn.140057270
mov r11, qword [rbp + 0x168]
cmp dword [r11], 0
jne 0x140059560
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x140059f4e
cmp eax, 5
jne 0x14005cfaf
lea r9d, [rax + 3]
jmp 0x140059fb4
mov r9d, dword [rbp - 0x50]
jmp 0x140059fb4
cmp eax, 0x5b
jne 0x140059fbb
movzx r10d, byte [rbx + 1]
cmp r10b, 0x3d
ja 0x140059fb7
bt r13, r10
jae 0x140059fb7
movzx ecx, byte [rbx + 2]
lea rdx, [rbx + 2]
test cl, cl
je 0x140059fb4
cmp cl, 0x5c
jne 0x140059f8a
movzx eax, byte [rdx + 1]
sub al, cl
cmp al, 1
ja 0x140059f9a
inc rdx
jmp 0x140059fa9
cmp cl, 0x5b
jne 0x140059f95
cmp byte [rdx + 1], r10b
jmp 0x140059f98
cmp cl, 0x5d
je 0x140059fb4
cmp cl, r10b
jne 0x140059fa9
cmp byte [rdx + 1], 0x5d
je 0x14005cfaf
movzx ecx, byte [rdx + 1]
inc rdx
test cl, cl
jne 0x140059f76
mov edx, dword [rbp - 0x74]
mov r10d, dword [rbp - 0x78]
cmp r9d, edi
jb 0x14005cfbb
je 0x140059ff5
mov r13d, 2
mov dword [rbp - 0x58], r13d
cmp r9d, 0xd
je 0x140059fdc
cmp r9d, 0xa
jne 0x140059fe7
or dword [r14 + 0x94], 0x800
mov dword [rsp + 0x28], r9d
jmp 0x14005a027
mov rbx, rcx
mov qword [rbp - 0x80], rcx
mov dword [rbp - 0x58], esi
mov r13d, esi
cmp esi, 2
jge 0x14005a008
lea r13d, [rsi + 1]
mov dword [rbp - 0x58], r13d
test edx, edx
jne 0x14005a023
cmp dword [rbp - 0x64], edx
jne 0x14005a023
cmp r13d, 1
jne 0x14005a023
inc rbx
cmp byte [rbx], 0x5d
je 0x14005a1db
mov dword [rsp + 0x28], edi
mov r9, r14
mov dword [rsp + 0x20], edi
mov r8d, r12d
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x58]
call fcn.140056590
lea r12d, [r15 + rax]
mov dword [rbp - 0x50], r12d
mov rbx, qword [rbp - 0x80]
xor r11d, r11d
mov ecx, dword [rbp - 0x74]
mov r10d, dword [rbp - 0x78]
mov r9, qword [rbp - 0x18]
mov r8d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x68]
mov r14d, 1
mov r15d, dword [rbp - 0x64]
mov rsi, qword [rbp + 0x10]
inc rbx
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
test edi, edi
jne 0x14005a09b
test rsi, rsi
je 0x14005cfc7
lea rbx, [rsi + 1]
mov qword [rbp + 0x10], r11
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
test edi, edi
je 0x14005cfc7
mov r11, qword [rbp + 0x1a0]
cmp edi, 0x5d
jne 0x1400592f0
test ecx, ecx
jne 0x1400592f0
cmp qword [rbp - 0x48], r9
mov ecx, 0xffffffff
mov eax, dword [rbp - 0x5c]
mov r13d, dword [rbp - 0x28]
cmova r8d, r14d
mov esi, dword [rbp - 0x30]
cmp eax, 0xfffffffe
mov r10d, dword [rbp - 0x3c]
cmove eax, ecx
mov dword [rbp - 0x60], r13d
mov ecx, dword [rbp - 0x20]
mov dword [rbp - 0x5c], eax
mov dword [rbp], ecx
mov dword [rbp - 0x24], eax
mov dword [rbp - 0x64], esi
test r8d, r8d
je 0x14005a357
test r15d, r15d
jne 0x14005a104
test r10d, r10d
je 0x14005a104
bt edx, 0x1d
jae 0x14005a357
cmp dword [rbp - 0x78], 0
mov r14d, dword [rbp - 0x54]
je 0x14005a157
test r10d, r10d
je 0x14005a157
test r14d, r14d
jne 0x14005a157
bt edx, 0x1d
jb 0x14005a157
mov rax, qword [rbp - 0x48]
mov ecx, 0x100
mov byte [rax], 2
mov rdx, qword [rbp - 0x48]
inc rdx
mov qword [rbp - 0x48], rdx
call fcn.140061ed0
mov rdx, qword [rbp - 0x48]
mov ecx, 0x10ffff
mov eax, eax
add rdx, rax
mov qword [rbp - 0x48], rdx
call fcn.140061ed0
mov eax, eax
add qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x70]
mov byte [rax], 0
inc qword [rbp - 0x48]
test r14d, r14d
mov byte [rcx], 0x70
setne al
mov byte [rcx + 3], al
test r15d, r15d
je 0x14005a17c
or al, 4
mov byte [rcx + 3], al
test r12d, r12d
jle 0x14005a32c
or byte [rcx + 3], 2
lea rbx, [rcx + 4]
mov r8, qword [rbp - 0x48]
lea rcx, [rbx + 0x20]
sub r8, rbx
mov rdx, rbx
call fcn.14002b6c0
test r14d, r14d
je 0x14005a1bf
test r15d, r15d
jne 0x14005a1bf
lea rcx, [rbp + 0x58]
mov edx, 0x20
not byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14005a1b3
movups xmm0, xmmword [rbp + 0x58]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x68]
movups xmmword [rbx + 0x10], xmm1
mov r9, qword [rbp - 0x48]
add r9, 0x20
jmp 0x14005a330
cmp dword [rbp - 0x54], 0
mov r13d, dword [rbp - 0x28]
mov esi, dword [rbp - 0x30]
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x64], esi
mov qword [rbp - 0x80], rbx
je 0x14005a2b1
mov r11d, dword [rbp - 0x5c]
mov eax, 0xffffffff
cmp r11d, 0xfffffffe
cmove r11d, eax
mov dword [rbp - 0x5c], r11d
mov dword [rbp - 0x24], r11d
test r10d, r10d
je 0x14005a273
test r12b, 1
je 0x14005a277
mov edx, edi
mov eax, edi
and edx, 0x7f
test edi, edi
jns 0x14005a22c
lea eax, [rdi + 0x7f]
add edx, 0xffffff80
sar eax, 7
lea r8, [0x140000000]
cdqe
movzx eax, byte [rax + r8 + 0x2d5e30]
shl eax, 7
add eax, edx
cdqe
movzx ecx, word [r8 + rax*2 + 0x2d8030]
movzx edx, byte [r8 + rcx*8 + 0x2d47b3]
test dl, dl
je 0x14005a273
mov rax, qword [rbp - 0x70]
mov word [rax], 0x90f
lea r9, [rax + 3]
mov byte [rax + 2], dl
jmp 0x14005a3c9
test r12b, 1
mov rcx, qword [rbp - 0x70]
setne al
add al, 0x1f
mov byte [rcx], al
lea rbx, [rcx + 1]
test r10d, r10d
je 0x14005a2a5
cmp edi, 0x7f
jbe 0x14005a2a5
mov rdx, rbx
mov ecx, edi
call fcn.140061ed0
mov r9d, eax
add r9, rbx
jmp 0x14005a3c9
mov byte [rbx], dil
lea r9, [rbx + 1]
jmp 0x14005a3c9
test r10d, r10d
je 0x14005a2c2
cmp edi, 0x7f
jbe 0x14005a2c2
mov ecx, edi
jmp 0x14005c00c
mov r11, qword [rbp + 0x1a0]
mov r9d, 1
mov r10, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x78]
mov byte [rbp - 0x10], dil
mov r14, qword [r11 + 0x40]
mov r15, r10
sub r14, qword [r11 + 0x20]
mov qword [rbp - 0x38], r10
mov qword [rbp + 8], r14
test ecx, ecx
je 0x14005ce4e
test r12b, 1
je 0x14005ce52
movzx edx, byte [rbp - 0x10]
cmp edx, 0xc0
jb 0x14005cdd9
movzx ecx, byte [rbp - 0xf]
and ecx, 0x3f
test dl, 0x20
jne 0x14005cd70
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14005cdd5
mov r9, qword [rbp - 0x48]
mov r15, qword [rbp - 0x38]
mov rcx, r9
mov eax, ecx
mov qword [rbp - 0x70], r9
sub eax, r15d
sar eax, 8
sub cl, r15b
mov byte [r15 + 1], al
mov byte [r15 + 2], cl
mov r12d, dword [rbp - 0x68]
jmp 0x14005cf25
mov rcx, qword [rbp + 0x1a8]
test rcx, rcx
je 0x14005a380
mov eax, dword [rbp - 0x48]
sub eax, r9d
mov r9, qword [rbp - 0x70]
add dword [rcx], eax
cmp dword [rbp - 0x54], r10d
setne al
add al, 0x6e
mov byte [r9], al
inc r9
jmp 0x14005a3c1
mov r14d, dword [rbp - 0x54]
cmp r14d, r10d
mov r9, qword [rbp - 0x70]
setne al
add al, 0x6e
mov byte [r9], al
inc r9
test r14d, r14d
je 0x14005a3b0
lea rcx, [rbp + 0x58]
mov edx, 0x20
not byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14005a3a4
movups xmm0, xmmword [rbp + 0x58]
movups xmmword [r9], xmm0
movups xmm1, xmmword [rbp + 0x68]
movups xmmword [r9 + 0x10], xmm1
mov r12d, dword [rbp - 0x68]
add r9, 0x20
mov qword [rbp - 0x70], r9
mov eax, dword [rbp - 0x20]
mov r13d, dword [rbp - 0x28]
mov esi, dword [rbp - 0x30]
mov r15, qword [rbp - 0x38]
mov dword [rbp], eax
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x64], esi
jmp 0x14005cf25
test edx, edx
je case.0x140058fb4.12
movzx eax, byte [rbx + 1]
inc rbx
mov r8d, r10d
mov edx, 0xffffffff
cmp al, 0x30
jb 0x14005a480
nop dword [rax]
cmp al, 0x39
ja 0x14005a480
lea r8d, [r8 + r8*4]
movzx eax, al
lea r8d, [r8 - 0x18]
inc rbx
lea r8d, [rax + r8*2]
cmp r8d, 0xffff
jg 0x14005a478
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005a410
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x7d
je 0x14005a487
mov edx, r10d
cmp al, 0x30
jb 0x14005a46a
cmp al, 0x39
ja 0x14005a46a
lea edx, [rdx + rdx*4]
movzx eax, al
lea edx, [rdx - 0x18]
inc rbx
lea edx, [rax + rdx*2]
cmp edx, 0xffff
jg 0x14005a478
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005a448
cmp edx, r8d
jge 0x14005a487
mov eax, 4
mov dword [rdi], eax
jmp 0x14005a48e
mov dword [rdi], 5
jmp 0x14005a48e
cmp al, 0x7d
jne 0x14005a436
mov edx, r8d
mov dword [rbp - 0x2c], r8d
mov dword [rbp - 0x40], edx
cmp dword [rdi], 0
mov qword [rbp - 0x80], rbx
jne 0x14005d2cb
mov r14d, dword [rbp - 0x40]
mov r12d, 1
mov edx, dword [rbp - 0x2c]
jmp 0x14005a4e4
mov eax, 0xffffffff
mov r14d, eax
mov dword [rbp - 0x40], eax
lea r12d, [rax + 2]
jmp 0x14005a4de
mov eax, 0xffffffff
mov r12d, 1
mov edx, r12d
mov dword [rbp - 0x40], eax
mov r14d, eax
jmp 0x14005a4e1
mov r12d, 1
mov r14d, r12d
mov dword [rbp - 0x40], r12d
mov edx, r10d
mov dword [rbp - 0x2c], edx
mov r10, qword [rbp - 0x38]
test r10, r10
je 0x14005cfd9
test edx, edx
jne 0x14005a508
mov eax, dword [rbp]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x28], r13d
mov dword [rbp - 0x30], esi
cmp edx, r14d
mov qword [rbp - 8], r10
mov r13d, 0
mov eax, 2
cmove eax, r13d
mov dword [rbp - 0x58], r13d
mov dword [rbp - 0x3c], eax
test r15d, r15d
je 0x14005a624
inc rbx
mov rcx, qword [r11 + 0x18]
movzx eax, byte [rbx]
test byte [rax + rcx], 1
je 0x14005a54d
nop
movzx eax, byte [rbx + 1]
inc rbx
test byte [rax + rcx], 1
jne 0x14005a540
cmp al, 0x23
jne 0x14005a60b
inc rbx
cmp byte [rbx], r13b
je 0x14005a531
nop dword [rax]
mov edx, dword [r11 + 0xb4]
lea rdi, [r11 + 0xb8]
mov rcx, qword [r11 + 0x38]
test edx, edx
je 0x14005a5ad
cmp rbx, rcx
jae 0x14005a597
mov eax, dword [rbp - 0x78]
mov r8, rcx
mov rcx, rbx
mov dword [rsp + 0x20], eax
mov r9, rdi
call fcn.140061440
test eax, eax
mov eax, r12d
jne 0x14005a59a
mov eax, r13d
mov r11, qword [rbp + 0x1a0]
test eax, eax
je 0x14005a5d6
movsxd rax, dword [rdi]
add rbx, rax
jmp 0x14005a531
movsxd rdx, dword [rdi]
sub rcx, rdx
cmp rbx, rcx
ja 0x14005a5d6
movzx eax, byte [r11 + 0xbc]
cmp byte [rbx], al
jne 0x14005a5d6
cmp edx, 1
je 0x14005a5a5
movzx eax, byte [r11 + 0xbd]
cmp byte [rbx + 1], al
je 0x14005a5a5
inc rbx
cmp dword [rbp - 0x78], r13d
je 0x14005a5fd
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x14005a5fd
nop dword [rax + rax]
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
je 0x14005a5f0
cmp byte [rbx], r13b
jne 0x14005a560
jmp 0x14005a531
mov r10, qword [rbp - 0x38]
dec rbx
mov r9, qword [rbp - 0x70]
mov rdi, qword [rbp + 0x168]
mov edx, dword [rbp - 0x2c]
mov qword [rbp - 0x80], rbx
cmp byte [rbx + 1], 0x28
jne 0x14005a676
cmp byte [rbx + 2], 0x3f
jne 0x14005a676
cmp byte [rbx + 3], 0x23
jne 0x14005a676
add rbx, 4
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x140058e12
nop dword [rax]
cmp al, 0x29
je 0x14005a66d
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x14005a650
mov dword [rdi], setsockopt
jmp 0x14005d2cb
cmp byte [rbx], r13b
je 0x140058e12
movzx ecx, byte [rbx + 1]
lea rax, [rbx + 1]
cmp cl, 0x2b
jne 0x14005a69a
mov r12d, r13d
mov dword [rbp - 0x54], r13d
mov dword [rbp - 0x58], 1
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x14005a6b7
cmp cl, 0x3f
jne 0x14005a6af
mov r12d, dword [rbp + 0x80]
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x14005a6b3
mov r12d, dword [rbp + 0x7c]
mov dword [rbp - 0x54], r12d
cmp byte [r10], 0x75
jne 0x14005a776
lea rcx, [r10 + 3]
mov r8d, 3
mov rdx, r10
call fcn.14002b6c0
mov r10, qword [rbp - 0x38]
mov r9, qword [rbp - 0x70]
mov r11, qword [rbp + 0x1a8]
add r9, 6
mov qword [rbp - 0x70], r9
mov word [r10], 0x81
mov byte [r10 + 2], 6
mov word [r10 + 6], 0x78
mov byte [r10 + 8], 6
mov dword [rbp + 0x20], 9
test r11, r11
jne 0x14005a76d
mov r9, qword [rbp + 0x1a0]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x40]
add rax, 2
cmp r8, rax
jb 0x14005a769
movzx eax, byte [r8 - 2]
movzx ecx, byte [r8 - 1]
shl eax, 8
or ecx, eax
mov rax, r10
sub rax, qword [r9 + 0x28]
inc rax
mov edx, ecx
cmp rdx, rax
jne 0x14005a769
lea eax, [rcx + 3]
shr eax, 8
mov byte [r8 - 2], al
add dl, 3
mov rax, qword [r9 + 0x40]
mov r8, r9
mov r9, qword [rbp - 0x70]
mov byte [rax - 1], dl
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x2c]
jmp 0x14005a784
mov r9, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x2c]
jmp 0x14005a77d
mov r11, qword [rbp + 0x1a8]
mov r8, qword [rbp + 0x1a0]
movzx esi, byte [r10]
lea eax, [rsi - 0x1d]
cmp al, 3
jbe 0x14005af1e
cmp sil, 0x17
jae 0x14005a7aa
mov r11d, dword [rbp - 0x78]
mov r14d, reloc.WS2_32.dll_gethostbyname
mov edi, esi
jmp 0x14005afc6
lea eax, [rsi - 0x6e]
cmp al, 6
jbe 0x14005ae55
lea eax, [rsi - 0x7d]
cmp al, 0xa
ja 0x14005ae40
mov r14, qword [rbp + 8]
xor eax, eax
mov r12d, r9d
mov rdi, r14
sub r12d, r10d
mov r15d, eax
cmp sil, 0x87
jne 0x14005a7df
cmp byte [r10 + 3], 0x91
je 0x14005a85c
cmp sil, 0x81
jae 0x14005a7fc
test edx, edx
jg 0x14005a85c
mov esi, dword [rbp - 0x40]
mov ecx, 1
cmp esi, 1
cmova esi, ecx
mov dword [rbp - 0x40], esi
jmp 0x14005a804
mov esi, dword [rbp - 0x40]
mov ecx, 1
test edx, edx
jne 0x14005a8f5
mov byte [r9], al
mov r9, r8
mov r8d, dword [rbp - 0x78]
mov qword [rsp + 0x20], r14
cmp esi, 1
jg 0x14005a8a6
mov edx, ecx
mov rcx, r10
call fcn.1400568c0
mov rsi, qword [rbp - 0x38]
movsxd r8, r12d
mov rdx, rsi
lea rbx, [rsi + 1]
mov rcx, rbx
call fcn.14002b6c0
mov r9, qword [rbp - 0x70]
inc r9
mov qword [rbp - 0x70], r9
cmp dword [rbp - 0x40], r13d
jne 0x14005a887
mov byte [rsi], 0xa1
mov rbx, qword [rbp - 0x80]
mov r13, qword [rbp + 0x1a0]
mov eax, dword [rbp - 0x3c]
xor r10d, r10d
or dword [r13 + 0x98], eax
mov r15d, r10d
mov r13d, dword [rbp - 0x60]
mov esi, dword [rbp - 0x64]
mov r12d, dword [rbp - 0x68]
mov qword [rbp - 0x38], r10
jmp 0x140058fef
mov r14d, dword [rbp - 0x54]
mov r15, rsi
mov qword [rbp - 0x38], rbx
lea eax, [r14 - 0x6e]
mov byte [rsi], al
mov esi, dword [rbp - 0x40]
mov rbx, qword [rbp - 0x80]
dec esi
jmp 0x14005aa7c
mov edx, 4
mov rcx, r10
call fcn.1400568c0
mov rbx, qword [rbp - 0x38]
movsxd r8, r12d
mov rdx, rbx
lea rcx, [rbx + 4]
call fcn.14002b6c0
mov r14d, dword [rbp - 0x54]
lea r13, [rbx + 2]
add qword [rbp - 0x70], 4
dec esi
lea eax, [r14 - 0x6e]
mov byte [rbx], al
lea rax, [r13 + 2]
mov byte [rbx + 1], 0x83
mov word [r13], r15w
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x38], rax
jmp 0x14005aa7c
cmp edx, 1
jle 0x14005aa72
test r11, r11
je 0x14005a950
mov eax, dword [rbp + 0x20]
lea ecx, [rdx - 1]
movd xmm1, ecx
mov edx, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
imul edx, eax
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1402d4660]
ja 0x14005d2ae
mov ecx, dword [r11]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x14005d2ae
lea eax, [rdx + rcx]
mov edx, dword [rbp - 0x2c]
mov dword [r11], eax
jmp 0x14005aa72
cmp dword [rbp + 0x40], eax
je 0x14005a966
cmp dword [rbp - 0x30], eax
jge 0x14005a966
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x5c]
mov dword [rbp - 0x30], eax
mov r9, qword [rbp + 0x1a0]
mov esi, ecx
mov rax, qword [rbp - 0x70]
movsxd r14, r12d
nop word [rax + rax]
mov rbx, qword [r9 + 0x40]
mov r8, r14
sub rbx, qword [r9 + 0x20]
mov rdx, r10
mov rcx, rax
call fcn.14002b6c0
mov r9, qword [rbp + 0x1a0]
movsxd rax, dword [r9 + 0x6c]
mov rcx, qword [r9 + 0x20]
sub rax, rbx
mov r8, qword [r9 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rdi
cmp r8, rax
jbe 0x14005a9fe
nop dword [rax + rax]
mov rcx, r9
call fcn.14005e270
mov rcx, qword [rbp + 0x168]
mov dword [rcx], eax
test eax, eax
jne 0x140059560
mov r9, qword [rbp + 0x1a0]
movsxd rax, dword [r9 + 0x6c]
mov rcx, qword [r9 + 0x20]
sub rax, rbx
mov r8, qword [r9 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rdi
cmp r8, rax
ja 0x14005a9c0
lea rdx, [rcx + rdi]
lea rax, [rbx + rcx]
cmp rdx, rax
jae 0x14005aa4c
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
add ecx, r12d
sar ecx, 8
mov byte [r8], cl
movzx ecx, r12b
add cl, byte [rdx + 1]
add rdx, 2
mov rax, qword [r9 + 0x40]
mov byte [rax + 1], cl
add qword [r9 + 0x40], 2
mov rcx, qword [r9 + 0x20]
mov r8, qword [r9 + 0x40]
add rcx, rbx
cmp rdx, rcx
jb 0x14005aa10
mov rax, qword [rbp - 0x70]
inc esi
mov edx, dword [rbp - 0x2c]
add rax, r14
mov r10, qword [rbp - 0x38]
mov rdi, rbx
mov qword [rbp - 0x70], rax
cmp esi, edx
jl 0x14005a980
mov rbx, qword [rbp - 0x80]
mov esi, dword [rbp - 0x40]
mov r14d, dword [rbp - 0x54]
test esi, esi
jle 0x14005aa81
sub esi, edx
mov dword [rbp - 0x40], esi
test esi, esi
js 0x14005acc1
mov r8, qword [rbp + 0x1a8]
mov r14d, dword [rbp - 0x40]
test r8, r8
je 0x14005ab32
test r14d, r14d
jle 0x14005ab32
mov eax, dword [rbp + 0x20]
add eax, 7
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
mov ecx, eax
imul ecx, r14d
movd xmm1, eax
cvtdq2pd xmm1, xmm1
sub ecx, 6
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1402d4660]
ja 0x14005d2ae
mov edx, dword [r8]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x14005d2ae
lea eax, [rcx + rdx]
mov dword [r8], eax
mov r9, qword [rbp - 0x70]
test r13, r13
je 0x14005ae82
nop dword [rax + rax]
mov eax, r9d
mov rdx, r9
sub eax, r13d
lea r8d, [rax + 1]
cdqe
sub rdx, rax
movzx ecx, byte [rdx]
movzx r9d, byte [rdx + 1]
mov eax, ecx
shl eax, 8
or eax, r9d
jne 0x14005ac85
xor eax, eax
mov r13d, eax
jmp 0x14005ac8f
lea esi, [r14 - 1]
test esi, esi
js 0x14005aaee
mov eax, dword [rbp - 0x54]
mov r15, qword [rbp + 0x1a0]
sub al, 0x6e
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x54], eax
movsxd r14, r12d
mov rbx, qword [r15 + 0x40]
sub rbx, qword [r15 + 0x20]
mov byte [r9], al
inc r9
mov qword [rbp - 0x70], r9
test esi, esi
je 0x14005ab93
mov byte [r9], 0x83
lea rdx, [r9 + 1]
test r13, r13
jne 0x14005ab79
xor eax, eax
mov ecx, eax
jmp 0x14005ab7e
mov ecx, edx
sub ecx, r13d
mov eax, ecx
mov byte [rdx + 1], cl
sar eax, 8
lea r9, [rdx + 2]
mov byte [rdx], al
mov r13, rdx
mov qword [rbp - 0x70], r9
mov rdx, qword [rbp - 0x38]
mov r8, r14
mov rcx, r9
call fcn.14002b6c0
movsxd rax, dword [r15 + 0x6c]
mov rcx, qword [r15 + 0x20]
sub rax, rbx
mov r8, qword [r15 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rdi
cmp r8, rax
jbe 0x14005abf7
mov rcx, r15
call fcn.14005e270
mov rcx, qword [rbp + 0x168]
mov dword [rcx], eax
test eax, eax
jne 0x140059560
movsxd rax, dword [r15 + 0x6c]
mov rcx, qword [r15 + 0x20]
sub rax, rbx
mov r8, qword [r15 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rdi
cmp r8, rax
ja 0x14005abc0
lea rdx, [rcx + rdi]
lea rax, [rbx + rcx]
cmp rdx, rax
jae 0x14005ac62
mov eax, 1
test esi, esi
mov ecx, 4
mov r9d, eax
mov r10d, eax
cmovne r9d, ecx
cmovne r10d, ecx
nop
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
add ecx, r9d
add ecx, r12d
sar ecx, 8
mov byte [r8], cl
movzx ecx, r10b
add cl, byte [rdx + 1]
add rdx, 2
mov rax, qword [r15 + 0x40]
add cl, r12b
mov byte [rax + 1], cl
add qword [r15 + 0x40], 2
mov rcx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x40]
add rcx, rbx
cmp rdx, rcx
jb 0x14005ac20
mov r9, qword [rbp - 0x70]
mov rdi, rbx
mov eax, dword [rbp - 0x54]
add r9, r14
sub esi, 1
mov qword [rbp - 0x70], r9
jns 0x14005ab50
mov rbx, qword [rbp - 0x80]
jmp 0x14005aaf2
shl rcx, 8
or rcx, r9
sub r13, rcx
mov r9, qword [rbp - 0x70]
mov eax, r8d
sar eax, 8
mov byte [r9], 0x78
mov byte [r9 + 1], al
mov byte [r9 + 2], r8b
add r9, 3
mov qword [rbp - 0x70], r9
mov byte [rdx], al
mov byte [rdx + 1], r8b
test r13, r13
jne 0x14005ab00
jmp 0x14005ae7e
mov r9, qword [rbp - 0x70]
movzx eax, byte [r9 - 1]
lea rbx, [r9 - 3]
movzx ecx, byte [rbx + 1]
mov rdi, rbx
mov r12d, dword [rbp - 0x58]
shl rcx, 8
or rcx, rax
sub rdi, rcx
movzx eax, byte [rdi]
add al, 0x7f
cmp al, 1
ja 0x14005acf4
test r12d, r12d
je 0x14005acf4
mov byte [rdi], 0x83
movzx esi, byte [rdi]
lea eax, [rsi + 0x7f]
cmp al, 1
jbe 0x14005ae33
cmp qword [rbp + 0x1a8], 0
mov r13, qword [rbp + 0x1a0]
jne 0x14005ad64
mov r11, rdi
nop word [rax + rax]
mov r8d, dword [rbp - 0x78]
xor eax, eax
mov r9, r13
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov rcx, r11
call fcn.14005db90
test eax, eax
jne 0x14005ad59
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl rcx, 8
or rcx, rax
add r11, rcx
cmp byte [r11], 0x77
je 0x14005ad20
jmp 0x14005ad60
add sil, 5
mov byte [rdi], sil
mov r9, qword [rbp - 0x70]
cmp byte [rdi], 0x87
jne 0x14005ad81
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
shl rcx, 8
or rcx, rax
cmp byte [rcx + rdi], 0x77
je 0x14005ad81
mov byte [rdi], 0x8c
test r12d, r12d
je 0x14005ae23
movzx eax, byte [rdi]
cmp al, 0x87
je 0x14005ad9e
cmp al, 0x8c
je 0x14005ad9e
inc al
mov byte [rdi], al
mov byte [rbx], 0x7b
jmp 0x14005ae09
mov rax, qword [rbp + 8]
mov ebx, r9d
mov r8d, dword [rbp - 0x78]
mov edx, 3
mov byte [r9], 0
mov rcx, rdi
mov r9, r13
mov qword [rsp + 0x20], rax
sub ebx, edi
call fcn.1400568c0
movsxd r8, ebx
lea rcx, [rdi + 3]
mov rdx, rdi
call fcn.14002b6c0
mov rcx, qword [rbp - 0x70]
add ebx, 3
cmp byte [rdi], 0x87
mov eax, 0x89
mov edx, 0x84
cmove eax, edx
mov byte [rdi], al
lea r9, [rcx + 6]
mov byte [rcx + 3], 0x7b
mov eax, ebx
sar eax, 8
mov byte [rcx + 4], al
mov byte [rcx + 5], bl
mov byte [rdi + 1], al
mov byte [rdi + 2], bl
mov qword [rbp - 0x70], r9
test r15, r15
je 0x14005ae12
mov byte [r15], 0x94
cmp dword [rbp - 0x2c], 2
mov rbx, qword [rbp - 0x80]
jge 0x14005ae96
xor eax, eax
mov r12d, eax
jmp 0x14005ae8d
add r14b, 0x79
mov byte [rbx], r14b
mov rbx, qword [rbp - 0x80]
jmp 0x14005a863
add r14b, 0x79
mov byte [rbx], r14b
mov rbx, qword [rbp - 0x80]
jmp 0x14005ae86
cmp sil, 0x9d
je 0x14005a85c
mov dword [rdi], reloc.WS2_32.dll_inet_addr
jmp 0x14005d2cb
test r14d, r14d
jne 0x14005ae66
mov r9, r10
mov qword [rbp - 0x70], r10
jmp 0x14005a85c
test edx, edx
jne 0x14005aed6
cmp r14d, 0xffffffff
jne 0x14005aeca
add r12b, 0x62
mov byte [r9], r12b
inc r9
mov qword [rbp - 0x70], r9
mov rbx, qword [rbp - 0x80]
mov r12d, dword [rbp - 0x58]
mov r13, qword [rbp + 0x1a0]
test r12d, r12d
je 0x14005a863
mov rax, qword [rbp - 8]
lea r10, [0x140000000]
movzx r8d, byte [rax]
lea eax, [r8 - 0x1d]
cmp eax, 0x53
ja case.0x14005aec8.33
cdqe
movzx eax, byte [r10 + rax + 0x5d428]
mov ecx, dword [r10 + rax*4 + 0x5d414]
add rcx, r10
jmp rcx
cmp r14d, 1
jne 0x14005aee7
add r12b, 0x66
jmp 0x14005ae74
cmp edx, 1
jne 0x14005aee7
cmp r14d, 0xffffffff
jne 0x14005aee7
add r12b, 0x64
jmp 0x14005ae74
add r12b, 0x68
mov eax, edx
sar eax, 8
mov byte [r9], r12b
cmp r14d, 0xffffffff
mov byte [r9 + 1], al
cmove r14d, r13d
mov byte [r9 + 2], dl
mov eax, r14d
mov byte [r9 + 4], r14b
sar eax, 8
mov byte [r9 + 3], al
add r9, 5
mov dword [rbp - 0x40], r14d
jmp 0x14005ae7a
mov ecx, esi
sub ecx, 0x1d
je 0x14005af4a
sub ecx, 1
je 0x14005af42
sub ecx, 1
je 0x14005af3a
cmp ecx, 1
jne 0x14005af4a
lea r14d, [rcx + 0x26]
jmp 0x14005af4d
mov r14d, 0x1a
jmp 0x14005af4d
mov r14d, reloc.WS2_32.dll_listen
jmp 0x14005af4d
mov r14d, r13d
mov r11d, dword [rbp - 0x78]
test r11d, r11d
je 0x14005af9f
movzx eax, byte [r9 - 1]
lea rdx, [r9 - 1]
and al, 0xc0
cmp al, 0x80
jne 0x14005af9f
nop word [rax + rax]
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x14005af70
mov edi, r9d
lea rcx, [rbp + 0x90]
sub edi, edx
mov r8d, edi
call fcn.14002b6c0
mov r10, qword [rbp - 0x38]
bts edi, 0x1c
mov r11d, dword [rbp - 0x78]
jmp 0x14005afc6
movzx edi, byte [r9 - 1]
cmp sil, 0x1e
ja 0x14005afc6
mov r13d, dword [rbp - 0x2c]
cmp r13d, 1
jle 0x14005afca
mov r13d, dword [rbp + 0x18]
or r13d, dword [r8 + 0x98]
mov dword [rbp - 0x30], r13d
mov dword [rbp - 0x28], edi
mov r13d, dword [rbp - 0x2c]
sub sil, 0xf
cmp sil, 1
jbe 0x14005afe0
mov eax, 0xffffffff
mov r15d, eax
mov esi, eax
jmp 0x14005afea
movzx esi, byte [r10 + 1]
movzx r15d, byte [r10 + 2]
cmp dword [rbp - 0x40], 0
mov r9, r10
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x70], r10
je 0x14005a85c
add r12d, r14d
test r13d, r13d
jne 0x14005b055
mov r14d, dword [rbp - 0x40]
cmp r14d, 0xffffffff
jne 0x14005b021
add r12b, 0x21
lea r9, [r10 + 1]
mov byte [r10], r12b
jmp 0x14005b1a5
cmp r14d, 1
jne 0x14005b037
add r12b, 0x25
lea r9, [r10 + 1]
mov byte [r10], r12b
jmp 0x14005b1a5
add r12b, 0x27
lea r9, [r10 + 3]
mov byte [r10], r12b
mov eax, r14d
sar eax, 8
mov byte [r10 + 1], al
mov byte [r10 + 2], r14b
jmp 0x14005b1a5
cmp r13d, 1
jne 0x14005b0a7
mov r14d, dword [rbp - 0x40]
cmp r14d, 0xffffffff
jne 0x14005b075
add r12b, 0x23
lea r9, [r10 + 1]
mov byte [r10], r12b
jmp 0x14005b1a5
mov qword [rbp - 0x70], rcx
mov r9, rcx
cmp r14d, 1
je 0x14005a85c
add r12b, 0x27
lea eax, [r14 - 1]
sar eax, 8
lea r9, [rcx + 3]
mov byte [rcx], r12b
mov byte [rcx + 1], al
lea eax, [r14 - 1]
mov byte [rcx + 2], al
jmp 0x14005b1a5
add r14b, 0x29
lea r9, [r10 + 3]
mov byte [r10], r14b
mov eax, r13d
mov r14d, dword [rbp - 0x40]
sar eax, 8
mov byte [r10 + 1], al
mov byte [r10 + 2], r13b
mov qword [rbp - 0x70], r9
test r14d, r14d
jns 0x14005b12a
test r11d, r11d
je 0x14005b109
bt edi, 0x1c
jae 0x14005b109
mov ebx, edi
lea rdx, [rbp + 0x90]
and ebx, 7
mov rcx, r9
mov r8d, ebx
call fcn.14002b6c0
mov r9, qword [rbp - 0x70]
add r12b, 0x21
mov r11d, dword [rbp - 0x78]
add r9, rbx
mov byte [r9], r12b
inc r9
jmp 0x14005b1a5
mov byte [r9], dil
inc r9
test esi, esi
js 0x14005b11e
mov byte [r9], sil
mov byte [r9 + 1], r15b
add r9, 2
add r12b, 0x21
mov byte [r9], r12b
inc r9
jmp 0x14005b1a5
cmp r14d, r13d
je 0x14005b1a9
test r11d, r11d
je 0x14005b15e
bt edi, 0x1c
jae 0x14005b15e
mov ebx, edi
lea rdx, [rbp + 0x90]
and ebx, 7
mov rcx, r9
mov r8d, ebx
call fcn.14002b6c0
mov r9, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x78]
add r9, rbx
jmp 0x14005b164
mov byte [r9], dil
inc r9
test esi, esi
js 0x14005b173
mov byte [r9], sil
mov byte [r9 + 1], r15b
add r9, 2
sub r14d, r13d
mov dword [rbp - 0x40], r14d
cmp r14d, 1
jne 0x14005b18c
add r12b, 0x25
mov byte [r9], r12b
inc r9
jmp 0x14005b1a5
add r12b, 0x27
mov eax, r14d
mov byte [r9], r12b
sar eax, 8
mov byte [r9 + 1], al
mov byte [r9 + 2], r14b
add r9, 3
mov qword [rbp - 0x70], r9
test r11d, r11d
je 0x14005b1d4
bt edi, 0x1c
jae 0x14005b1d4
mov ebx, edi
lea rdx, [rbp + 0x90]
and ebx, 7
mov rcx, r9
mov r8d, ebx
call fcn.14002b6c0
mov r9, qword [rbp - 0x70]
add r9, rbx
jmp 0x14005b1da
mov byte [r9], dil
inc r9
mov r12d, dword [rbp - 0x58]
mov r13, qword [rbp + 0x1a0]
mov qword [rbp - 0x70], r9
test esi, esi
js 0x14005b1fc
mov byte [r9], sil
mov byte [r9 + 1], r15b
add r9, 2
mov qword [rbp - 0x70], r9
mov rbx, qword [rbp - 0x80]
jmp 0x14005ae8d
mov rdx, qword [rbp - 8]
mov ecx, 2
movzx eax, byte [rdx + 3]
sub al, 0xf
cmp al, 1
mov eax, 0
cmova ecx, eax
movzx eax, byte [r8 + r10 + 0x2e6cd0]
add rax, rcx
add qword [rbp - 8], rax
jmp case.0x14005aec8.33
movzx eax, byte [r8 + r10 + 0x2e6cd0]
mov rdx, qword [rbp - 8]
mov r8d, dword [rbp - 0x78]
add rdx, rax
mov qword [rbp - 8], rdx
test r8d, r8d
je 0x14005b289
movzx eax, byte [rdx - 1]
cmp al, 0xc0
jb 0x14005b289
and eax, 0x3f
movzx eax, byte [rax + r10 + 0x2e6380]
add qword [rbp - 8], rax
jmp 0x14005b289
add qword [rbp - 8], 0x21
jmp case.0x14005aec8.33
mov rdx, qword [rbp - 8]
movzx ecx, byte [rdx + 1]
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
add qword [rbp - 8], rcx
mov r8d, dword [rbp - 0x78]
mov rdx, qword [rbp - 8]
mov edi, r9d
sub edi, edx
test edi, edi
jle 0x14005a863
movzx eax, byte [rdx]
cmp al, 0x76
jae 0x14005b2b9
movzx ecx, byte [rax + r10 + 0x2d44f0]
test cl, cl
je 0x14005b2b9
mov byte [rdx], cl
mov rbx, qword [rbp - 0x80]
jmp 0x14005a863
mov rax, qword [rbp + 8]
mov edx, 3
mov byte [r9], 0
mov r9, r13
mov rcx, qword [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1400568c0
mov rdx, qword [rbp - 8]
movsxd r8, edi
lea rcx, [rdx + 3]
call fcn.14002b6c0
mov rax, qword [rbp - 8]
add edi, 3
mov rcx, qword [rbp - 0x70]
mov byte [rax], 0x81
lea rax, [rcx + 4]
mov byte [rcx + 3], 0x78
lea r9, [rax + 2]
mov byte [rax + 1], dil
mov ecx, edi
sar ecx, 8
mov byte [rax], cl
mov rax, qword [rbp - 8]
mov qword [rbp - 0x70], r9
mov byte [rax + 1], cl
mov rax, qword [rbp - 8]
mov byte [rax + 2], dil
mov rbx, qword [rbp - 0x80]
jmp 0x14005a863
inc rbx
lea r9, [r11 + 0x18]
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
cmp dl, 0x2a
jne 0x14005b5cc
movzx eax, byte [rbx + 1]
lea r13, [rbx + 1]
cmp al, 0x3a
je 0x14005b35a
mov ecx, eax
mov rax, qword [r9]
test byte [rcx + rax], 2
je 0x14005b5cc
mov rcx, qword [r9]
lea rsi, [0x1402d3188]
mov rbx, r13
mov qword [rbp - 0x18], r10
mov qword [rbp - 0x80], rbx
mov r15d, r10d
movzx eax, byte [r13]
mov qword [rbp - 0x38], r10
test byte [rax + rcx], 2
je 0x14005b3a0
nop dword [rax]
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 2
jne 0x14005b390
mov r14d, ebx
sub r14d, r13d
cmp byte [rbx], 0x3a
jne 0x14005b3e5
inc rbx
mov qword [rbp - 0x80], rbx
mov rdx, rbx
mov qword [rbp - 0x18], rbx
movzx eax, byte [rbx]
test al, al
je 0x14005b3d2
cmp al, 0x29
je 0x14005b3d2
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x14005b3c0
mov r15d, ebx
sub r15d, edx
cmp r15d, 0xff
ja 0x14005cfe4
cmp byte [rbx], 0x29
jne 0x14005d01b
mov r12d, r10d
lea rbx, [0x1402d31c0]
mov rdi, r10
nop dword [rax + rax]
cmp r14d, dword [rbx]
jne 0x14005b417
movsxd r8, r14d
mov rdx, rsi
mov rcx, r13
call fcn.14023f800
test eax, eax
je 0x14005b43b
mov eax, dword [rbx]
inc r12d
inc eax
inc rdi
cdqe
add rbx, 0xc
add rsi, rax
lea rax, [0x1402d322c]
cmp rbx, rax
jl 0x14005b400
jmp case.default.0x14005b591
lea rcx, [rdi + rdi*2]
lea rdx, [0x1402d31c0]
mov eax, dword [rdx + rcx*4 + 4]
cmp eax, 0x9e
jne 0x14005b4f0
test r15d, r15d
jne 0x14005d005
mov rdx, qword [rbp + 0x1a0]
mov r8d, 1
mov rcx, qword [rdx + 0x48]
mov dword [rdx + 0x9c], r8d
test rcx, rcx
je 0x14005b4bf
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp + 0x1a8]
test rax, rax
je 0x14005b490
add dword [rax], 3
jmp 0x14005b4ac
mov byte [rdx], 0xa0
movzx eax, byte [rcx + 9]
mov byte [rdx + 1], al
movzx eax, byte [rcx + 8]
mov byte [rdx + 2], al
add rdx, 3
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005b486
mov qword [rbp - 0x70], rdx
mov rdx, qword [rbp + 0x1a0]
cmp dword [rdx + 0x8c], 0
mov r9d, 0xffffffff
mov rcx, qword [rbp - 0x70]
setg al
add al, 0x9e
mov byte [rcx], al
inc rcx
mov qword [rbp - 0x70], rcx
mov ecx, dword [rbp - 0x5c]
cmp ecx, 0xfffffffe
cmove ecx, r9d
mov dword [rbp - 0x5c], ecx
jmp 0x14005b570
test r15d, r15d
jne 0x14005b50c
test eax, eax
js 0x14005cfef
mov rcx, qword [rbp - 0x70]
mov byte [rcx], al
inc rcx
mov qword [rbp - 0x70], rcx
jmp 0x14005b563
mov esi, dword [rdx + rcx*4 + 8]
test esi, esi
js 0x14005d005
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x1a8]
mov byte [rax], sil
lea rdi, [rax + 2]
test rcx, rcx
je 0x14005b53b
add dword [rcx], r15d
mov byte [rax + 1], 0
mov rax, rdi
jmp 0x14005b555
mov rdx, qword [rbp - 0x18]
mov rcx, rdi
movsxd rbx, r15d
mov r8, rbx
mov byte [rax + 1], r15b
call fcn.14002b6c0
lea rax, [rbx + rdi]
mov byte [rax], 0
inc rax
mov qword [rbp - 0x70], rax
movzx eax, sil
mov rdx, qword [rbp + 0x1a0]
mov r8d, 1
movzx eax, al
add eax, 0xffffff6a
cmp eax, 5
ja case.default.0x14005b591
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x5d47c]
add rcx, r9
jmp rcx
or dword [rdx + 0x94], 0x1000
jmp case.default.0x14005b591
mov dword [rdx + 0xa0], r8d
mov rbx, qword [rbp - 0x80]
cmp r12d, 9
jge 0x14005d01b
mov esi, dword [rbp - 0x64]
mov r13d, dword [rbp - 0x60]
mov r15, qword [rbp - 0x38]
mov r9, qword [rbp - 0x70]
mov r12d, dword [rbp - 0x68]
jmp 0x14005cf29
mov r14, qword [r11 + 0x40]
lea rdi, [r11 + 0x40]
sub r14, qword [r11 + 0x20]
xor r15d, r15d
mov dword [rbp - 0x3c], r12d
mov r10d, r15d
mov qword [rbp - 0x18], rdi
mov r13d, 0x85
mov qword [rbp + 8], r14
mov dword [rbp - 0x58], r15d
cmp dl, 0x3f
jne 0x14005bfa0
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
add eax, 0xffffffdf
cmp eax, 0x5b
ja case.0x14005b631.46
lea rdx, [0x140000000]
cdqe
mov r8, r9
movzx eax, byte [rdx + rax + 0x5d4cc]
mov ecx, dword [rdx + rax*4 + 0x5d494]
add rcx, rdx
jmp rcx
mov ecx, 1
mov dword [rbp - 0x58], ecx
mov dword [r11 + 0xac], ecx
mov rsi, qword [rbp - 0x70]
inc rbx
mov r9, qword [rbp + 0x1a8]
mov r13d, 0x83
mov qword [rbp - 0x80], rbx
jmp 0x14005b902
cmp byte [rbx + 1], 0x3f
mov r13d, 0x87
mov dword [rbp - 0x54], r13d
mov r14, rbx
mov qword [rbp + 0x28], rbx
mov r8d, 3
jne 0x14005b6c9
cmp byte [rbx + 2], 0x43
mov qword [rbp + 0x28], rbx
jne 0x14005b6c9
cmp byte [rbx + 3], 0x30
mov edx, r8d
mov ecx, r8d
jb 0x14005b6a8
movzx eax, byte [rbx + 3]
cmp al, 0x39
ja 0x14005b6a8
movzx eax, byte [rcx + rbx + 1]
inc rcx
inc edx
cmp al, 0x30
jae 0x14005b696
cmp byte [rcx + rbx], 0x29
mov qword [rbp + 0x28], rbx
jne 0x14005b6bf
lea eax, [rdx + 1]
movsxd r14, eax
add r14, rbx
mov qword [rbp + 0x28], r14
cmp byte [r14], 0x28
jne 0x14005d02d
cmp byte [r14 + 1], 0x3f
jne 0x14005b70d
movzx eax, byte [r14 + 2]
cmp al, 0x3d
je 0x14005b6ee
cmp al, 0x21
je 0x14005b6ee
cmp al, 0x3c
jne 0x14005b70d
movzx eax, byte [r14 + 3]
cmp al, 0x3d
je 0x14005b6ee
cmp al, 0x21
jne 0x14005b70d
mov rsi, qword [rbp - 0x70]
mov eax, 1
mov r9, qword [rbp + 0x1a8]
mov ecx, r15d
mov dword [r11 + 0xb0], eax
jmp 0x14005b905
mov rsi, qword [rbp - 0x70]
mov r10d, r8d
mov dword [rbp - 0x3c], r8d
mov r13, r15
mov r8d, 0xffffffff
mov edx, r15d
mov r14d, r8d
mov byte [rsi + 3], 0x8d
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x80], rbx
movzx ecx, byte [rbx]
cmp cl, 0x52
jne 0x14005b75d
cmp byte [rbx + 1], 0x26
jne 0x14005b830
lea rax, [rbx + 2]
mov r15d, r8d
mov qword [rbp - 0x80], rax
mov byte [rsi + 3], 0x8f
mov rbx, qword [rbp - 0x80]
jmp 0x14005b773
cmp cl, 0x3c
jne 0x14005b820
mov r15d, 0x3e
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
mov dword [rbp - 0x50], r15d
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x14005d1c5
mov rcx, qword [r11 + 0x18]
test byte [rdx + rcx], 0x10
je 0x14005d02d
mov r13, rbx
inc rbx
mov qword [rbp - 0x80], rbx
mov r14d, ebx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
je 0x14005b7c3
nop dword [rax]
inc rbx
mov qword [rbp - 0x80], rbx
mov r14, rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14005b7b0
mov r9, qword [rbp + 0x1a8]
sub r14d, r13d
test r9, r9
mov r10d, 5
mov eax, 3
cmove r10d, eax
xor ecx, ecx
mov dword [rbp - 0x3c], r10d
mov edx, ecx
test r15d, r15d
jle 0x14005b893
movzx ecx, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x50], r15d
cmp cl, r15b
je 0x14005b891
mov rax, qword [rbp + 0x168]
dec rbx
mov dword [rax], 0x1a
jmp 0x14005d2cb
cmp cl, 0x27
jne 0x14005b830
mov r15d, 0x27
jmp 0x14005b76c
lea eax, [rcx - 0x2b]
mov dword [rbp - 0x50], r15d
test al, 0xfd
je 0x14005b84e
sub cl, 0x30
cmp cl, 9
ja 0x14005b773
xor eax, eax
mov r8d, eax
jmp 0x14005b858
inc rbx
mov r8d, ecx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x14005b88a
nop
cmp al, 0x39
ja 0x14005b88a
cmp edx, 0xccccccb
jg 0x14005d03f
inc rbx
movzx eax, al
lea edx, [rdx + rdx*4]
mov qword [rbp - 0x80], rbx
lea edx, [rdx - 0x18]
lea edx, [rax + rdx*2]
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005b860
mov r9, qword [rbp + 0x1a8]
xor ecx, ecx
movzx eax, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
cmp al, 0x29
jne 0x14005b80b
test r9, r9
jne 0x14005b8fe
test r8d, r8d
js 0x14005b950
test edx, edx
jle 0x14005d078
test r8d, r8d
je 0x14005b8db
mov eax, dword [r11 + 0x70]
cmp r8d, 0x2d
jne 0x14005b8d1
sub eax, edx
lea edx, [rax + 1]
jmp 0x14005b8d3
add edx, eax
test edx, edx
jle 0x14005c1ce
cmp edx, dword [r11 + 0x74]
jg 0x14005c1ce
mov eax, edx
mov byte [rsi + 5], dl
shr eax, 8
mov byte [rsi + 4], al
cmp edx, dword [r11 + 0x7c]
jle 0x14005b8fa
mov dword [r11 + 0x7c], edx
mov rbx, qword [rbp - 0x80]
mov r13d, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x58]
mov eax, dword [r11 + 0x88]
inc eax
mov dword [r11 + 0x88], eax
cmp eax, 0xfa
jg 0x14005d165
cmp r13d, 0x80
ja 0x14005c2e6
cmp dword [r11 + 0xb0], 0
je 0x14005c2e6
xor edx, edx
mov r15d, edx
mov qword [rbp - 0x38], rdx
mov dword [r11 + 0xb0], edx
jmp 0x14005c2fa
cmp dword [r11 + 0x60], 0
mov edi, ecx
mov rax, qword [r11 + 0x58]
mov qword [rbp + 0x38], rax
movsxd rsi, r14d
jle 0x14005b9b9
mov r15, rax
nop word [rax + rax]
lea rdx, [r15 + 2]
mov r8, rsi
mov rcx, r13
call fcn.14023f800
test eax, eax
jne 0x14005b98a
cmp byte [rsi + r15 + 2], al
je 0x14005b9a6
mov r11, qword [rbp + 0x1a0]
inc edi
movsxd rax, dword [r11 + 0x64]
add r15, rax
mov qword [rbp + 0x38], r15
cmp edi, dword [r11 + 0x60]
jl 0x14005b970
jmp 0x14005b9ad
mov r11, qword [rbp + 0x1a0]
mov rbx, qword [rbp - 0x80]
mov r15d, dword [rbp - 0x50]
mov rax, qword [rbp + 0x38]
mov ecx, dword [r11 + 0x60]
cmp edi, ecx
jge 0x14005ba75
movzx r14d, byte [rax]
mov ebx, 1
movzx eax, byte [rax + 1]
shl r14d, 8
mov dword [rbp - 0x50], edi
or r14d, eax
inc edi
cmp r14d, dword [r11 + 0x7c]
jle 0x14005b9e8
mov dword [r11 + 0x7c], r14d
cmp edi, ecx
jge 0x14005ba5b
mov r15, qword [rbp + 0x38]
movsxd rax, dword [r11 + 0x64]
mov r8, rsi
add r15, rax
mov rcx, r13
lea rdx, [r15 + 2]
call fcn.14023f800
test eax, eax
jne 0x14005ba22
cmp byte [rsi + r15 + 2], al
jne 0x14005ba22
mov r11, qword [rbp + 0x1a0]
inc ebx
inc edi
cmp edi, dword [r11 + 0x60]
jl 0x14005b9f0
mov qword [rbp + 0x38], r15
mov r15d, dword [rbp - 0x50]
cmp ebx, 1
jle 0x14005ba5b
mov rsi, qword [rbp - 0x70]
mov eax, r15d
mov r10d, dword [rbp - 0x3c]
sar eax, 8
add r10d, 2
mov byte [rsi + 4], al
mov eax, ebx
sar eax, 8
inc byte [rsi + 3]
mov byte [rsi + 6], al
mov byte [rsi + 5], r15b
mov byte [rsi + 7], bl
jmp 0x14005bb16
mov rsi, qword [rbp - 0x70]
mov eax, r14d
mov r10d, dword [rbp - 0x3c]
shr eax, 8
mov byte [rsi + 4], al
mov byte [rsi + 5], r14b
jmp 0x14005bb16
test r15d, r15d
jne 0x14005c1ce
cmp byte [r13], 0x52
jne 0x14005bae6
xor eax, eax
mov ecx, eax
mov eax, 1
mov edx, eax
cmp rax, rsi
jge 0x14005bac8
movzx r8d, byte [rdx + r13]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14005c1ce
cmp ecx, 0xccccccb
jg 0x14005d192
lea ecx, [rcx + rcx*4]
inc rdx
lea ecx, [rcx - 0x18]
lea ecx, [r8 + rcx*2]
cmp rdx, rsi
jl 0x14005ba95
test ecx, ecx
jne 0x14005bacd
mov ecx, 0xffff
mov rsi, qword [rbp - 0x70]
mov eax, ecx
mov r10d, dword [rbp - 0x3c]
sar eax, 8
mov byte [rsi + 3], 0x8f
mov byte [rsi + 4], al
mov byte [rsi + 5], cl
jmp 0x14005bb16
cmp r14d, 6
jne 0x14005c1ce
mov r8d, r14d
lea rdx, str.DEFINE
mov rcx, r13
call fcn.14023f800
test eax, eax
jne 0x14005d20a
mov rsi, qword [rbp - 0x70]
lea r10d, [r14 - 5]
mov byte [rsi + 3], 0x91
mov rdi, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x80]
mov r11, qword [rbp + 0x1a0]
mov r9, qword [rbp + 0x1a8]
jmp 0x14005b8fe
inc dword [r11 + 0x8c]
mov r13d, 0x7d
mov rsi, qword [rbp - 0x70]
inc rbx
mov r9, qword [rbp + 0x1a8]
mov ecx, r15d
mov qword [rbp - 0x80], rbx
jmp 0x14005b905
inc rbx
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x29
jne 0x14005bbc3
movzx ecx, byte [rbx + 1]
lea eax, [rcx - 0x2a]
cmp al, 1
jbe 0x14005bbc3
cmp cl, 0x3f
je 0x14005bbc3
cmp cl, 0x7b
jne 0x14005bb86
lea rcx, [rbx + 2]
call fcn.14005f7f0
test eax, eax
jne 0x14005bbc3
mov r9, qword [rbp - 0x70]
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbp + 0x10]
mov byte [r9], 0x9d
inc r9
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x70], r9
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x38], r15
jmp 0x140058ad0
inc dword [r11 + 0x8c]
mov r13d, 0x7e
mov rsi, qword [rbp - 0x70]
mov ecx, r15d
mov r9, qword [rbp + 0x1a8]
jmp 0x14005b905
movzx eax, byte [rbx + 1]
cmp al, 0x21
je 0x14005bd17
cmp al, 0x3d
je 0x14005bd0f
mov ecx, eax
lea r8, [r11 + 0x18]
mov rax, qword [r8]
test byte [rcx + rax], 0x10
je 0x14005d08a
movzx r10d, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
mov r12, rbx
mov rdx, rbx
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x14005bc2d
mov r8, r9
cmp al, 0x39
jbe 0x14005d1c5
mov rcx, qword [r8]
test byte [rax + rcx], 0x10
je 0x14005bc50
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14005bc40
mov r14d, ebx
sub r14d, edx
cmp qword [rbp + 0x1a8], r15
je 0x14005bf19
mov r15d, dword [r11 + 0x70]
mov eax, 0x27
inc r15d
mov ecx, 0x3e
cmp r10b, 0x3c
cmove eax, ecx
cmp byte [rbx], al
jne 0x14005d1e9
mov ecx, dword [r11 + 0x60]
cmp ecx, 0x2710
jge 0x14005d106
lea eax, [r14 + 3]
cmp eax, dword [r11 + 0x64]
jle 0x14005bcab
mov dword [r11 + 0x64], eax
cmp r14d, 0x20
jg 0x14005d1d7
mov rdi, qword [r11 + 0x50]
xor eax, eax
mov esi, eax
test ecx, ecx
jle 0x14005be6c
nop dword [rax + rax]
cmp r14d, dword [rdi + 8]
jne 0x14005be45
mov rdx, qword [rdi]
mov rcx, r12
movsxd r8, r14d
call fcn.14023f800
test eax, eax
jne 0x14005be3e
cmp dword [rdi + 0xc], r15d
je 0x14005be61
test dword [rbp - 0x68], 0x80000
je 0x14005d0c4
mov r11, qword [rbp + 0x1a0]
mov eax, 1
mov dword [r11 + 0xa8], eax
jmp 0x14005be4f
mov r13d, 0x7f
jmp 0x14005bd1d
mov r13d, pe_nt_image_headers64
inc dword [r11 + 0x8c]
mov ecx, r15d
mov rsi, qword [rbp - 0x70]
add rbx, 2
mov r9, qword [rbp + 0x1a8]
mov qword [rbp - 0x80], rbx
jmp 0x14005b905
mov r13d, 0x81
jmp 0x14005bb3e
mov rax, qword [rbp - 0x70]
mov ecx, r15d
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x4c], 1
mov byte [rax], 0x76
lea rdx, [rax + 1]
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x30
jb 0x14005bd9b
movzx eax, byte [rbx]
cmp al, 0x39
ja 0x14005bd9b
lea ecx, [rcx + rcx*4]
inc rbx
lea ecx, [rcx - 0x18]
mov qword [rbp - 0x80], rbx
lea ecx, [rax + rcx*2]
cmp ecx, 0xff
jg 0x14005d09f
cmp byte [rbx], 0x30
jae 0x14005bd73
cmp byte [rbx], 0x29
jne 0x14005d0b1
mov r13d, dword [rbp - 0x60]
lea r9, [rdx + 5]
mov r12d, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x78]
mov rdi, qword [rbp + 0x168]
mov byte [rdx], cl
mov eax, dword [rbp - 0x80]
sub eax, dword [r11 + 0x30]
inc eax
mov qword [rbp - 0x70], r9
sar eax, 8
mov byte [rdx + 1], al
movzx eax, byte [rbp - 0x80]
sub al, byte [r11 + 0x30]
inc al
mov word [rdx + 3], r15w
mov byte [rdx + 2], al
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x74]
inc rbx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x38], r15
jmp 0x140058ad0
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x3d
je 0x14005be29
cmp al, 0x3e
je 0x14005be2b
cmp al, 0x3c
je case.0x14005b631.35
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x29
jmp 0x14005d2cb
cmp al, 0x3e
mov r13d, dword [rbp - 0x60]
sete r15b
mov r8d, 0x29
jmp 0x14005c609
mov r11, qword [rbp + 0x1a0]
cmp dword [rdi + 0xc], r15d
je 0x14005d0da
inc esi
add rdi, 0x10
cmp esi, dword [r11 + 0x60]
jl 0x14005bcc0
jmp 0x14005be68
mov r11, qword [rbp + 0x1a0]
mov rbx, qword [rbp - 0x80]
mov eax, dword [r11 + 0x60]
cmp esi, eax
jl 0x14005bf15
mov ecx, dword [r11 + 0x68]
cmp eax, ecx
jl 0x14005bede
lea edi, [rcx + rcx]
movsxd rcx, edi
shl rcx, 4
call qword [0x14035b390]
mov rbx, rax
test rax, rax
je 0x14005d0f0
mov rax, qword [rbp + 0x1a0]
mov rcx, rbx
movsxd r8, dword [rax + 0x68]
mov rdx, qword [rax + 0x50]
shl r8, 4
call fcn.14002b6c0
mov r11, qword [rbp + 0x1a0]
cmp dword [r11 + 0x68], 0x14
jle 0x14005bed6
mov rcx, qword [r11 + 0x50]
call qword [0x14035b398]
mov r11, qword [rbp + 0x1a0]
mov qword [r11 + 0x50], rbx
mov dword [r11 + 0x68], edi
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov qword [rax + rcx*8], r12
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 8], r14d
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 0xc], r15d
inc dword [r11 + 0x60]
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x18]
mov r12d, dword [rbp - 0x3c]
inc rbx
mov qword [rbp - 0x80], rbx
mov eax, dword [r11 + 0x70]
mov r10d, 2
mov rsi, qword [rbp - 0x70]
inc eax
mov r9, qword [rbp + 0x1a8]
mov dword [r11 + 0x70], eax
shr eax, 8
mov byte [rsi + 3], al
movzx eax, byte [r11 + 0x70]
mov byte [rsi + 4], al
mov rbx, qword [rbp - 0x80]
jmp 0x14005b902
mov r13d, dword [rbp - 0x60]
mov r8d, 0x29
lea r15d, [r8 - 0x28]
jmp 0x14005c609
inc rbx
mov r12d, r15d
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x29
je 0x14005c7b3
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x1d
jmp 0x14005d2cb
mov rdi, qword [rbp + 0x168]
mov r8d, 0x29
jmp 0x14005c11f
test dword [rbp - 0x68], 0x1000
je 0x14005bf24
mov rsi, qword [rbp - 0x70]
mov r13d, 0x83
mov r9, qword [rbp + 0x1a8]
mov ecx, r15d
jmp 0x14005b905
mov r9d, dword [r11 + 0x70]
lea rdx, [rbp + 0x48]
xor r15d, r15d
mov qword [rbp + 0x28], rbx
mov dword [rsp + 0x28], r15d
lea rcx, [rbp - 0x80]
mov r8, rdi
mov dword [rsp + 0x20], r12d
call fcn.140057270
mov r12d, eax
cmp dword [rdi], r15d
jne 0x140059560
test eax, eax
jne 0x14005c05c
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp + 0x48]
test ecx, ecx
je 0x14005c03f
cmp eax, 0x7f
jbe 0x14005c03f
mov ecx, eax
lea rdx, [rbp - 0x10]
call fcn.140061ed0
mov r11, qword [rbp + 0x1a0]
mov r9d, eax
mov r10, qword [rbp - 0x70]
mov r15, r10
mov qword [rbp - 0x38], r10
mov r12, qword [r11 + 0x40]
sub r12, qword [r11 + 0x20]
mov qword [rbp + 8], r12
mov r12d, dword [rbp - 0x68]
jmp 0x14005a2f5
mov r11, qword [rbp + 0x1a0]
mov r9d, 1
mov r10, qword [rbp - 0x70]
mov r12d, dword [rbp - 0x68]
mov byte [rbp - 0x10], al
jmp 0x14005a2da
mov r10d, dword [rbp - 0x5c]
cmp r10d, 0xfffffffe
jne 0x14005c079
add eax, 0xfffffffa
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe r10d, eax
mov dword [rbp - 0x5c], r10d
mov eax, dword [rbp - 0x20]
mov r13d, dword [rbp - 0x28]
mov esi, dword [rbp - 0x30]
mov dword [rbp], eax
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x24], r10d
cmp r12d, 0x1b
jne 0x14005c5ad
mov r11, qword [rbp + 0x1a0]
mov r8d, 0x27
mov rbx, qword [rbp - 0x80]
mov r9d, 0x3e
inc rbx
mov r10d, r15d
mov qword [rbp - 0x80], rbx
lea rdx, [rbx + 1]
mov rax, qword [r11 + 0x40]
sub rax, qword [r11 + 0x20]
cmp byte [rbx], 0x3c
mov qword [rbp + 8], rax
movzx eax, byte [rdx]
cmove r8d, r9d
cmp al, 0x39
ja 0x14005c5a5
movabs rcx, 0x3ff280000000000
bt rcx, rax
jae 0x14005c5a5
movzx eax, byte [rbx + 2]
lea rcx, [rbx + 2]
cmp al, 0x30
jb 0x14005c10f
nop
cmp al, 0x39
ja 0x14005c10f
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x14005c100
cmp byte [rcx], r8b
jne 0x14005d1af
mov rbx, rdx
mov qword [rbp - 0x80], rdx
movzx edx, byte [rbx]
cmp dl, 0x2b
jne 0x14005c140
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x14005d118
mov r12d, r15d
jmp 0x14005c16b
movzx eax, dl
cmp dl, 0x2d
jne 0x14005c164
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
sub al, 0x30
cmp al, 9
ja case.0x14005b631.46
mov qword [rbp - 0x80], rcx
mov rbx, rcx
movzx eax, byte [rcx]
mov r12d, r15d
cmp al, 0x30
jb 0x14005c19f
movzx eax, byte [rbx]
nop
cmp al, 0x39
ja 0x14005c19f
cmp r12d, 0xccccccb
jg 0x14005d177
inc rbx
movzx eax, al
lea r12d, [r12 + r12*4]
mov qword [rbp - 0x80], rbx
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005c170
cmp byte [rbx], r8b
jne 0x14005bf7c
cmp dl, 0x2d
jne 0x14005c58a
test r12d, r12d
je 0x14005d1a4
mov eax, dword [r11 + 0x70]
sub eax, r12d
lea r12d, [rax + 1]
test r12d, r12d
jg 0x14005c7b3
mov rax, qword [rbp + 0x168]
mov dword [rax], recv
jmp 0x14005d2cb
cmp byte [rbx], 0x29
lea rdx, [rbp + 0x78]
mov eax, r15d
mov dword [rbp + 0x78], r15d
mov dword [rbp - 0x3c], eax
mov r12d, r15d
je 0x14005c277
lea r8, [0x140000000]
movzx eax, byte [rbx]
cmp al, 0x3a
je 0x14005c270
inc rbx
sub eax, 0x2d
mov qword [rbp - 0x80], rbx
cmp eax, 0x4b
ja case.0x14005c231.53
cdqe
movzx eax, byte [r8 + rax + 0x5d54c]
mov ecx, dword [r8 + rax*4 + 0x5d528]
add rcx, r8
jmp rcx
lea rdx, [rbp - 0x3c]
jmp 0x14005c26b
or dword [rdx], 0x80000
or dword [r11 + 0x94], 0x400
jmp 0x14005c26b
or dword [rdx], 1
jmp 0x14005c26b
or dword [rdx], 2
jmp 0x14005c26b
or dword [rdx], 4
jmp 0x14005c26b
or dword [rdx], 8
jmp 0x14005c26b
or dword [rdx], 0x200
jmp 0x14005c26b
or dword [rdx], 0x40
cmp byte [rbx], 0x29
jne 0x14005c201
mov r12d, dword [rbp + 0x78]
mov eax, dword [rbp - 0x3c]
or r12d, dword [rbp - 0x68]
not eax
and r12d, eax
cmp byte [rbx], 0x29
jne 0x14005c2c2
mov r13d, dword [rbp - 0x60]
mov eax, r12d
mov r9, qword [rbp - 0x70]
shr eax, 9
and eax, 1
mov dword [rbp - 0x68], r12d
mov dword [rbp + 0x7c], eax
xor eax, 1
mov dword [rbp + 0x80], eax
mov eax, r12d
and eax, 1
mov qword [rbp - 0x38], r15
mov dword [rbp + 0x18], eax
mov rax, qword [rbp + 0x150]
mov dword [rax], r12d
jmp 0x14005cf29
mov rsi, qword [rbp - 0x70]
lea rdi, [r11 + 0x40]
mov r9, qword [rbp + 0x1a8]
inc rbx
mov qword [rbp - 0x80], rbx
mov r13d, 0x83
mov ecx, r15d
jmp 0x14005b905
mov rax, qword [rdi]
mov r15, rsi
sub rax, qword [r11 + 0x20]
mov qword [rbp + 8], rax
xor edx, edx
mov qword [rbp - 0x38], rsi
mov r14, qword [rbp + 0x168]
lea eax, [r13 - 0x7f]
cmp eax, 1
mov byte [rsi], r13b
mov edi, dword [r11 + 0x98]
lea rax, [rbp + 0x20]
mov ebx, dword [r11 + 0x70]
mov r8d, edx
setbe r8b
mov dword [rbp + 0x20], edx
test r9, r9
mov qword [rbp - 8], rsi
mov r9, r14
cmove rax, rdx
cmp r13d, 0x87
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x190]
sete dl
add edx, dword [rbp + 0x198]
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x1c]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x44]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x84]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edx
lea rdx, [rbp - 8]
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], ecx
mov ecx, r12d
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x80]
call fcn.14005d5a0
test eax, eax
je 0x140059560
mov r11, qword [rbp + 0x1a0]
dec dword [r11 + 0x88]
cmp r13d, 0x81
jne 0x14005c438
cmp dword [r11 + 0x70], ebx
ja 0x14005c3c9
mov byte [rsi], 0x82
mov ecx, dword [rbp + 0x30]
mov r8d, 0xffffffff
mov eax, dword [rbp + 0x1c]
mov rbx, qword [rbp - 0x80]
cmp byte [rbx], 0x29
jne 0x14005d158
mov r9, qword [rbp + 0x1a8]
test r9, r9
je 0x14005c4d0
mov r8d, dword [rbp + 0x20]
mov ecx, 0x7fffffeb
mov edx, dword [r9]
sub ecx, edx
lea eax, [r8 - 6]
cmp ecx, eax
jl 0x14005d2ae
mov r13d, dword [rbp - 0x60]
lea eax, [r8 - 6]
mov r12d, dword [rbp - 0x68]
add eax, edx
mov dword [r9], eax
lea r9, [rsi + 6]
mov dword [rsi + 1], 0x780300
mov byte [rsi + 5], 3
mov esi, dword [rbp - 0x64]
mov qword [rbp - 0x70], r9
jmp 0x14005cf25
cmp r13d, 0x80
ja 0x14005c44d
dec dword [r11 + 0x8c]
jmp 0x14005c3c9
cmp r13d, 0x87
jne 0x14005c3c9
cmp qword [rbp + 0x1a8], 0
jne 0x14005c3c9
xor eax, eax
mov rdx, rsi
mov r8d, eax
movzx ecx, byte [rdx + 1]
inc r8d
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x78
jne 0x14005c470
cmp byte [rsi + 3], 0x91
jne 0x14005c4a5
cmp r8d, 1
jg 0x14005d138
mov r13d, 0x91
jmp 0x14005c3c9
cmp r8d, 2
jg 0x14005d148
cmp r8d, 1
jne 0x14005c3c9
mov r8d, 0xffffffff
mov eax, r8d
mov ecx, r8d
mov dword [rbp + 0x1c], eax
mov dword [rbp + 0x30], ecx
jmp 0x14005c3d5
mov r9, qword [rbp - 8]
mov qword [rbp - 0x70], r9
cmp r13d, 0x91
je 0x14005c57a
mov edx, dword [rbp - 0x28]
mov esi, dword [rbp - 0x30]
mov r10d, dword [rbp - 0x5c]
mov dword [rbp - 0x60], edx
mov edx, dword [rbp - 0x20]
mov dword [rbp], edx
xor edx, edx
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x24], r10d
mov dword [rbp + 0x40], edx
cmp r13d, 0x81
jb 0x14005c56c
cmp r10d, 0xfffffffe
jne 0x14005c53a
test ecx, ecx
js 0x14005c530
mov edx, dword [rbp + 0x84]
mov dword [rbp - 0x20], edx
mov dword [rbp - 0x5c], ecx
mov dword [rbp + 0x40], 1
mov dword [rbp - 0x24], r8d
jmp 0x14005c552
mov dword [rbp - 0x5c], r8d
mov dword [rbp - 0x24], r8d
jmp 0x14005c552
test ecx, ecx
js 0x14005c552
test eax, eax
jns 0x14005c556
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x44], eax
mov eax, ecx
or eax, edi
mov dword [rbp + 0x1c], eax
test eax, eax
js 0x14005c55f
mov ecx, dword [rbp + 0x44]
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x30], eax
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x68]
jmp 0x14005cf29
cmp r13d, 0x7d
jne 0x14005c55f
test eax, eax
js 0x14005c55f
test ecx, ecx
jmp 0x14005c554
mov esi, dword [rbp - 0x64]
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x68]
jmp 0x14005cf29
cmp dl, 0x2b
jne 0x14005c7b3
test r12d, r12d
je 0x14005d1a4
add r12d, dword [r11 + 0x70]
jmp 0x14005c7b3
mov r15d, 1
jmp 0x14005c60f
cmp r12d, 0x1c
jne 0x14005ca72
mov rbx, qword [rbp - 0x80]
movzx ecx, byte [rbx + 1]
lea rax, [rbx + 1]
cmp cl, 0x3c
je 0x14005c5d6
cmp cl, 0x27
je 0x14005c5d6
cmp cl, 0x7b
jne 0x14005d1ba
mov r11, qword [rbp + 0x1a0]
mov rbx, rax
mov qword [rbp - 0x80], rax
movzx ecx, byte [rax]
cmp cl, 0x3c
jne 0x14005c5f7
mov r9d, 0x3e
mov r8d, r9d
jmp 0x14005c60f
cmp cl, 0x27
mov r8d, 0x7d
mov ecx, 0x27
cmove r8d, ecx
mov r9d, 0x3e
inc rbx
mov qword [rbp - 0x80], rbx
mov r14, rbx
mov rdx, rbx
cmp byte [rbx], 0x30
movzx eax, byte [rbx]
jb 0x14005c62c
cmp al, 0x39
jbe 0x14005d1c5
mov rcx, qword [r11 + 0x18]
test byte [rax + rcx], 0x10
je 0x14005c650
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14005c640
mov edi, ebx
sub edi, edx
mov rdx, qword [rbp + 0x1a8]
test rdx, rdx
je 0x14005c72b
xor ecx, ecx
mov r12d, ecx
test edi, edi
je 0x14005d1fb
cmp byte [rbx], r8b
jne 0x14005d1e9
cmp edi, 0x20
jg 0x14005d1d7
test r15d, r15d
jne 0x14005c68f
inc dword [r11 + 0x84]
mov eax, dword [rdx]
add eax, 0xe
mov dword [rdx], eax
cmp dword [r11 + 0xac], ecx
je 0x14005c6a4
add eax, 0xc
mov dword [rdx], eax
mov r9d, dword [r11 + 0x60]
mov esi, ecx
mov rbx, qword [r11 + 0x50]
test r9d, r9d
jle 0x14005c722
cmp edi, dword [rbx + 8]
jne 0x14005c70c
mov rdx, qword [rbx]
mov rcx, r14
movsxd r8, edi
call fcn.14023f800
test eax, eax
jne 0x14005c705
mov r12d, dword [rbx + 0xc]
test r15d, r15d
jne 0x14005c7b3
mov r11, qword [rbp + 0x1a0]
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x14005c70c
movzx eax, word [rcx + 8]
cmp eax, r12d
je 0x14005c6fa
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005c6e7
jmp 0x14005c70c
mov eax, 1
mov word [rcx + 0xa], ax
jmp 0x14005c70c
mov r11, qword [rbp + 0x1a0]
mov r9d, dword [r11 + 0x60]
inc esi
add rbx, 0x10
cmp esi, r9d
jl 0x14005c6b3
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x38]
jmp 0x14005c7aa
mov r12, qword [r11 + 0x58]
xor eax, eax
mov esi, eax
mov qword [rbp + 0x38], r12
cmp dword [r11 + 0x60], eax
jle 0x14005c789
movsxd rbx, edi
lea rdx, [r12 + 2]
mov r8, rbx
mov rcx, r14
call fcn.14023f800
test eax, eax
jne 0x14005c75b
cmp byte [rbx + r12 + 2], al
je 0x14005c777
mov r11, qword [rbp + 0x1a0]
inc esi
movsxd rax, dword [r11 + 0x64]
add r12, rax
mov qword [rbp + 0x38], r12
cmp esi, dword [r11 + 0x60]
jl 0x14005c740
jmp 0x14005c77e
mov r11, qword [rbp + 0x1a0]
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp + 0x1a8]
mov r9d, dword [r11 + 0x60]
cmp esi, r9d
jge 0x14005c1ce
movzx r12d, byte [r12]
mov rcx, qword [rbp + 0x38]
shl r12d, 8
movzx eax, byte [rcx + 1]
or r12d, eax
test r15d, r15d
je 0x14005c92c
mov rdi, qword [rbp + 0x1a0]
mov rdx, qword [rbp - 0x70]
mov r15, rdx
mov qword [rbp - 0x38], rdx
mov r14, qword [rdi + 0x40]
sub r14, qword [rdi + 0x20]
cmp qword [rbp + 0x1a8], 0
mov rbx, qword [rdi + 0x28]
mov qword [rbp + 8], r14
jne 0x14005c8d5
mov esi, dword [rbp - 0x78]
mov byte [rdx], 0
test r12d, r12d
je 0x14005c802
mov rcx, qword [rdi + 0x28]
mov r8d, r12d
mov edx, esi
call fcn.140055de0
mov rbx, rax
mov rdx, r15
test rbx, rbx
jne 0x14005c86f
cmp r12d, dword [rdi + 0x74]
jg 0x14005d20a
movsxd rcx, dword [rdi + 0x6c]
add rcx, 0xffffffffffffff9c
movsxd rbx, r12d
add rcx, qword [rdi + 0x20]
add rbx, qword [rdi + 0x28]
cmp qword [rdi + 0x40], rcx
jb 0x14005c843
mov rcx, rdi
call fcn.14005e270
mov rcx, qword [rbp + 0x168]
mov dword [rcx], eax
test eax, eax
jne 0x140059560
mov rax, qword [rdi + 0x40]
mov r9, qword [rbp - 0x70]
mov ecx, r9d
sub ecx, dword [rdi + 0x28]
inc ecx
sar ecx, 8
mov byte [rax], cl
movzx ecx, r9b
sub cl, byte [rdi + 0x28]
mov rax, qword [rdi + 0x40]
inc cl
mov byte [rax + 1], cl
add qword [rdi + 0x40], 2
jmp 0x14005c8d9
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
jne 0x14005c8d5
cmp dword [rbp + 0x198], ecx
jg 0x14005c8d5
mov rax, qword [rbp + 0x190]
mov r11, rax
test rax, rax
je 0x14005d220
nop dword [rax]
mov rcx, qword [r11 + 8]
cmp rcx, rbx
jb 0x14005d220
xor eax, eax
mov r9, rdi
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.14005db90
test eax, eax
je 0x14005c8d5
mov r11, qword [r11]
test r11, r11
je 0x14005d220
mov rdx, qword [rbp - 0x70]
jmp 0x14005c8a0
mov r9, qword [rbp - 0x70]
mov r10d, dword [rbp - 0x5c]
mov eax, ebx
mov esi, dword [rbp - 0x64]
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x68]
mov byte [r9], 0x75
sub eax, dword [rdi + 0x28]
sar eax, 8
mov byte [r9 + 1], al
xor eax, eax
sub bl, byte [rdi + 0x28]
mov dword [rbp + 0x40], eax
mov eax, 0xffffffff
mov byte [r9 + 2], bl
add r9, 3
cmp r10d, 0xfffffffe
mov qword [rbp - 0x70], r9
cmove r10d, eax
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x5c], r10d
mov dword [rbp], eax
mov dword [rbp - 0x24], r10d
jmp 0x14005cf25
test rdx, rdx
jne 0x14005ca80
cmp dword [r11 + 0xa8], edx
je 0x14005ca80
movsxd r11, dword [r11 + 0x64]
lea r10d, [rdx + 1]
mov edi, esi
inc esi
lea r14, [r11 + rcx]
cmp esi, r9d
jge 0x14005ca89
lea rbx, [rcx + 2]
nop
lea r8, [r14 + 2]
mov rax, rbx
sub r8, rbx
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14005c983
inc rax
test ecx, ecx
jne 0x14005c970
test edx, edx
jne 0x14005c994
inc r10d
add r14, r11
inc esi
cmp esi, r9d
jl 0x14005c960
mov r11, qword [rbp + 0x1a0]
cmp r10d, 1
jle 0x14005ca80
mov rdx, qword [r11 + 0x40]
mov ecx, 0xffffffff
mov eax, dword [rbp - 0x5c]
cmp eax, 0xfffffffe
mov r12d, dword [rbp - 0x68]
mov r8, qword [rbp + 0x38]
cmove eax, ecx
mov rcx, qword [rbp - 0x70]
sub rdx, qword [r11 + 0x20]
mov r15, rcx
mov dword [rbp - 0x5c], eax
test r12b, 1
mov qword [rbp - 0x38], rcx
setne al
mov qword [rbp + 8], rdx
add al, 0x73
lea r9, [rcx + 5]
mov byte [rcx], al
mov eax, edi
shr eax, 8
mov byte [rcx + 1], al
mov eax, r10d
sar eax, 8
mov byte [rcx + 2], dil
mov byte [rcx + 3], al
mov byte [rcx + 4], r10b
mov qword [rbp - 0x70], r9
cmp r8, r14
jae 0x14005ca6a
mov edi, 1
nop dword [rax + rax]
movzx eax, byte [r8 + 1]
movzx edx, byte [r8]
shl edx, 8
or edx, eax
mov eax, edi
mov ecx, edx
shl eax, cl
cmp edx, 0x20
cmovae eax, edi
or dword [r11 + 0x80], eax
cmp edx, dword [r11 + 0x7c]
jle 0x14005ca3b
mov dword [r11 + 0x7c], edx
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x14005ca5a
movzx eax, word [rcx + 8]
cmp eax, edx
je 0x14005ca56
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005ca44
jmp 0x14005ca5a
mov word [rcx + 0xa], di
movsxd rax, dword [r11 + 0x64]
add r8, rax
cmp r8, r14
jb 0x14005ca10
mov qword [rbp + 0x38], r8
mov esi, dword [rbp - 0x64]
jmp 0x14005cf25
test r12d, r12d
jns 0x14005cb38
neg r12d
jmp 0x14005ca90
mov esi, dword [rbp - 0x64]
mov r10d, dword [rbp - 0x5c]
jmp 0x14005ca97
mov esi, dword [rbp - 0x64]
mov r10d, dword [rbp - 0x5c]
mov r11, qword [rbp + 0x1a0]
cmp r10d, 0xfffffffe
jne 0x14005caa8
mov eax, 0xffffffff
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x24], eax
mov r9, qword [rbp - 0x70]
mov edi, 1
mov rax, qword [r11 + 0x40]
mov r15, r9
sub rax, qword [r11 + 0x20]
test byte [rbp - 0x68], 1
mov qword [rbp + 8], rax
setne al
mov qword [rbp - 0x38], r9
add al, 0x71
mov byte [r9], al
mov eax, r12d
sar eax, 8
mov byte [r9 + 1], al
mov eax, edi
mov byte [r9 + 2], r12b
add r9, 3
mov qword [rbp - 0x70], r9
cmp r12d, 0x20
jge 0x14005caf3
mov ecx, r12d
shl eax, cl
or dword [r11 + 0x80], eax
cmp r12d, dword [r11 + 0x7c]
jle 0x14005cb04
mov dword [r11 + 0x7c], r12d
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x14005a34e
movzx eax, word [rcx + 8]
cmp eax, r12d
je 0x14005cb2b
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14005cb11
mov r12d, dword [rbp - 0x68]
jmp 0x14005cf25
mov r12d, dword [rbp - 0x68]
mov word [rcx + 0xa], di
jmp 0x14005cf25
lea eax, [r12 - 0xf]
cmp eax, 1
jbe 0x14005cbf8
lea eax, [r12 - 4]
cmp eax, 1
jbe 0x14005cb56
cmp r12d, 1
jne 0x14005cb6e
mov r11, qword [rbp + 0x1a0]
cmp dword [r11 + 0x78], r15d
jne 0x14005cb75
mov eax, 1
mov dword [r11 + 0x78], eax
jmp 0x14005cb75
mov r11, qword [rbp + 0x1a0]
mov r9, qword [rbp - 0x70]
lea ecx, [r12 - 0x1d]
mov r8d, dword [rbp - 0x78]
cmp ecx, 5
ja 0x14005cbb4
mov rax, qword [rbp - 0x80]
mov r15, qword [rbp - 0x38]
inc rax
mov r12d, dword [rbp - 0x68]
mov qword [rbp + 0x10], rax
movsxd rax, ecx
lea rcx, [0x140000000]
mov rbx, qword [rcx + rax*8 + 0x35b3b0]
dec rbx
jmp 0x14005cf2d
mov r10, qword [r11 + 0x40]
lea eax, [r12 - 6]
cmp eax, 0x10
cmovbe r15, r9
sub r10, qword [r11 + 0x20]
mov qword [rbp - 0x38], r15
mov qword [rbp + 8], r10
test r8d, r8d
jne 0x14005cbe1
cmp r12d, 0xe
jne 0x14005cbe1
mov r12d, reloc.WS2_32.dll_listen
mov byte [r9], r12b
inc r9
mov rbx, qword [rbp - 0x80]
mov r12d, dword [rbp - 0x68]
mov qword [rbp - 0x70], r9
jmp 0x14005cf2d
mov rbx, qword [rbp - 0x80]
inc rbx
movzx eax, byte [rbx]
test al, al
je 0x14005cc46
mov edi, r15d
cmp al, 0x7b
jne 0x14005cc5b
cmp byte [rbx + 1], 0x5e
lea rax, [rbx + 1]
mov rcx, r15
cmove rbx, rax
sete dil
movzx eax, byte [rbx + 1]
inc rbx
test al, al
je 0x14005cc3f
cmp al, 0x7d
je 0x14005cc51
mov byte [rbp + rcx + 0xe0], al
inc rcx
cmp rcx, 0x1f
jl 0x14005cc20
mov rdi, qword [rbp + 0x168]
mov dword [rdi], 0x2e
jmp 0x14005d2cb
mov byte [rbp + rcx + 0xe0], r15b
jmp 0x14005cc68
mov byte [rbp + 0xe0], al
mov byte [rbp + 0xe1], dil
mov r9d, dword [0x1402e634c]
mov r10d, r15d
mov qword [rbp - 0x80], rbx
test r9d, r9d
jle 0x14005cce1
lea r14, [0x140000000]
lea r8d, [r9 + r10]
sar r8d, 1
movsxd rax, r8d
lea r11, [rax + rax*2]
movzx edx, word [r14 + r11*2 + 0x2e68d0]
lea rax, [0x1402e63c0]
add rdx, rax
lea rax, [rbp + 0xe0]
sub rdx, rax
nop dword [rax]
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x14005ccc4
inc rax
test cl, cl
jne 0x14005ccb0
mov ecx, r15d
jmp 0x14005ccc9
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14005ccf3
lea eax, [r8 + 1]
cmovle r9d, r8d
cmovle eax, r10d
mov r10d, eax
cmp eax, r9d
jl 0x14005cc82
mov rax, qword [rbp + 0x168]
mov dword [rax], gethostbyname
jmp 0x14005d2cb
mov r8, qword [rbp - 0x70]
mov rax, qword [rbp + 0x1a0]
mov r15, r8
movzx edx, byte [r14 + r11*2 + 0x2e68d2]
movzx ecx, byte [r14 + r11*2 + 0x2e68d4]
lea r9, [r8 + 3]
mov qword [rbp - 0x38], r8
mov r10, qword [rax + 0x40]
sub r10, qword [rax + 0x20]
mov qword [rbp + 8], r10
xor r10d, r10d
cmp r12d, 0x10
mov qword [rbp - 0x70], r9
mov r12d, dword [rbp - 0x68]
mov eax, r10d
sete al
cmp eax, edi
mov rdi, qword [rbp + 0x168]
setne al
add al, 0xf
mov byte [r8], al
mov rax, qword [rbp + 0x10]
mov byte [r8 + 1], dl
mov edx, dword [rbp - 0x74]
mov byte [r8 + 2], cl
mov rbx, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x140058ad0
movzx eax, byte [rbp - 0xe]
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14005cd8b
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14005cdd5
movzx eax, byte [rbp - 0xd]
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 8
jne 0x14005cda6
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14005cdd5
movzx eax, byte [rbp - 0xc]
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 4
jne 0x14005cdc1
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14005cdd5
movzx eax, byte [rbp - 0xb]
and edx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
mov r8d, edx
and r8d, 0x7f
test edx, edx
jns 0x14005cdeb
add edx, 0x7f
add r8d, 0xffffff80
sar edx, 7
lea r14, [0x140000000]
movsxd rax, edx
movzx eax, byte [rax + r14 + 0x2d5e30]
shl eax, 7
add eax, r8d
cdqe
movzx ecx, word [r14 + rax*2 + 0x2d8030]
movzx edx, byte [r14 + rcx*8 + 0x2d47b3]
test dl, dl
je 0x14005ce4e
cmp dword [rbp - 0x5c], 0xfffffffe
lea r9, [r10 + 3]
mov word [r10], 0x910
mov qword [rbp - 0x70], r9
mov byte [r10 + 2], dl
jne 0x14005cf25
mov r14d, 0xffffffff
mov dword [rbp - 0x24], r14d
mov dword [rbp - 0x5c], r14d
jmp 0x14005cf25
test r12b, 1
setne al
add al, 0x1d
mov byte [r10], al
inc r10
mov qword [rbp - 0x70], r10
test r9d, r9d
je 0x14005ce87
lea rcx, [rbp - 0x10]
mov edx, r9d
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r10], al
inc r10
sub rdx, 1
jne 0x14005ce70
mov qword [rbp - 0x70], r10
movzx eax, byte [rbp - 0x10]
cmp al, 0xd
je 0x14005ce93
cmp al, 0xa
jne 0x14005ce9e
or dword [r11 + 0x94], 0x800
mov r10d, dword [rbp - 0x5c]
mov r13d, dword [rbp - 0x28]
mov esi, dword [rbp - 0x30]
mov ecx, dword [rbp + 0x18]
mov dword [rbp - 0x60], r13d
mov dword [rbp - 0x64], esi
cmp r10d, 0xfffffffe
jne 0x14005cef4
mov r14d, 0xffffffff
mov dword [rbp - 0x24], r14d
cmp r9d, 1
je 0x14005cedb
test ecx, ecx
je 0x14005cedb
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x30], r14d
mov dword [rbp - 0x5c], r14d
jmp 0x14005cf25
cmp r9d, 1
mov dword [rbp - 0x20], eax
mov r9, qword [rbp - 0x70]
mov dword [rbp - 0x5c], ecx
je 0x14005cf25
mov ecx, dword [r11 + 0x98]
jmp 0x14005cf19
mov eax, dword [rbp - 0x20]
mov dword [rbp], eax
mov dword [rbp - 0x24], r10d
cmp r9d, 1
je 0x14005cf0e
test ecx, ecx
je 0x14005cf0e
mov r9, qword [rbp - 0x70]
jmp 0x14005cf25
mov r9, qword [rbp - 0x70]
or ecx, dword [r11 + 0x98]
movzx r10d, byte [r9 - 1]
mov dword [rbp - 0x28], r10d
mov dword [rbp - 0x30], ecx
mov rbx, qword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
mov rdi, qword [rbp + 0x168]
xor r10d, r10d
mov rax, qword [rbp + 0x10]
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x140058ad0
cmp r9, rcx
mov eax, 0x57
mov ecx, reloc.WS2_32.dll_gethostbyname
cmovae eax, ecx
jmp 0x14005d2c9
mov dword [rdi], 0x40
jmp 0x14005d2cb
cmp r9b, 0x3a
mov eax, 0x1f
mov ecx, reloc.WS2_32.dll_listen
cmove eax, ecx
jmp 0x14005d2c9
mov rcx, qword [rbp + 0x168]
mov eax, 0x1f
mov dword [rcx], eax
jmp 0x14005d2cb
mov dword [r11], 7
jmp 0x14005d2cb
mov rbx, qword [rbp - 0x80]
mov dword [r11], 0x47
jmp 0x14005d2cb
mov dword [r11], 0x53
jmp 0x14005d2cb
mov dword [r11], 8
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 6
jmp 0x14005d2cb
mov dword [rdi], 9
jmp 0x14005d2cb
mov dword [rdi], 0x4b
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x42
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x3b
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x3c
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x1c
jmp 0x14005d2cb
cmp al, 0x30
jb 0x14005d192
movzx eax, byte [rbx]
nop word [rax + rax]
cmp al, 0x39
ja 0x14005d192
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005d050
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x3d
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x23
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
inc rbx
mov dword [rax], 0x18
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x26
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov ecx, 0x27
mov dword [rax], ecx
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x2b
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x41
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], reloc.WS2_32.dll_setsockopt
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], gethostbyname
jmp 0x14005d2cb
mov dword [rdi], 0x3f
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
dec rbx
mov dword [rax], recv
jmp 0x14005d2cb
mov rbx, qword [rbp - 0x80]
mov dword [r14], 0x36
jmp 0x14005d2cb
mov rbx, qword [rbp - 0x80]
mov dword [r14], 0x1b
jmp 0x14005d2cb
mov eax, recv
mov dword [r14], eax
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x52
jmp 0x14005d2cb
cmp al, 0x30
jb 0x14005d192
movzx eax, byte [rbx]
nop
cmp al, 0x39
ja 0x14005d192
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14005d180
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x3d
jmp 0x14005d2cb
mov dword [rdi], 0x3a
jmp 0x14005d2cb
mov dword [rdi], 0x39
jmp 0x14005d2cb
mov dword [rdi], 0x45
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x54
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], gethostbyname
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], 0x2a
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov dword [rax], r9d
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], recv
jmp 0x14005d2cb
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x28
jmp 0x14005d2cb
mov rax, qword [rbp + 0x170]
mov ecx, dword [rbp - 0x20]
mov r11, qword [rbp + 0x160]
mov dword [rax], ecx
mov rax, qword [rbp + 0x178]
mov ecx, dword [rbp - 0x5c]
mov dword [rax], ecx
mov rax, qword [rbp + 0x180]
mov ecx, dword [rbp - 0x28]
mov dword [rax], ecx
mov rax, qword [rbp + 0x188]
mov ecx, dword [rbp - 0x30]
mov dword [rax], ecx
mov rax, qword [rbp + 0x158]
mov qword [rax], r9
mov qword [r11], rbx
test r8, r8
je 0x14005d2a7
mov edx, dword [r8]
mov eax, 0x7fffffeb
mov r10, qword [rbp + 0x88]
sub eax, edx
movsxd rcx, eax
mov rax, r9
sub rax, r10
cmp rcx, rax
jl 0x14005d2b5
sub r9d, r10d
add r9d, edx
mov dword [r8], r9d
mov eax, 1
jmp 0x14005d2d7
mov r11, qword [rbp + 0x160]
mov rax, qword [rbp + 0x168]
mov dword [rax], setsockopt
jmp 0x14005d2d2
mov eax, reloc.WS2_32.dll_gethostbyname
mov dword [rdi], eax
mov r11, qword [rbp + 0x160]
mov qword [r11], rbx
xor eax, eax
add rsp, 0x208
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret