Function at 0x1801280e0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x68
mov rdi, rcx
xor ecx, ecx
mov r11, r8
mov eax, dword [rdi]
mov r12d, dword [rdi + 4]
mov rsi, rdx
mov qword [rsp + 0xa0], rcx
mov edx, ecx
mov qword [rsp + 0x30], rcx
mov r15d, eax
mov qword [rsp + 0x40], rcx
mov ebp, ecx
shr r15d, 0xa
mov qword [rsp + 0x38], rcx
mov r8d, ecx
mov qword [rsp + 0x20], rcx
mov ecx, dword [rdi + 0x14]
mov r13d, eax
and r15d, 0x7f
shr r13d, 0x1f
test ecx, 0x7f000000
je 0x18012815d
xor eax, eax
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r9, r9
jne 0x1801281de
test r15d, r15d
jle 0x1801281bc
cmp r15d, 2
jle 0x18012814d
cmp r15d, 4
je 0x18012814d
cmp r15d, 0x12
je 0x18012814d
cmp r15d, 0x3f
jne 0x1801281bc
cmp qword [rsi + 0x38], rdx
je 0x18012814d
btr eax, 0x10
mov rcx, rdi
or eax, 0xfc00
mov dword [rdi], eax
call qword [rsi + 0x38]
test eax, eax
je 0x18012814d
and dword [rdi + 0x14], 0x87ffffff
or dword [rdi + 0x14], 0x7000000
mov dword [rdi + 4], r12d
xor eax, eax
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
and ecx, 0x8bffffff
mov eax, 1
or ecx, 0xb000000
mov dword [rdi + 0x14], ecx
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x58], r14
cmp r15d, 0x2d
jne 0x1801281f6
mov rcx, r11
mov qword [rsp + 0xa0], rcx
jmp 0x180128206
cmp r15d, 0x32
mov rcx, rbp
cmove rdx, r11
mov qword [rsp + 0x30], rdx
cmp r15d, 0x10
je 0x18012821c
lea eax, [r15 - 0x15]
cmp eax, 0xa
ja 0x180128224
mov qword [rsp + 0x40], r11
jmp 0x180128224
mov r8, r11
mov qword [rsp + 0x20], r11
lea r10, [r11 + r9]
mov qword [rsp + 0x60], rbx
mov r14, r11
mov qword [rsp + 0x28], r10
cmp r11, r10
je 0x18012a430
movzx ebx, byte [r14]
lea rcx, [0x180000000]
cmp r15d, 0x3a
jg 0x180128290
inc r12d
cmp r12d, 0x14000
jbe 0x180128290
and dword [rdi + 0x14], 0x8cffffff
or dword [rdi + 0x14], 0xc000000
jmp 0x18012a3f6
mov r8, qword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
lea rcx, [0x180000000]
nop word [rax + rax]
lea eax, [r15 - 1]
cmp eax, 0x3f
ja case.default.0x1801282b0
cdqe
mov ecx, dword [rcx + rax*4 + 0x12a62c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp bl, 0xd
je 0x180128e48
cmp bl, 0xa
je 0x180128e48
and dword [rdi], 0xfffffc03
mov eax, dword [rdi]
mov qword [rdi + 8], 0xffffffffffffffff
cmp bl, 0x48
je 0x180128b80
and eax, 0xfffffffc
mov r15d, send
mov dword [rdi], eax
jmp 0x180128280
lea eax, [rbx - 0x30]
cmp al, 9
jbe 0x180128c2d
cmp bl, 0xa
je 0x180128303
cmp bl, 0xd
jne 0x180128c0c
mov r15d, reloc.WS2_32.dll_ntohs
jmp 0x180128280
test r8, r8
mov r15d, reloc.WS2_32.dll_recv
lea rcx, [0x180000000]
cmove r8, r14
and dword [rdi], 0x80ffffff
mov qword [rsp + 0x20], r8
cmp bl, 0xd
je 0x180128290
cmp bl, 0xa
jne 0x180128e48
jmp 0x180128280
cmp bl, 0xd
je 0x180128d36
cmp bl, 0xa
jne 0x180128c6c
mov r15d, 0x39
jmp 0x180128280
mov esi, dword [rdi]
mov rbp, r14
shr esi, 0x11
and esi, 0x7f
nop dword [rax]
cmp r14, r10
je 0x180128dda
movzx ebx, byte [r14]
cmp bl, 0xd
je 0x180128d51
cmp bl, 0xa
je 0x180128757
test r13d, r13d
jne 0x1801283ab
cmp bl, 9
je 0x1801283ab
cmp bl, 0x1f
jbe 0x18012a263
cmp bl, 0x7f
je 0x18012a263
movzx edx, bl
or dl, 0x20
cmp esi, 0x18
ja case.0x1801283d5.1
movsxd rax, esi
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x12a72c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov eax, 0x14000
mov rcx, r11
sub rcx, r14
add rcx, r9
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rax + r14]
cmp r14, rcx
je 0x180128427
movzx eax, byte [r14]
cmp al, 0xd
je 0x180128424
cmp al, 0xa
je 0x180128424
test r13d, r13d
jne 0x18012841a
cmp al, 9
je 0x18012841a
cmp al, 0x1f
jbe 0x18012a263
cmp al, 0x7f
je 0x18012a263
inc r14
cmp r14, rcx
jne 0x1801283f5
jmp 0x180128427
dec r14
cmp r14, r10
jne case.0x1801283d5.9
dec r14
inc r14
jmp 0x180128370
cmp bl, 0x20
je case.0x1801283d5.9
mov esi, ntohs
cmp bl, 0x20
jne 0x18012845b
mov esi, ntohs
inc r14
jmp 0x180128370
cmp bl, 0x30
jl 0x18012a276
cmp bl, 0x39
jg 0x18012a276
mov rdx, qword [rdi + 8]
movabs rax, 0x1999999999999998
cmp rdx, rax
ja 0x18012a276
movsx eax, bl
sub eax, 0x30
inc r14
movsxd rcx, eax
lea rax, [rdx + rdx*4]
lea rcx, [rcx + rax*2]
mov qword [rdi + 8], rcx
jmp 0x180128370
cmp bl, 0x20
je case.0x1801283d5.9
and dword [rdi + 0x14], 0x99ffffff
and dword [rdi], 0xff19ffff
or dword [rdi + 0x14], 0x19000000
or dword [rdi], 0x180000
jmp 0x18012a3f6
mov eax, dword [rdi]
mov ecx, eax
and ecx, 0xff000000
add ecx, 0x1000000
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov eax, ecx
mov dword [rdi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 7
ja 0x18012874b
shr rax, 0x18
lea rbx, [0x180000000]
and eax, 0x7f
cmp dl, byte [rax + rbx + 0x221600]
jne 0x18012874b
cmp ecx, 6
jne case.0x1801283d5.9
lea esi, [rcx + 0xf]
inc r14
jmp 0x180128370
cmp dl, 0x6b
jne 0x180128537
mov esi, reloc.WS2_32.dll_recvfrom
inc r14
jmp 0x180128370
cmp dl, 0x63
jne 0x180128549
mov esi, send
inc r14
jmp 0x180128370
cmp dl, 0x75
jne 0x18012855b
mov esi, reloc.WS2_32.dll_send
inc r14
jmp 0x180128370
cmp dl, 0x20
je case.0x1801283d5.9
lea rcx, [0x180000000]
movzx eax, dl
movsx eax, byte [rax + rcx + 0x21cb10]
test eax, eax
je 0x180128587
mov esi, reloc.WS2_32.dll_sendto
inc r14
jmp 0x180128370
cmp dl, 9
je case.0x1801283d5.9
xor eax, eax
inc r14
mov esi, eax
jmp 0x180128370
mov eax, dword [rdi]
mov ecx, eax
and ecx, 0xff000000
add ecx, 0x1000000
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov eax, ecx
mov dword [rdi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0xa
ja 0x180128738
shr rax, 0x18
lea rbx, [0x180000000]
and eax, 0x7f
cmp dl, byte [rax + rbx + 0x221608]
jne 0x180128738
cmp ecx, 9
jne case.0x1801283d5.9
lea esi, [rcx + 0xd]
inc r14
jmp 0x180128370
mov eax, dword [rdi]
mov ecx, eax
and ecx, 0xff000000
add ecx, 0x1000000
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov eax, ecx
mov dword [rdi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 5
ja 0x180128738
shr rax, 0x18
lea rbx, [0x180000000]
and eax, 0x7f
cmp dl, byte [rax + rbx + 0x221614]
jne 0x180128738
cmp ecx, 4
jne case.0x1801283d5.9
lea esi, [rcx + 0x13]
inc r14
jmp 0x180128370
mov eax, dword [rdi]
mov ecx, eax
and ecx, 0xff000000
add ecx, 0x1000000
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov eax, ecx
mov dword [rdi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 7
ja 0x180128738
shr rax, 0x18
lea rbx, [0x180000000]
and eax, 0x7f
cmp dl, byte [rax + rbx + 0x2215f8]
jne 0x180128738
cmp ecx, 6
jne case.0x1801283d5.9
lea esi, [rcx + 0x12]
inc r14
jmp 0x180128370
cmp bl, 0x2c
jne case.0x1801283d5.9
and dword [rdi], 0x80ffffff
mov esi, reloc.WS2_32.dll_recv
inc r14
jmp 0x180128370
cmp bl, 0x20
je case.0x1801283d5.9
xor eax, eax
inc r14
mov esi, eax
jmp 0x180128370
cmp bl, 0x2c
jne 0x180128733
cmp esi, 0x16
jne 0x1801286fd
or dword [rdi], 8
and dword [rdi], 0x80ffffff
mov esi, reloc.WS2_32.dll_recv
inc r14
jmp 0x180128370
cmp esi, 0x17
jne 0x180128718
or dword [rdi], 0x10
and dword [rdi], 0x80ffffff
mov esi, reloc.WS2_32.dll_recv
inc r14
jmp 0x180128370
cmp esi, 0x18
jne 0x180128720
or dword [rdi], 0x20
and dword [rdi], 0x80ffffff
mov esi, reloc.WS2_32.dll_recv
inc r14
jmp 0x180128370
cmp bl, 0x20
je case.0x1801283d5.9
mov esi, reloc.WS2_32.dll_sendto
inc r14
jmp 0x180128370
mov r15d, 0x32
xor eax, eax
mov esi, eax
inc r14
jmp 0x180128370
mov eax, r14d
mov r15d, 0x34
sub eax, ebp
add r12d, eax
cmp r12d, 0x14000
ja 0x18012825b
and dword [rdi], 0xff01ffff
mov rdx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
and esi, 0x7f
lea rcx, [0x180000000]
shl esi, 0x11
or dword [rdi], esi
mov eax, dword [rdi]
mov rsi, qword [rsp + 0xa8]
test rdx, rdx
je 0x180128290
cmp qword [rsi + 0x20], 0
je 0x180128803
and eax, 0xfffed3ff
mov r8, r14
mov rcx, rdi
or eax, 0xd000
sub r8, rdx
mov dword [rdi], eax
call qword [rsi + 0x20]
test eax, eax
je 0x1801287d9
and dword [rdi + 0x14], 0x84ffffff
or dword [rdi + 0x14], 0x4000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0xb8]
xor eax, eax
mov edx, eax
mov qword [rsp + 0x30], rax
jmp 0x18012826e
cmp bl, 0x20
je 0x180128874
cmp bl, 9
je 0x180128874
mov ecx, dword [rdi]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
sub eax, 0x15
je 0x180128864
dec eax
je 0x180128854
dec eax
je 0x180128844
dec eax
jne 0x180128869
or ecx, 0x20
lea r15d, [rax + 0x2c]
mov dword [rdi], ecx
jmp 0x180128280
or ecx, 0x10
mov r15d, 0x2c
mov dword [rdi], ecx
jmp 0x180128280
or ecx, 8
mov r15d, 0x2c
mov dword [rdi], ecx
jmp 0x180128280
or ecx, 4
mov dword [rdi], ecx
mov r15d, 0x2c
jmp 0x180128280
mov ecx, dword [rdi]
mov eax, ecx
and eax, 0xfe0000
cmp eax, 0x160000
jne 0x180128892
and ecx, 0xff19ffff
or ecx, 0x180000
mov dword [rdi], ecx
mov r15d, 0x31
jmp 0x180128280
cmp bl, 0x20
je 0x180128e1f
cmp bl, 9
je 0x180128e1f
mov ecx, dword [rdi]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
sub eax, 0xa
je 0x18012a297
sub eax, 0xb
je 0x1801288e2
dec eax
je 0x1801288dd
dec eax
je 0x1801288d8
dec eax
jne 0x1801288e7
or ecx, 0x20
jmp 0x1801288e5
or ecx, 0x10
jmp 0x1801288e5
or ecx, 8
jmp 0x1801288e5
or ecx, 4
mov dword [rdi], ecx
test rdx, rdx
mov r15d, 0x2c
lea rcx, [0x180000000]
cmove rdx, r14
mov qword [rsp + 0x30], rdx
test rdx, rdx
je 0x180128290
cmp qword [rsi + 0x20], 0
je 0x180128968
and dword [rdi], 0xfffeb3ff
or dword [rdi], 0xb000
mov r8, r14
sub r8, rdx
mov rcx, rdi
call qword [rsi + 0x20]
test eax, eax
je 0x18012893e
and dword [rdi + 0x14], 0x84ffffff
or dword [rdi + 0x14], 0x4000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0xb8]
xor eax, eax
mov edx, eax
mov qword [rsp + 0x30], rax
jmp 0x18012826e
cmp bl, 0xa
jne 0x18012a2e7
mov ecx, dword [rdi]
mov eax, ecx
shr eax, 2
test al, 0x10
je 0x1801289f7
cmp qword [rsi + 0x48], 0
mov r15d, 0x40
je 0x180128280
and ecx, 0xffff03ff
bts ecx, 0x10
mov dword [rdi], ecx
mov rcx, rdi
call qword [rsi + 0x48]
test eax, eax
je 0x1801289c3
and dword [rdi + 0x14], 0x8affffff
or dword [rdi + 0x14], 0xa000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x30]
jmp 0x18012826e
test al, 1
je 0x180128a03
test al, al
js 0x18012a2aa
mov r15d, 0x3a
test al, 0x20
je 0x180128a42
test al, 8
je 0x180128a42
test cl, 3
je 0x180128a2e
cmp word [rdi + 0x14], 0x65
je 0x180128a2e
and dword [rdi + 0x14], 0x7fffffff
xor eax, eax
shl eax, 0x1f
or dword [rdi + 0x14], eax
jmp 0x180128a5c
and dword [rdi + 0x14], 0x7fffffff
mov eax, 1
shl eax, 0x1f
or dword [rdi + 0x14], eax
jmp 0x180128a5c
xor eax, eax
cmp byte [rdi + 0x16], 5
mov ecx, eax
mov eax, dword [rdi + 0x14]
sete cl
shl ecx, 0x1f
btr eax, 0x1f
or ecx, eax
mov dword [rdi + 0x14], ecx
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x180128aa1
mov rcx, rdi
call rax
test eax, eax
je 0x180128a87
dec eax
je 0x180128a81
dec eax
jne 0x18012a2bd
or dword [rdi + 0x14], 0x80000000
or dword [rdi], 0x100
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0xb0]
test byte [rdi + 0x17], 0x7f
je 0x18012826e
and dword [rdi], 0xfffeebff
or dword [rdi], 0xe800
sub r14, r11
mov rax, r14
jmp 0x18012a610
mov rcx, r11
sub rcx, r14
add rcx, r9
cmp qword [rdi + 8], rcx
cmovb rcx, qword [rdi + 8]
test rbp, rbp
cmove rbp, r14
sub qword [rdi + 8], rcx
lea r14, [r14 - 1]
lea r14, [r14 + rcx]
mov qword [rsp + 0x38], rbp
jne 0x180128e48
mov r15d, 0x40
lea rcx, [0x180000000]
test rbp, rbp
je 0x180128290
cmp qword [rsi + 0x30], 0
je 0x180128b72
and dword [rdi], 0xffff03ff
or dword [rdi], 0x10000
mov r8, r14
sub r8, rbp
mov rdx, rbp
mov rcx, rdi
inc r8
call qword [rsi + 0x30]
test eax, eax
je 0x180128b43
and dword [rdi + 0x14], 0x86ffffff
or dword [rdi + 0x14], 0x6000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x28]
mov r9, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x30]
xor eax, eax
mov ebp, eax
mov qword [rsp + 0x38], rax
jmp 0x18012826e
cmp qword [rsi], 0
mov r15d, 3
je 0x180128e48
and eax, 0xfffe0fff
or eax, 0xc00
mov dword [rdi], eax
mov rcx, rdi
call qword [rsi]
test eax, eax
je 0x180128bb7
and dword [rdi + 0x14], 0x81ffffff
or dword [rdi + 0x14], 0x1000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x20]
inc r14
cmp r14, r10
je 0x18012a438
mov r11, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x30]
jmp 0x18012823e
cmp bl, 0x20
jne 0x18012a250
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, reloc.WS2_32.dll_ntohs
jmp 0x180128be6
movzx ecx, word [rdi + 0x14]
movzx eax, cx
shl ax, 2
add cx, ax
movsx eax, bl
add cx, cx
sub cx, 0x30
add cx, ax
mov word [rdi + 0x14], cx
cmp cx, 0x3e7
ja 0x18012a250
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
jmp 0x180128be6
cmp bl, 0x20
je 0x18012a263
lea rcx, [0x180000000]
movzx eax, bl
movzx edx, byte [rax + rcx + 0x21cb10]
test dl, dl
je 0x18012a263
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb8]
movsx edx, dl
test rax, rax
mov r15d, 0x2d
cmove rax, r14
and dword [rdi], 0x80ffffff
mov ecx, dword [rdi]
mov qword [rsp + 0xa0], rax
sub edx, 0x63
je 0x180128d22
sub edx, 0xd
je 0x180128d0c
sub edx, 4
je 0x180128cf6
dec edx
je 0x180128ce2
and ecx, 0xff01ffff
mov dword [rdi], ecx
mov rcx, rax
jmp 0x180128be6
and ecx, 0xff11ffff
bts ecx, 0x14
mov dword [rdi], ecx
mov rcx, rax
jmp 0x180128be6
and ecx, 0xff0fffff
or ecx, 0xe0000
mov dword [rdi], ecx
mov rcx, rax
jmp 0x180128be6
and ecx, 0xff0bffff
or ecx, 0xa0000
mov dword [rdi], ecx
mov rcx, rax
jmp 0x180128be6
and ecx, 0xff03ffff
bts ecx, 0x11
mov dword [rdi], ecx
mov rcx, rax
jmp 0x180128be6
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x39
jmp 0x180128be6
and dword [rdi], 0xff01ffff
mov rdx, qword [rsp + 0x30]
mov eax, esi
and eax, 0x7f
mov r15d, 0x34
shl eax, 0x11
or dword [rdi], eax
mov eax, dword [rdi]
test rdx, rdx
je 0x180128dda
mov r9, qword [rsp + 0xa8]
cmp qword [r9 + 0x20], 0
je 0x180128dd3
and eax, 0xfffed3ff
mov r8, r14
mov rcx, rdi
or eax, 0xd000
sub r8, rdx
mov dword [rdi], eax
call qword [r9 + 0x20]
test eax, eax
je 0x180128db1
and dword [rdi + 0x14], 0x84ffffff
or dword [rdi + 0x14], 0x4000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r11, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x28]
xor eax, eax
mov qword [rsp + 0x30], rax
and dword [rdi], 0xff01ffff
and esi, 0x7f
shl esi, 0x11
or dword [rdi], esi
cmp r14, r10
jne 0x180128df0
dec r14
mov eax, r14d
sub eax, ebp
add r12d, eax
cmp r12d, 0x14000
ja 0x18012825b
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0x38]
jmp 0x180128bd9
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2e
jmp 0x180128be6
cmp bl, 0xd
je 0x180128e48
cmp bl, 0xa
jne 0x18012a2fa
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
jmp 0x180128be6
cmp bl, 0x54
jne 0x180128e83
and dword [rdi], 0xfffffffd
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
or dword [rdi], 1
mov r15d, 6
jmp 0x180128be6
cmp bl, 0x45
jne 0x18012a30d
and dword [rdi], 0x82fffffc
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
or dword [rdi], 0x2000000
mov byte [rdi + 0x16], 2
mov r15d, reloc.WS2_32.dll_send
jmp 0x180128be6
cmp bl, 0xd
je 0x180128e48
cmp bl, 0xa
je 0x180128e48
and dword [rdi], 0xfffffc03
mov eax, dword [rdi]
mov qword [rdi + 8], 0xffffffffffffffff
cmp bl, 0x48
jne 0x18012a30d
cmp qword [rsi], 0
mov r15d, 5
je 0x180128e48
and eax, 0xfffe17ff
or eax, 0x1400
jmp 0x180128b9a
cmp bl, 0x54
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 6
jmp 0x180128be6
cmp bl, 0x54
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 7
jmp 0x180128be6
cmp bl, 0x50
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 8
jmp 0x180128be6
cmp bl, 0x2f
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 9
jmp 0x180128be6
lea eax, [rbx - 0x30]
cmp al, 9
ja 0x18012a320
mov rcx, qword [rsp + 0xa0]
movsx eax, bl
mov rbx, qword [rsp + 0xb8]
sub ax, 0x30
mov r15d, 0xa
mov word [rdi + 0x10], ax
jmp 0x180128be6
cmp bl, 0x2e
jne 0x18012a320
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, ntohs
jmp 0x180128be6
lea eax, [rbx - 0x30]
cmp al, 9
ja 0x18012a320
mov rcx, qword [rsp + 0xa0]
movsx eax, bl
mov rbx, qword [rsp + 0xb8]
sub ax, 0x30
mov r15d, ntohs
mov word [rdi + 0x12], ax
jmp 0x180128be6
cmp bl, 0x20
jne 0x18012a320
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, reloc.WS2_32.dll_listen
jmp 0x180128be6
lea eax, [rbx - 0x30]
cmp al, 9
ja 0x180129060
mov rcx, qword [rsp + 0xa0]
movsx eax, bl
mov rbx, qword [rsp + 0xb8]
sub ax, 0x30
mov r15d, reloc.WS2_32.dll_ntohl
mov word [rdi + 0x14], ax
jmp 0x180128be6
cmp bl, 0x20
jne 0x18012a250
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
jmp 0x180128be6
cmp bl, 0xd
jne 0x180129109
mov r15d, reloc.WS2_32.dll_recvfrom
test r8, r8
je 0x180128e48
cmp qword [rsi + 0x10], 0
je 0x1801290ea
and dword [rdi], 0xfffe47ff
or dword [rdi], 0x4400
mov rdx, qword [rsp + 0x20]
mov r8, r14
mov rcx, rdi
sub r8, rdx
call qword [rsi + reloc.WS2_32.dll_recv]
test eax, eax
je 0x1801290d0
and dword [rdi + 0x14], 0x88ffffff
or dword [rdi + 0x14], 0x8000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
xor eax, eax
mov r8d, eax
mov qword [rsp + 0x20], rax
jmp 0x180128be6
cmp bl, 0xa
jne 0x180128e48
mov r15d, 0x2c
test r8, r8
je 0x180128e48
cmp qword [rsi + 0x10], 0
je 0x1801290ea
and dword [rdi], 0xfffeb3ff
or dword [rdi], 0xb000
jmp 0x1801290a9
cmp bl, 0xa
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2c
jmp 0x180128be6
cmp bl, 0xd
je 0x180128e48
cmp bl, 0xa
je 0x180128e48
and dword [rdi], 0xfffffc03
mov edx, dword [rdi]
movzx eax, bl
or al, 0x20
mov qword [rdi + 8], 0xffffffffffffffff
cmp al, 0x61
jb case.0x1801291c7.69
cmp al, 0x7a
ja case.0x1801291c7.69
and edx, 0x81ffffff
movsx eax, bl
mov byte [rdi + 0x16], 0
bts edx, 0x18
add eax, 0xffffffbf
mov dword [rdi], edx
cmp eax, 0x14
ja case.0x1801291c7.69
lea r9, [0x180000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x12a790]
add rcx, r9
jmp rcx
mov byte [rdi + 0x16], reloc.WS2_32.dll_send
jmp 0x180129221
mov byte [rdi + 0x16], reloc.WS2_32.dll_recv
jmp 0x180129221
mov byte [rdi + 0x16], 5
jmp 0x180129221
mov byte [rdi + 0x16], 0
jmp 0x180129221
mov byte [rdi + 0x16], 1
jmp 0x180129221
mov byte [rdi + 0x16], 2
jmp 0x180129221
mov byte [rdi + 0x16], 9
jmp 0x180129221
mov byte [rdi + 0x16], 0xa
jmp 0x180129221
mov byte [rdi + 0x16], 0x19
jmp 0x180129221
mov byte [rdi + 0x16], 6
jmp 0x180129221
mov byte [rdi + 0x16], 3
jmp 0x180129221
mov byte [rdi + 0x16], reloc.WS2_32.dll_sendto
jmp 0x180129221
mov byte [rdi + 0x16], 0x1a
jmp 0x180129221
mov byte [rdi + 0x16], 7
jmp 0x180129221
mov byte [rdi + 0x16], reloc.WS2_32.dll_ntohs
cmp qword [rsi], 0
mov r15d, reloc.WS2_32.dll_send
je 0x180128e48
and edx, 0xfffe4fff
or edx, 0x4c00
mov dword [rdi], edx
jmp 0x180128b9c
test bl, bl
je case.0x1801291c7.69
movzx edx, byte [rdi + 0x16]
mov rcx, qword [rax + rdx*8 + 0x21cc10]
cmp bl, 0x20
jne 0x18012927b
mov r8d, dword [rdi]
mov eax, r8d
shr rax, 0x18
and eax, 0x7f
cmp byte [rax + rcx], 0
jne 0x18012927b
mov r15d, reloc.WS2_32.dll_sendto
jmp 0x1801293ef
mov r8d, dword [rdi]
mov eax, r8d
shr rax, 0x18
and eax, 0x7f
cmp bl, byte [rax + rcx]
je 0x1801293ef
lea eax, [rbx - 0x41]
cmp al, 0x19
jbe 0x1801292a1
cmp bl, 0x2d
jne case.0x1801291c7.69
movzx ecx, word [rdi + 2]
mov eax, edx
and ecx, 0x7f00
shl eax, 0x10
or ecx, eax
movsx eax, bl
or ecx, eax
cmp ecx, 0xa014f
ja 0x18012936c
je 0x180129363
cmp ecx, 0x50148
ja 0x18012931e
je 0x180129315
sub ecx, 0x30141
je 0x18012930c
sub ecx, 0x11
je 0x180129303
sub ecx, 3
je 0x1801292fa
cmp ecx, 0x100fd
jne case.0x1801291c7.69
mov byte [rdi + 0x16], 0x1d
jmp 0x1801293ef
mov byte [rdi + 0x16], 4
jmp 0x1801293ef
mov byte [rdi + 0x16], ntohs
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x1c
jmp 0x1801293ef
mov byte [rdi + reloc.WS2_32.dll_shutdown], 0x16
jmp 0x1801293ef
sub ecx, 0x50250
je 0x18012935a
sub ecx, 0x3fef9
je 0x180129351
sub ecx, 0xffe4
je 0x180129348
cmp ecx, 0x18
jne case.0x1801291c7.69
mov byte [rdi + 0x16], reloc.WS2_32.dll_socket
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x18
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x1f
jmp 0x1801293ef
mov byte [rdi + 0x16], 8
jmp 0x1801293ef
mov byte [rdi + 0x16], ntohl
jmp 0x1801293ef
cmp ecx, 0xf0253
ja 0x1801293b8
je 0x1801293b2
cmp ecx, 0xa0241
je 0x1801293ac
cmp ecx, 0xa0341
je 0x1801293a6
cmp ecx, 0xc0450
je 0x1801293a0
cmp ecx, 0xf0242
jne case.0x1801291c7.69
mov byte [rdi + 0x16], send
jmp 0x1801293ef
mov byte [rdi + 0x16], reloc.WS2_32.dll_listen
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x1e
jmp 0x1801293ef
mov byte [rdi + 0x16], reloc.WS2_32.dll_setsockopt
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x1b
jmp 0x1801293ef
sub ecx, 0xf0349
je 0x1801293eb
sub ecx, 0x4fef9
je 0x1801293e5
sub ecx, 0x5ff03
je 0x1801293df
cmp ecx, 0xa
jne case.0x1801291c7.69
mov byte [rdi + 0x16], 0x21
jmp 0x1801293ef
mov byte [rdi + 0x16], reloc.WS2_32.dll_ntohl
jmp 0x1801293ef
mov byte [rdi + 0x16], reloc.WS2_32.dll_recvfrom
jmp 0x1801293ef
mov byte [rdi + 0x16], 0x20
mov eax, r8d
and eax, 0xff000000
add eax, 0x1000000
xor eax, r8d
and eax, 0x7f000000
xor eax, r8d
mov dword [rdi], eax
jmp case.0x180129c54.12
cmp bl, 0x20
je 0x180128e48
mov rax, qword [rsp + 0x40]
test rax, rax
cmove rax, r14
cmp byte [rdi + 0x16], 5
mov qword [rsp + 0x40], rax
mov eax, 0x18
cmove r15d, eax
movzx edx, bl
mov ecx, r15d
call fcn.180127ea0
mov r15d, eax
cmp eax, 1
jne 0x180128bcc
and dword [rdi + 0x14], 0x91ffffff
or dword [rdi + 0x14], 0x11000000
jmp 0x18012a3f6
cmp bl, 0x20
ja 0x180129435
movabs rcx, 0x100002400
bt rcx, rbx
jb 0x18012944c
jmp 0x180129435
cmp bl, 0xa
je 0x1801294f7
cmp bl, 0xd
je 0x1801294f7
cmp bl, 0x20
jne 0x180129435
mov rax, qword [rsp + 0x40]
mov r15d, 0x20
test rax, rax
je 0x180128e48
cmp qword [rsi + 8], 0
je 0x1801294eb
and dword [rdi], 0xfffe83ff
or dword [rdi], 0x8000
mov r8, r14
sub r8, rax
mov rdx, rax
mov rcx, rdi
call qword [rsi + reloc.WS2_32.dll_htonl]
test eax, eax
je 0x1801294d1
and dword [rdi + 0x14], 0x82ffffff
or dword [rdi + 0x14], 0x2000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
xor eax, eax
mov qword [rsp + 0x40], rax
jmp case.0x180129c54.12
mov rax, qword [rsp + 0x40]
xor edx, edx
cmp bl, 0xd
mov r15d, edx
setne r15b
mov dword [rdi + 0x10], 0x90000
add r15d, 0x2b
test rax, rax
je 0x180128e48
cmp qword [rsi + 8], rdx
je 0x180129574
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
mov rdx, rax
mov rcx, rdi
or dword [rdi], r15d
sub r8, rax
call qword [rsi + reloc.WS2_32.dll_htonl]
test eax, eax
je 0x180129558
and dword [rdi + 0x14], 0x82ffffff
or dword [rdi + 0x14], 0x2000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
xor edx, edx
mov qword [rsp + 0x40], rdx
jmp case.0x180129c54.12
movsx ecx, bl
sub ecx, 0x20
je 0x180128e48
sub ecx, 0x28
je 0x1801295ba
dec ecx
jne 0x18012a30d
cmp byte [rdi + 0x16], 0x21
jne 0x18012a30d
mov rbx, qword [rsp + 0xb8]
lea r15d, [rcx + 0x25]
mov rcx, qword [rsp + 0xa0]
jmp 0x180128be6
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x21
jmp 0x180128be6
cmp bl, 0x54
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x22
jmp 0x180128be6
cmp bl, 0x54
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x23
jmp 0x180128be6
cmp bl, 0x50
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x24
jmp 0x180128be6
cmp bl, 0x43
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x26
jmp 0x180128be6
cmp bl, 0x45
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x24
jmp 0x180128be6
cmp bl, 0x2f
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x27
jmp 0x180128be6
lea eax, [rbx - 0x30]
cmp al, 9
ja 0x18012a320
mov rcx, qword [rsp + 0xa0]
movsx eax, bl
mov rbx, qword [rsp + 0xb8]
sub ax, 0x30
mov r15d, 0x28
mov word [rdi + 0x10], ax
jmp 0x180128be6
cmp bl, 0x2e
jne 0x18012a320
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x29
jmp 0x180128be6
lea eax, [rbx - 0x30]
cmp al, 9
ja 0x18012a320
mov rcx, qword [rsp + 0xa0]
movsx eax, bl
mov rbx, qword [rsp + 0xb8]
sub ax, 0x30
mov r15d, 0x2a
mov word [rdi + 0x12], ax
jmp 0x180128be6
cmp bl, 0xd
jne 0x180129753
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2b
jmp 0x180128be6
cmp bl, 0xa
jne 0x18012a320
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2c
jmp 0x180128be6
cmp bl, 0xa
jne 0x18012a346
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2c
jmp 0x180128be6
mov rbx, qword [rsp + 0xb8]
mov r9, r14
cmp r14, r10
je 0x180129afe
nop
movzx ecx, byte [r14]
cmp cl, 0x20
je 0x180129b1c
lea rdx, [0x180000000]
movzx eax, cl
movzx r8d, byte [rax + rdx + 0x21cb10]
test r8b, r8b
je 0x180129b1c
mov edx, dword [rdi]
mov eax, edx
shr eax, 0x11
and eax, 0x7f
cmp eax, 0xe
ja case.0x180129804.11
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x12a7e4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov eax, 0x14000
mov rcx, r11
sub rcx, r14
add rcx, rbx
cmp rcx, rax
cmovb rax, rcx
lea rcx, [r14 + 1]
lea rdx, [rax + r14]
cmp rcx, rdx
jae case.0x180129804.11
lea r8, [0x180000000]
movzx eax, byte [rcx]
cmp al, 0x20
je case.0x180129804.11
movzx eax, al
movsx eax, byte [rax + r8 + 0x21cb10]
test eax, eax
je case.0x180129804.11
inc rcx
inc r14
cmp rcx, rdx
jb 0x180129833
jmp case.0x180129804.11
xor eax, eax
cmp r8b, 0x6f
mov ecx, eax
mov eax, 2
cmove ecx, eax
mov eax, edx
and edx, 0x8001ffff
and eax, 0xff000000
and ecx, 0x7f
add eax, 0x1000000
shl ecx, 0x11
and eax, 0x7f000000
or ecx, eax
or ecx, edx
mov dword [rdi], ecx
jmp case.0x180129804.11
xor eax, eax
cmp r8b, 0x6e
mov ecx, eax
mov eax, 3
jmp 0x18012986f
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov ecx, eax
mov dword [rdi], eax
cmp r8b, 0x6e
je 0x1801298ee
cmp r8b, 0x74
je 0x1801298db
and ecx, 0xff01ffff
mov dword [rdi], ecx
jmp case.0x180129804.11
and ecx, 0xff0dffff
or ecx, 0xc0000
mov dword [rdi], ecx
jmp case.0x180129804.11
and ecx, 0xff09ffff
bts ecx, 0x13
mov dword [rdi], ecx
jmp case.0x180129804.11
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov edx, eax
mov ecx, eax
mov dword [rdi], eax
shr edx, 0x18
and edx, 0x7f
cmp edx, 0xa
ja 0x1801298ce
lea rsi, [0x180000000]
mov eax, ecx
shr rax, 0x18
and eax, 0x7f
cmp r8b, byte [rax + rsi + 0x2215a0]
mov rsi, qword [rsp + 0xa8]
jne 0x1801298ce
cmp edx, 9
jne case.0x180129804.11
and ecx, 0xff13ffff
or ecx, 0x120000
mov dword [rdi], ecx
jmp case.0x180129804.11
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov edx, eax
mov ecx, eax
mov dword [rdi], eax
shr edx, 0x18
and edx, 0x7f
cmp edx, 0x10
ja 0x1801298ce
lea rbx, [0x180000000]
mov eax, ecx
shr rax, 0x18
and eax, 0x7f
cmp r8b, byte [rax + rbx + 0x2215b0]
mov rbx, qword [rsp + 0xb8]
jne 0x1801298ce
cmp edx, 0xf
jmp 0x18012994a
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov edx, eax
mov ecx, eax
mov dword [rdi], eax
shr edx, 0x18
and edx, 0x7f
cmp edx, 0xe
ja 0x1801298ce
lea r10, [0x180000000]
mov eax, ecx
shr rax, 0x18
and eax, 0x7f
cmp r8b, byte [rax + r10 + 0x2215c8]
lea r10, [r11 + rbx]
jne 0x1801298ce
cmp edx, 0xd
jne case.0x180129804.11
and ecx, 0xff15ffff
or ecx, 0x140000
mov dword [rdi], ecx
jmp case.0x180129804.11
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov edx, eax
mov ecx, eax
mov dword [rdi], eax
shr edx, 0x18
and edx, 0x7f
cmp edx, 0x11
ja 0x1801298ce
lea rsi, [0x180000000]
mov eax, ecx
shr rax, 0x18
and eax, 0x7f
cmp r8b, byte [rax + rsi + 0x2215e0]
mov rsi, qword [rsp + 0xa8]
jne 0x1801298ce
cmp edx, 0x10
jne case.0x180129804.11
and ecx, 0xff1bffff
or ecx, 0x1a0000
mov dword [rdi], ecx
jmp case.0x180129804.11
mov eax, edx
and eax, 0xff000000
add eax, 0x1000000
xor eax, edx
and eax, 0x7f000000
xor eax, edx
mov edx, eax
mov ecx, eax
mov dword [rdi], eax
shr edx, 0x18
and edx, 0x7f
cmp edx, 7
ja 0x1801298ce
lea rbx, [0x180000000]
mov eax, ecx
shr rax, 0x18
and eax, 0x7f
cmp r8b, byte [rax + rbx + 0x2215f8]
mov rbx, qword [rsp + 0xb8]
jne 0x1801298ce
cmp edx, 6
jne case.0x180129804.11
and ecx, 0xff1dffff
or ecx, 0x1c0000
mov dword [rdi], ecx
jmp case.0x180129804.11
and edx, 0xff01ffff
mov dword [rdi], edx
inc r14
cmp r14, r10
jne 0x1801297b0
dec r14
mov eax, r14d
sub eax, r9d
add r12d, eax
cmp r12d, 0x14000
ja 0x18012825b
jmp 0x180128bd9
cmp r14, r10
je 0x180129afe
mov eax, r14d
sub eax, r9d
add r12d, eax
cmp r12d, 0x14000
ja 0x18012825b
cmp cl, 0x3a
jne 0x18012a263
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2e
test rcx, rcx
je 0x180128be1
cmp qword [rsi + 0x18], 0
je 0x180129ba9
and dword [rdi], 0xfffebbff
or dword [rdi], 0xb800
mov rdx, rcx
mov r8, r14
sub r8, rcx
mov rcx, rdi
call qword [rsi + 0x18]
test eax, eax
je 0x180129b8f
and dword [rdi + 0x14], 0x83ffffff
or dword [rdi + 0x14], 0x3000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
xor eax, eax
mov ecx, eax
mov qword [rsp + 0xa0], rax
jmp 0x180128be1
cmp bl, 0x20
je 0x180128e48
cmp bl, 9
je 0x180128e48
cmp bl, 0xd
jne 0x180129bec
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x2f
jmp 0x180128be6
cmp bl, 0xa
jne case.0x1801282b0.49
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x30
jmp 0x180128be6
test rdx, rdx
movzx r8d, bl
mov r15d, 0x32
cmove rdx, r14
and dword [rdi], 0x80ffffff
or r8b, 0x20
mov qword [rsp + 0x30], rdx
mov edx, dword [rdi]
mov eax, edx
shr eax, 0x11
and eax, 0x7f
add eax, 0xfffffff7
cmp eax, 7
ja case.0x180129c54.11
lea r9, [0x180000000]
mov ecx, dword [r9 + rax*4 + 0x12a820]
add rcx, r9
jmp rcx
and edx, 0xff01ffff
bts edx, 7
mov dword [rdi], edx
jmp case.0x180129c54.12
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
cmp r8b, 0x63
mov r8, qword [rsp + 0x20]
jne 0x180129c95
and edx, 0xff1fffff
or edx, 0x1e0000
mov dword [rdi], edx
jmp 0x180128be6
and edx, 0xff01ffff
mov dword [rdi], edx
jmp 0x180128be6
cmp bl, 0x30
jl 0x18012a297
cmp bl, 0x39
jg 0x18012a297
bt edx, 9
jb 0x18012a2aa
movsx eax, bl
and edx, 0xff17ffff
sub eax, 0x30
or edx, 0x160200
cdqe
mov dword [rdi], edx
mov qword [rdi + 8], rax
jmp case.0x180129c54.12
cmp r8b, 0x6b
jne 0x180129cf6
and edx, 0xff23ffff
or edx, 0x220000
mov dword [rdi], edx
jmp case.0x180129c54.12
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
cmp r8b, 0x63
jne 0x180129d1f
and edx, 0xff25ffff
or edx, 0x240000
mov dword [rdi], edx
jmp 0x180128be1
cmp r8b, 0x75
mov r8, qword [rsp + 0x20]
jne 0x180129d3d
and edx, 0xff27ffff
or edx, 0x260000
mov dword [rdi], edx
jmp 0x180128be6
and edx, 0xff29ffff
or edx, 0x280000
mov dword [rdi], edx
jmp 0x180128be6
and edx, 0xff01ffff
mov dword [rdi], edx
jmp case.0x180129c54.12
cmp bl, 0xa
jne 0x18012a346
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x33
jmp 0x180128be6
cmp bl, 0xa
jne 0x18012a2e7
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x30
jmp 0x180128be6
cmp bl, 0xa
jne 0x18012a2e7
mov r11d, dword [rdi]
xor ebx, ebx
mov ecx, r11d
mov dword [rdi + 4], ebx
mov r12d, ebx
shr ecx, 2
mov edx, ecx
and edx, 1
jne 0x180129dd7
mov rax, qword [rdi + 8]
inc rax
test rax, 0xfffffffffffffffe
mov eax, ebx
je 0x180129ddc
mov eax, 1
test dword [rdi + 0x14], 0x80000000
je 0x180129e00
cmp byte [rdi + 0x16], 5
je 0x18012a359
test cl, 0x40
jne 0x18012a359
test eax, eax
je 0x18012a359
test cl, 0x40
je 0x180129e6b
mov rcx, rdi
call fcn.18012a8a0
test eax, eax
je 0x180129e26
test r11b, 3
mov eax, send
mov r15d, 4
cmove r15d, eax
jmp 0x180129e2c
mov r15d, 1
cmp qword [rsi + 0x38], rbx
je 0x180128bcc
shl r15d, 0xa
xor r15d, r11d
and r15d, 0x1fc00
xor r15d, r11d
mov dword [rdi], r15d
call qword [rsi + 0x38]
test eax, eax
je 0x180128bb7
and dword [rdi + 0x14], 0x87ffffff
or dword [rdi + 0x14], 0x7000000
mov dword [rdi + 4], ebx
jmp 0x180128bb7
test edx, edx
je 0x180129e8a
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x35
jmp 0x180128be6
mov rax, qword [rdi + 8]
test rax, rax
jne 0x180129eb7
mov rcx, rdi
call fcn.18012a8a0
test eax, eax
je 0x180129e26
test r11b, 3
mov eax, send
mov r15d, 4
cmove r15d, eax
jmp 0x180129e2c
cmp rax, 0xffffffffffffffff
je 0x180129ed8
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x3e
jmp 0x180128be6
mov rcx, rdi
call fcn.18012a840
test eax, eax
jne 0x180129f0c
mov rcx, rdi
call fcn.18012a8a0
test eax, eax
je 0x180129e26
test r11b, 3
mov eax, send
mov r15d, 4
cmove r15d, eax
jmp 0x180129e2c
mov r15d, 0x3f
jmp case.0x180129c54.12
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
test rbp, rbp
cmove rbp, r14
lea r14, [r10 - 1]
mov qword [rsp + 0x38], rbp
jmp 0x180128be6
mov rcx, rdi
call fcn.18012a8a0
test eax, eax
je 0x180129f5c
test byte [rdi], 3
mov eax, send
mov r15d, 4
cmove r15d, eax
jmp 0x180129f62
mov r15d, 1
cmp qword [rsi + 0x38], 0
je 0x180129fb0
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
shl r15d, 0xa
or dword [rdi], r15d
call qword [rsi + 0x38]
test eax, eax
je 0x180129f93
and dword [rdi + 0x14], 0x87ffffff
or dword [rdi + 0x14], 0x7000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r11, qword [rsp + 0xb0]
test dword [rdi + 0x14], 0x80000000
je 0x180128bcc
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
shl r15d, 0xa
or dword [rdi], r15d
sub r14, r11
lea rax, [r14 + 1]
jmp 0x18012a610
lea rcx, [0x180000000]
movzx eax, bl
movzx ecx, byte [rax + rcx + 0x21cd20]
cmp cl, 0xff
je 0x18012a3d8
mov rbx, qword [rsp + 0xb8]
movsx rax, cl
mov rcx, qword [rsp + 0xa0]
mov qword [rdi + 8], rax
mov r15d, 0x36
jmp 0x180128be6
cmp bl, 0xd
jne 0x18012a038
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x38
jmp 0x180128be6
lea rcx, [0x180000000]
movzx eax, bl
movzx edx, byte [rax + rcx + 0x21cd20]
cmp dl, 0xff
jne 0x18012a078
cmp bl, 0x3b
je 0x18012a05d
cmp bl, 0x20
jne 0x18012a3d8
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa0]
mov r15d, 0x37
jmp 0x180128be6
mov rcx, qword [rdi + 8]
movabs rax, 0xffffffffffffffe
cmp rcx, rax
ja 0x18012a297
mov rbx, qword [rsp + 0xb8]
shl rcx, 4
movsx rax, dl
add rcx, rax
mov qword [rdi + 8], rcx
mov rcx, qword [rsp + 0xa0]
jmp 0x180128be6
mov rcx, qword [rsp + 0xa0]
cmp bl, 0xd
mov rbx, qword [rsp + 0xb8]
jne 0x180128be6
mov r15d, 0x38
jmp 0x180128be6
cmp bl, 0xa
jne 0x18012a2e7
xor eax, eax
mov dword [rdi + 4], eax
mov r12d, eax
cmp qword [rdi + 8], rax
jne 0x18012a0f7
or dword [rdi], 0x40
lea r15d, [rax + 0x2c]
jmp 0x18012a0fd
mov r15d, 0x3b
cmp qword [rsi + 0x40], rax
je 0x180128e48
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov rcx, rdi
shl r15d, 0xa
or dword [rdi], r15d
call qword [rsi + 0x40]
test eax, eax
je 0x180128bb7
and dword [rdi + 0x14], 0x89ffffff
xor eax, eax
or dword [rdi + 0x14], 0x9000000
mov dword [rdi + 4], eax
jmp 0x180128bb7
mov rbx, qword [rsp + 0xb8]
mov rcx, r11
sub rcx, r14
add rcx, r9
cmp qword [rdi + 8], rcx
cmovb rcx, qword [rdi + 8]
test rbp, rbp
cmove rbp, r14
sub qword [rdi + 8], rcx
lea r14, [r14 - 1]
lea r14, [r14 + rcx]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rbp
jne 0x180128be6
mov r15d, 0x3c
jmp 0x180128be6
cmp bl, 0xd
jne 0x18012a2e7
mov r15d, 0x3d
test rbp, rbp
je 0x180128e48
cmp qword [rsi + 0x30], 0
je 0x18012a1f3
and dword [rdi], 0xfffef7ff
or dword [rdi], 0xf400
mov r8, r14
sub r8, rbp
mov rdx, rbp
mov rcx, rdi
call qword [rsi + 0x30]
test eax, eax
je 0x18012a1d9
and dword [rdi + 0x14], 0x86ffffff
or dword [rdi + 0x14], 0x6000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
mov r10, qword [rsp + 0x28]
xor eax, eax
mov ebp, eax
mov qword [rsp + 0x38], rax
jmp case.0x180129c54.12
cmp bl, 0xa
jne 0x18012a2e7
xor ebx, ebx
mov dword [rdi + 4], ebx
mov r12d, ebx
lea r15d, [rbx + 0x35]
cmp qword [rsi + 0x48], rbx
je 0x180128e48
and dword [rdi], 0xfffed7ff
or dword [rdi], 0xd400
mov rcx, rdi
call qword [rsi + 0x48]
test eax, eax
je 0x180128bb7
and dword [rdi + 0x14], 0x8affffff
or dword [rdi + 0x14], 0xa000000
mov dword [rdi + 4], ebx
jmp 0x180128bb7
and dword [rdi + 0x14], 0x8fffffff
or dword [rdi + 0x14], 0xf000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x98ffffff
or dword [rdi + 0x14], 0x18000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x99ffffff
and dword [rdi], 0xff01ffff
or dword [rdi + 0x14], 0x19000000
and esi, 0x7f
shl esi, 0x11
or dword [rdi], esi
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x99ffffff
or dword [rdi + 0x14], 0x19000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x9affffff
or dword [rdi + 0x14], 0x1a000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x85ffffff
and dword [rdi], 0xfffeebff
or dword [rdi + 0x14], 0x5000000
or dword [rdi], 0xe800
sub r14, qword [rsp + 0xb0]
mov rax, r14
jmp 0x18012a610
and dword [rdi + 0x14], 0x9effffff
or dword [rdi + 0x14], 0x1e000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x8dffffff
or dword [rdi + 0x14], 0xd000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x9cffffff
or dword [rdi + 0x14], 0x1c000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x8effffff
or dword [rdi + 0x14], 0xe000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x90ffffff
or dword [rdi + 0x14], 0x10000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x97ffffff
or dword [rdi + 0x14], 0x17000000
jmp 0x18012a3f6
mov rcx, rdi
call fcn.18012a8a0
test eax, eax
je 0x18012a377
test byte [rdi], 3
mov ebp, 4
mov eax, send
cmove ebp, eax
jmp 0x18012a37c
mov ebp, 1
cmp qword [rsi + 0x38], rbx
je 0x18012a3b6
and dword [rdi], 0xfffe03ff
and ebp, 0x7f
shl ebp, 0xa
or dword [rdi], ebp
call qword [rsi + 0x38]
test eax, eax
je 0x18012a3a8
and dword [rdi + 0x14], 0x87ffffff
or dword [rdi + 0x14], 0x7000000
mov dword [rdi + 4], ebx
mov ebp, dword [rdi]
shr ebp, 0xa
and ebp, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a3c7
and dword [rdi], 0xfffe03ff
and ebp, 0x7f
mov dword [rdi + 4], ebx
shl ebp, 0xa
or dword [rdi], ebp
sub r14, qword [rsp + 0xb0]
lea rax, [r14 + 1]
jmp 0x18012a614
and dword [rdi + 0x14], 0x9bffffff
or dword [rdi + 0x14], 0x1b000000
jmp 0x18012a3f6
and dword [rdi + 0x14], 0x9dffffff
or dword [rdi + 0x14], 0x1d000000
mov eax, dword [rdi + 0x14]
mov dword [rdi + 4], r12d
test eax, 0x7f000000
jne 0x18012a414
and eax, 0xa0ffffff
mov dword [rdi + 4], r12d
bts eax, 0x1d
mov dword [rdi + 0x14], eax
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
shl r15d, 0xa
or dword [rdi], r15d
sub r14, r11
mov rax, r14
jmp 0x18012a610
mov rbx, qword [rsp + 0xb8]
test rcx, rcx
je 0x18012a48f
cmp qword [rsi + 0x18], 0
je 0x18012a48f
and dword [rdi], 0xfffe03ff
mov rdx, rcx
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
or dword [rdi], r15d
sub r8, rcx
mov rcx, rdi
call qword [rsi + 0x18]
test eax, eax
je 0x18012a47a
and dword [rdi + 0x14], 0x83ffffff
or dword [rdi + 0x14], 0x3000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x18012a4eb
cmp qword [rsi + 0x20], 0
je 0x18012a4eb
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
mov rdx, rax
mov rcx, rdi
or dword [rdi], r15d
sub r8, rax
call qword [rsi + 0x20]
test eax, eax
je 0x18012a4d6
and dword [rdi + 0x14], 0x84ffffff
or dword [rdi + 0x14], 0x4000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x18012a547
cmp qword [rsi + 8], 0
je 0x18012a547
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
mov rdx, rax
mov rcx, rdi
or dword [rdi], r15d
sub r8, rax
call qword [rsi + reloc.WS2_32.dll_htonl]
test eax, eax
je 0x18012a532
and dword [rdi + 0x14], 0x82ffffff
or dword [rdi + 0x14], 0x2000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
test rbp, rbp
je 0x18012a59a
cmp qword [rsi + 0x30], 0
je 0x18012a59a
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
mov rdx, rbp
mov rcx, rdi
or dword [rdi], r15d
sub r8, rbp
call qword [rsi + 0x30]
test eax, eax
je 0x18012a589
and dword [rdi + 0x14], 0x86ffffff
or dword [rdi + 0x14], 0x6000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
jne 0x18012a5ef
mov rdx, qword [rsp + 0x20]
test rdx, rdx
je 0x18012a5fc
cmp qword [rsi + 0x10], 0
je 0x18012a5fc
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov r8, r14
shl r15d, 0xa
sub r8, rdx
mov rcx, rdi
or dword [rdi], r15d
call qword [rsi + reloc.WS2_32.dll_recv]
test eax, eax
je 0x18012a5de
and dword [rdi + 0x14], 0x88ffffff
or dword [rdi + 0x14], 0x8000000
mov dword [rdi + 4], r12d
mov r15d, dword [rdi]
shr r15d, 0xa
and r15d, 0x7f
test byte [rdi + 0x17], 0x7f
je 0x18012a5fc
sub r14, qword [rsp + 0xb0]
mov rax, r14
jmp 0x18012a614
and dword [rdi], 0xfffe03ff
and r15d, 0x7f
mov rax, rbx
shl r15d, 0xa
or dword [rdi], r15d
mov dword [rdi + 4], r12d
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret