Function at 0x180002430
Capabilities:
Create thread

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0x98
mov rax, qword [0x180042008]
xor rax, rsp
mov qword [rbp - 1], rax
mov r12, qword [rbp + 0x77]
mov edi, 0x190
mov qword [rbp - 0x29], rcx
mov r15, r9
mov ecx, edi
mov qword [rbp - 0x39], r8
mov r14, rdx
call fcn.180008ef8
mov r8d, edi
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.18000de50
mov rcx, rbx
call fcn.180002c1c
mov rsi, rax
lea rbx, [rax + 0xa8]
mov rcx, rbx
call fcn.18000bf00
xor ecx, ecx
test eax, eax
jne 0x180002bf4
lea eax, [rcx + 0xf]
mov qword [rbp - 0x21], rcx
or r13, 0xffffffffffffffff
mov qword [rbp - 9], rax
mov qword [rbp - 0x41], rax
mov rdi, r13
mov qword [rbp - 0x11], rcx
mov qword [rbp - 0x59], rcx
mov qword [rbp - 0x49], rcx
inc rdi
cmp byte [r14 + rdi], cl
jne 0x1800024cb
lea rcx, [rbp - 0x59]
cmp rdi, rax
ja 0x1800024f6
mov r8, rdi
mov qword [rbp - 0x49], rdi
mov rdx, r14
call fcn.18000e010
xor r14d, r14d
mov byte [rbp + rdi - 0x59], r14b
jmp 0x180002504
mov r9, r14
mov rdx, rdi
call fcn.1800080f0
xor r14d, r14d
lea rcx, [rsi + 0x110]
lea rax, [rbp - 0x59]
cmp rcx, rax
je 0x180002520
mov r8b, r14b
lea rdx, [rbp - 0x59]
call fcn.1800065b0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x18000255b
mov rcx, qword [rbp - 0x59]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002556
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002bfc
call fcn.180008ef0
mov rax, qword [rbp - 0x39]
mov rdi, r13
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x41], 0xf
inc rdi
cmp byte [rax + rdi], r14b
jne 0x180002572
lea rcx, [rbp - 0x59]
cmp rdi, 0xf
ja 0x18000259b
mov r8, rdi
mov qword [rbp - 0x49], rdi
mov rdx, rax
call fcn.18000e010
mov byte [rbp + rdi - 0x59], r14b
jmp 0x1800025a6
mov r9, rax
mov rdx, rdi
call fcn.1800080f0
lea r14, [rsi + 0x130]
lea rax, [rbp - 0x59]
cmp r14, rax
je 0x1800025c5
xor r8d, r8d
lea rdx, [rbp - 0x59]
mov rcx, r14
call fcn.1800065b0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x180002600
mov rcx, qword [rbp - 0x59]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800025fb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002c02
call fcn.180008ef0
xor eax, eax
mov qword [rbp - 0x41], 0xf
mov qword [rbp - 0x59], rax
mov rdi, r13
mov qword [rbp - 0x49], rax
inc rdi
cmp byte [r15 + rdi], al
jne 0x180002615
lea rcx, [rbp - 0x59]
cmp rdi, 0xf
ja 0x18000263e
mov r8, rdi
mov qword [rbp - 0x49], rdi
mov rdx, r15
call fcn.18000e010
mov byte [rbp + rdi - 0x59], 0
jmp 0x180002649
mov r9, r15
mov rdx, rdi
call fcn.1800080f0
lea rcx, [rsi + 0x150]
lea rax, [rbp - 0x59]
cmp rcx, rax
je 0x180002665
xor r8d, r8d
lea rdx, [rbp - 0x59]
call fcn.1800065b0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x1800026a0
mov rcx, qword [rbp - 0x59]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000269b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002c08
call fcn.180008ef0
and qword [rbp - 0x59], 0
mov rdi, r13
and qword [rbp - 0x49], 0
mov qword [rbp - 0x41], 0xf
inc rdi
cmp byte [r12 + rdi], 0
jne 0x1800026b5
lea rcx, [rbp - 0x59]
cmp rdi, 0xf
ja 0x1800026df
mov r8, rdi
mov qword [rbp - 0x49], rdi
mov rdx, r12
call fcn.18000e010
mov byte [rbp + rdi - 0x59], 0
jmp 0x1800026ea
mov r9, r12
mov rdx, rdi
call fcn.1800080f0
lea rdi, [rsi + 0x170]
lea rax, [rbp - 0x59]
cmp rdi, rax
je 0x180002709
xor r8d, r8d
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.1800065b0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x180002744
mov rcx, qword [rbp - 0x59]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000273f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002c0e
call fcn.180008ef0
lea rdx, [0x18003cbc8]
mov rcx, rdi
call fcn.180007bc4
test al, al
je 0x18000276e
lea rdx, str.POST
mov rcx, rdi
call fcn.180007bc4
test al, al
jne 0x180002b6c
xor edi, edi
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x180002782
mov rcx, qword [r14]
mov rdx, rcx
jmp 0x180002785
mov rdx, r14
mov r14, qword [r14 + 0x10]
mov r15, rcx
add r14, rdx
cmp rcx, r14
je 0x1800027cc
cmp byte [r15], 0x2f
jne 0x1800027ab
cmp edi, 5
jge 0x18000281e
cmp edi, 3
jne 0x1800027b1
mov edi, 5
jmp 0x1800027b8
cmp byte [r15], 0x3a
jne 0x18000281e
inc edi
cmp edi, 5
jne 0x1800027c4
lea rcx, [rsi + 0x48]
mov dl, byte [r15]
call fcn.180005420
inc r15
cmp r15, r14
jne 0x180002794
lea r14, [rsi + 0x20]
mov rcx, r14
lea rdx, str.localhost
call fcn.180007bc4
test al, al
je 0x1800028e2
cmp qword [rsi + 0x30], 4
jb 0x180002879
cmp qword [r14 + 0x18], 0x10
mov rdi, r14
jb 0x1800027ff
mov rdi, qword [r14]
mov rax, qword [r14 + 0x10]
cmp rax, 1
jb 0x180002879
lea r15, [rdi + rax]
mov r12d, 0x2e
mov r8, r15
mov rcx, rdi
sub r8, rdi
jmp 0x180002862
test edi, edi
jne 0x180002827
mov rcx, rsi
jmp 0x1800027bc
cmp edi, 3
jne 0x180002832
lea rcx, [rsi + 0x20]
jmp 0x1800027bc
cmp edi, 4
jne 0x1800027b3
lea rcx, [rbp - 0x21]
jmp 0x1800027bc
cmp byte [rax], r12b
jne 0x18000284d
xor ecx, ecx
jmp 0x180002852
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x180002871
inc rax
mov r8, r15
sub r8, rax
mov rcx, rax
mov edx, r12d
call fcn.18000e6c0
test rax, rax
jne 0x180002844
jmp 0x180002879
sub rax, rdi
cmp rax, r13
jne 0x1800028e2
lea rdx, [0x18003cc08]
lea rcx, [0x180043b80]
call fcn.1800079e0
mov r15d, 0xfffff3ff
mov r12d, 0x200
mov rdi, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], r15d
or dword [rdx + 0x18], r12d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
mov rcx, rdi
call fcn.180004ed8
mov rcx, rax
lea rdx, str.___Error:_Invalid_host
call fcn.1800079e0
cmp qword [r14 + 0x18], 0x10
mov rdx, r14
jb 0x1800028d9
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
jmp 0x180002974
lea rdx, str.http
mov rcx, rsi
call fcn.180007bc4
test al, al
je 0x1800029b9
lea rdx, str.https
mov rcx, rsi
call fcn.180007bc4
test al, al
je 0x1800029b9
lea rdx, [0x18003cc08]
lea rcx, [0x180043b80]
call fcn.1800079e0
mov r15d, 0xfffff3ff
mov r12d, 0x200
mov rdi, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
add rdx, rax
and dword [rdx + 0x18], r15d
or dword [rdx + 0x18], r12d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
mov rcx, rdi
call fcn.180004ed8
mov rcx, rax
lea rdx, str.___Error:_Unknown_protocol
call fcn.1800079e0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x180002970
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.180008a40
lea rdx, str._in
mov rcx, rax
call fcn.1800079e0
mov rdx, qword [rbp - 0x39]
mov rcx, rax
call fcn.1800079e0
mov rcx, rax
call fcn.180007c04
mov rcx, rsi
call fcn.180002d40
mov edx, 0x190
mov rcx, rsi
call fcn.180008ef0
jmp 0x180002b6c
lea rdx, [0x18003cc08]
lea rcx, [0x180043b80]
call fcn.1800079e0
mov r15d, 0xfffff3ff
mov r12d, 0x200
mov rdi, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, r15d
or ecx, r12d
mov dword [rdx + rax + 0x18], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
mov rcx, rdi
call fcn.180004ed8
mov rcx, rax
lea rdx, str.___Protocol:
call fcn.1800079e0
cmp qword [rsi + 0x18], 0x10
mov rdx, rsi
jb 0x180002a1c
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.180008a40
mov rcx, rax
call fcn.180007c04
cmp qword [rbp - 0x11], 0
jbe 0x180002a5f
lea rcx, [rbp - 0x21]
call fcn.180002034
test eax, eax
jle 0x180002a5f
lea rcx, [rbp - 0x21]
call fcn.180002034
cmp eax, 0xa0005
jg 0x180002a5f
lea rcx, [rbp - 0x21]
call fcn.180002034
jmp 0x180002a93
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x180002a6c
mov rcx, qword [rsi]
cmp qword [rsi + 0x10], 5
jne 0x180002a8e
mov r8d, 5
lea rdx, str.https
call fcn.18000e740
test eax, eax
mov eax, 0x1bb
je 0x180002a93
mov eax, 0x50
lea rdx, [0x18003cc08]
mov dword [rsi + 0x40], eax
lea rcx, [0x180043b80]
mov r14, rsi
call fcn.1800079e0
mov rdi, rax
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov ecx, dword [rdx + rax + 0x18]
and ecx, r15d
or ecx, r12d
mov dword [rdx + rax + 0x18], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
mov rcx, rdi
call fcn.180004ed8
mov rcx, rax
lea rdx, str.___Port:
call fcn.1800079e0
mov edx, dword [rsi + 0x40]
mov rcx, rax
call fcn.180005038
mov rcx, rax
call fcn.180007c04
mov ecx, 0x18
mov byte [rsi + 0x108], 0
call fcn.180008ef8
mov ecx, dword [rbp + 0x7f]
lea r8, [0x180008e78]
mov r9, rax
xor edx, edx
mov dword [rax], ecx
lea rcx, [0x180003444]
mov qword [rax + 0x10], rcx
lea rcx, [rbp - 0x31]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
and dword [rsp + 0x20], 0
mov qword [rax + 8], rsi
call fcn.180012da0
mov qword [rbp - 0x39], rax
test rax, rax
je 0x180002be5
cmp dword [rsi + 0x100], 0
jne 0x180002c14
mov rax, qword [rbp - 0x29]
xor r13d, r13d
movaps xmm0, xmmword [rbp - 0x39]
movdqu xmmword [rsi + 0xf8], xmm0
mov qword [rax], rsi
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x180002ba3
mov rcx, qword [rbp - 0x21]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002b9e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002bdf
call fcn.180008ef0
and qword [rbp - 0x11], 0
mov rcx, rbx
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], 0
call fcn.18000bf08
mov eax, r13d
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.180008ed0
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180014c20
int3
and dword [rbp - 0x31], 0
mov ecx, 6
call fcn.18000a18c
int3
mov ecx, eax
call fcn.18000a150
int3
call fcn.180014c20
int3
call fcn.180014c20
int3
call fcn.180014c20
int3
call fcn.180014c20
int3
call fcn.1800147b4
int3