Function at 0x18001d7d0
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe68]
sub rsp, 0xf40
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x180168908]
xor rax, rsp
mov qword [rbp + 0xe30], rax
xor r15d, r15d
mov dword [rsp + 0x5c], r15d
movdqa xmm0, xmmword [0x180113320]
movdqu xmmword [rbp + 0x238], xmm0
mov word [rbp + 0x228], r15w
mov rcx, qword [0x180176b30]
test rcx, rcx
jne 0x18001d893
lea rcx, [0x180167da8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [0x180176b30], r15
jne 0x18001d87f
lea ecx, [r15 + 8]
call fcn.1800a5060
mov rbx, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x18001d870
mov rcx, rax
call fcn.180084fb0
jmp 0x18001d873
mov rbx, r15
lock or dword [rsp], 0
mov qword [0x180176b30], rbx
lea rcx, [0x180167da8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x180176b30]
lea rdx, [rbp + 0x1e8]
call fcn.1800894f0
nop
call fcn.1800103b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x70]
mov r10d, r15d
mov r12, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, r12
movabs rax, 0x4924924924924925
imul rcx
mov r11, rdx
sar r11, 6
mov rax, r11
shr rax, 0x3f
mov r14, 0xffffffffffffffff
add r11, rax
je 0x18001d987
mov r9, r12
mov rdi, qword [rbp + 0x200]
mov rbx, qword [rbp + 0x1f8]
mov rsi, qword [rbp + 0x1e8]
nop
lea rcx, [rbp + 0x1e8]
cmp rdi, 8
cmovae rcx, rsi
mov r8, r9
cmp qword [r9 + 0x18], 8
jb 0x18001d91c
mov r8, qword [r9]
mov rdx, qword [r9 + 0x10]
cmp rdx, rbx
jne 0x18001d9db
test rdx, rdx
je 0x18001d949
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x18001d9db
add rcx, 2
sub rdx, 1
jne 0x18001d931
movsxd rax, r10d
imul rcx, rax, 0xe0
lea rdx, [r12 + 0xc0]
add rdx, rcx
cmp qword [rdx + 0x18], 8
jb 0x18001d968
mov rdx, qword [rdx]
mov r8, r14
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18001d970
lea rcx, [rbp + 0x228]
call fcn.180019da0
lea rbx, [rbp + 0x228]
cmp qword [rbp + 0x240], 8
cmovae rbx, qword [rbp + 0x228]
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x18001f239
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
test rbx, rbx
je 0x18001da01
cmp rbx, 0x10000
jae 0x18001d9f2
movzx edx, bx
lea rcx, [rsp + 0x40]
call fcn.180012580
jmp 0x18001da15
inc r10d
add r9, 0xe0
movsxd rax, r10d
cmp rax, r11
jae 0x18001d987
jmp 0x18001d900
mov rax, r14
inc rax
cmp word [rbx + rax*2], 0
jne 0x18001d9f5
jmp 0x18001da04
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180009210
nop
lea rcx, [rbp + 0x5c0]
call fcn.18006b9a0
mov rdi, rax
cmp qword [rax + 0x18], 8
jb 0x18001da2e
mov rdi, qword [rax]
test rdi, rdi
jne 0x18001da38
mov eax, r15d
jmp 0x18001da4a
mov rax, r14
nop dword [rax + rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x18001da40
mov r12, rdi
mov rbx, qword [rsp + 0x40]
sub r12, rbx
sar r12, 1
mov esi, dword [rbx - 0x10]
mov dword [rsp + 0x58], esi
test eax, eax
js 0x18001f244
test rdi, rdi
jne 0x18001da71
mov r13d, r15d
jmp 0x18001da7f
movsxd rdx, eax
mov rcx, rdi
call fcn.1800d7f80
mov r13, rax
mov ecx, 0x7fffffff
sub ecx, r13d
cmp ecx, esi
jl 0x18001f24f
add esi, r13d
js 0x18001f25a
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x18001daba
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.180009160
mov rbx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
cmp r12, rax
ja 0x18001dac7
lea rdi, [rbx + r12*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rbx + rax*2]
mov r9, rdx
mov r8, rdi
call fcn.180009440
cmp esi, dword [rbx - 0xc]
jg 0x18001f22e
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r15w
mov rdx, qword [rbp + 0x5d8]
cmp rdx, 8
jb 0x18001db36
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x5c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001db31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f265
call fcn.1800a4c5c
call fcn.18007dd60
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8 + 0x10]
cmp al, 1
jne 0x18001dcad
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x358], xmm0
mov byte [rbp + 0x348], 0
mov r8d, 0x70
lea rdx, str.d:jenkins.jenkinsworkspacelib_commoncomputerz12_grab_versionhookhomepage_1145configexternalurlconfig.cpp
lea rcx, [rbp + 0x348]
call fcn.18000a3d0
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x2b8], xmm0
mov byte [rbp + 0x2a8], 0
mov r8d, 3
lea rdx, [0x180112978]
lea rcx, [rbp + 0x2a8]
call fcn.18000a3d0
nop
call fcn.18007dd60
mov rsi, rax
mov r9d, 0x1d
lea r8, [rbp + 0x348]
lea rdx, [rbp + 0x2a8]
lea rcx, [rbp + 0xe0]
call fcn.18000dda0
mov rdi, rax
lea rdx, str.CExternalUrlConfig_request_url:
mov rcx, rax
call fcn.18000f150
mov rdx, rbx
mov rcx, rdi
call fcn.18000c590
mov r8, qword [rsi]
mov rdx, rdi
mov rcx, rsi
call qword [r8 + 0x38]
nop
lea rcx, [rbp + 0xe0]
call fcn.18000f5c0
nop
mov rdx, qword [rbp + 0x2c0]
cmp rdx, 0x10
jb 0x18001dc55
inc rdx
mov rcx, qword [rbp + 0x2a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001dc50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f26b
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x2b8], xmm0
mov byte [rbp + 0x2a8], 0
mov rdx, qword [rbp + 0x360]
cmp rdx, 0x10
jb 0x18001dcad
inc rdx
mov rcx, qword [rbp + 0x348]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001dca8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f271
call fcn.1800a4c5c
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
xor r8d, r8d
lea rdx, [0x180112398]
lea rcx, [rbp + 0x1c8]
call fcn.18000a3d0
nop
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r13, rax
test rax, rax
je 0x18001de27
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x84000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov r12, rax
test rax, rax
je 0x18001de1e
mov dword [rsp + 0x48], r15d
xor edx, edx
mov r8d, 0x401
lea rcx, [rbp + 0xa20]
call fcn.1800d4600
lea r9, [rsp + 0x48]
mov r8d, 0x400
lea rdx, [rbp + 0xa20]
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x18001de0a
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x18001de0a
cmp rax, 0x401
jae 0x18001f27d
mov byte [rbp + rax + 0xa20], 0
lea rax, [rbp + 0xa20]
mov rsi, r14
inc rsi
cmp byte [rax + rsi], 0
jne 0x18001dd91
mov rcx, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x1e0]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x18001ddec
lea rax, [rsi + rcx]
mov qword [rbp + 0x1d8], rax
lea rdi, [rbp + 0x1c8]
cmp rdx, 0x10
cmovae rdi, qword [rbp + 0x1c8]
add rdi, rcx
mov r8, rsi
lea rdx, [rbp + 0xa20]
mov rcx, rdi
call fcn.1800d4190
mov byte [rdi + rsi], 0
jmp 0x18001de0a
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xa20]
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x1c8]
call fcn.180008740
cmp dword [rsp + 0x48], 0
jne 0x18001dd30
mov rcx, r12
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
cmp qword [rbp + 0x1d8], 0
jne 0x18001df7f
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 0x10
jb 0x18001de76
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001de71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f277
call fcn.1800a4c5c
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18001dea9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x18001deef
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001deea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f283
call fcn.1800a4c5c
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r15w
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x18001df4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001df4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f289
call fcn.1800a4c5c
mov rcx, qword [rbp + 0xe30]
xor rcx, rsp
call fcn.1800a5130
lea r11, [rsp + 0xf40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180009090
nop
mov rcx, rax
test rax, rax
je 0x18001f28f
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, str.externalconfig
cmp rdx, 0x10000
jae 0x18001dfbf
movzx edx, dx
lea rcx, [rsp + 0x50]
call fcn.180012580
jmp 0x18001dfda
mov rax, r14
inc rax
cmp word [rdx + rax*2], 0
jne 0x18001dfc2
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.180009210
nop
call fcn.1800103b0
mov rbx, rax
lea rcx, [rbp - 0x48]
call fcn.18006e380
nop
mov r9, qword [rbx]
mov r8, rax
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [r9 + 0x28]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001e01e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001e03d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x218], xmm0
mov byte [rbp + 0x208], 0
movdqu xmmword [rbp + 0x378], xmm0
mov byte [rbp + 0x368], 0
mov r8d, 0x26
lea rdx, [0x180113738]
lea rcx, [rbp + 0x368]
call fcn.18000a3d0
nop
lea r8, [rbp + 0x208]
lea rdx, [rbp + 0x368]
lea rcx, [rbp + 0x1c8]
call fcn.180009cd0
mov ebx, eax
mov rdx, qword [rbp + 0x380]
cmp rdx, 0x10
jb 0x18001e0da
inc rdx
mov rcx, qword [rbp + 0x368]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e0d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f29a
call fcn.1800a4c5c
test ebx, ebx
jne 0x18001e261
mov rdx, qword [rbp + 0x220]
cmp rdx, 0x10
jb 0x18001e123
inc rdx
mov rcx, qword [rbp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e11e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2a0
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x218], xmm0
mov byte [rbp + 0x208], 0
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 0x10
jb 0x18001e17b
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e176
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2a6
call fcn.1800a4c5c
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18001e1b3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x18001e1f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e1f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2ac
call fcn.1800a4c5c
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r15w
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x18001df4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001df4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f21c
jmp 0x18001df4a
lea rcx, [rbp + 0x208]
cmp qword [rbp + 0x220], 0x10
cmovae rcx, qword [rbp + 0x208]
call fcn.18008caa0
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
jne 0x18001e40c
mov rdx, qword [rbp + 0x220]
cmp rdx, 0x10
jb 0x18001e2ce
inc rdx
mov rcx, qword [rbp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e2c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2b2
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x218], xmm0
mov byte [rbp + 0x208], 0
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 0x10
jb 0x18001e326
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e321
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2b8
call fcn.1800a4c5c
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18001e35e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x18001e3a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e39f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2be
call fcn.1800a4c5c
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r15w
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x18001df4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001df4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f222
jmp 0x18001df4a
lea rdx, str.config1
mov rcx, rbx
call fcn.18008c9d0
mov rdi, rax
test rax, rax
jne 0x18001e5af
mov rcx, rbx
call fcn.18008c920
nop
mov rdx, qword [rbp + 0x220]
cmp rdx, 0x10
jb 0x18001e471
inc rdx
mov rcx, qword [rbp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e46c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2c4
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x218], xmm0
mov byte [rbp + 0x208], 0
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 0x10
jb 0x18001e4c9
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e4c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2ca
call fcn.1800a4c5c
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1c8], 0
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18001e501
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x18001e547
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e542
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2d0
call fcn.1800a4c5c
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], 7
mov word [rbp + 0x1e8], r15w
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x18001df4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001df4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f228
jmp 0x18001df4a
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x398], xmm0
mov byte [rbp + 0x388], 0
mov r8d, 5
lea rdx, str.times
lea rcx, [rbp + 0x388]
call fcn.18000a3d0
nop
mov r8d, r14d
lea rdx, [rbp + 0x388]
mov rcx, rdi
call fcn.18008d4a0
mov r13d, eax
mov rdx, qword [rbp + 0x3a0]
cmp rdx, 0x10
jb 0x18001e636
inc rdx
mov rcx, qword [rbp + 0x388]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e631
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2d6
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x3b8], xmm0
mov byte [rbp + 0x3a8], 0
mov r8d, 7
lea rdx, str.percent
lea rcx, [rbp + 0x3a8]
call fcn.18000a3d0
nop
mov r8d, r14d
lea rdx, [rbp + 0x3a8]
mov rcx, rdi
call fcn.18008d4a0
mov r12d, eax
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 0x10
jb 0x18001e6bd
inc rdx
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e6b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2dc
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x278], xmm0
mov byte [rbp + 0x268], 0
xor r8d, r8d
lea rdx, [0x180112398]
lea rcx, [rbp + 0x268]
call fcn.18000a3d0
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x2d8], xmm0
mov byte [rbp + 0x2c8], 0
mov r8d, 3
lea rdx, [0x180113988]
lea rcx, [rbp + 0x2c8]
call fcn.18000a3d0
nop
lea r9, [rbp + 0x268]
lea r8, [rbp + 0x2c8]
mov rdx, rdi
lea rcx, [rbp + 0x3e8]
call fcn.18008d4e0
nop
mov rdx, qword [rbp + 0x2e0]
cmp rdx, 0x10
jb 0x18001e77b
inc rdx
mov rcx, qword [rbp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e776
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001f2e2
call fcn.1800a4c5c
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x2d8], xmm0
mov byte [rbp + 0x2c8], 0
mov r8, qword [rbp + 0x280]
cmp r8, 0x10
jb 0x18001e7b5
inc r8
mov rdx, qword [rbp + 0x268]
lea rcx, [rbp + 0x268]
call fcn.1800203e0
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x278], xmm0
mov byte [rbp + 0x268], 0
call fcn.18006edc0
mov rsi, rax
lea rax, [rbp + 0x538]
mov qword [rbp + 0x530], rax
test rsi, rsi
jne 0x18001e7f6
mov rdx, r15
mov qword [rbp + 0x530], rdx
jmp 0x18001e8f1
mov rdi, r14
nop dword [rax]
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x18001e800
inc edi
lea ebx, [rdi*4]
mov r9d, 0x80
lea r8, [rbp + 0x538]
mov edx, ebx
lea rcx, [rbp + 0x530]
call fcn.1800094f0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x530]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, r15d
test eax, eax
sete bl
test eax, eax
jne 0x18001e8e2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x18001e8e2
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, edi
mov r8, rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
mov r9d, 0x80
lea r8, [rbp + 0x538]
mov edx, eax
lea rcx, [rbp + 0x530]
call fcn.1800094f0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], ebx
mov rax, qword [rbp + 0x530]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, r15d
test eax, eax
sete bl
test ebx, ebx
jne 0x18001f2e8
mov rdx, qword [rbp + 0x530]
mov qword [rbp + 0x258], r15
mov qword [rbp + 0x260], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x248], 0
mov r8, r14
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18001e910
lea rcx, [rbp + 0x248]
call fcn.18000a3d0
nop
lea rax, [rbp + 0x538]
mov rcx, qword [rbp + 0x530]
cmp rcx, rax
je 0x18001e93f
call fcn.1800d7598
mov qword [rbp + 0x298], r15
mov qword [rbp + 0x2a0], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x288], 0
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x18001f307
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea r8, [rbp + 0x288]
lea rdx, [rbp + 0x248]
lea rcx, [rbp + 0x3e8]
call fcn.18000a1c0
test eax, eax
je 0x18001ebb5
mov edx, 3
lea r8d, [rdx - 2]
lea rcx, [rbp - 0x20]
call fcn.18001cbf0
nop
lea rdx, [rbp + 0x248]
cmp qword [rbp + 0x260], 0x10
cmovae rdx, qword [rbp + 0x248]
mov r8, qword [rbp + 0x258]
lea rcx, [rbp - 0x10]
call fcn.18001c170
lea rdx, [0x1801128d4]
mov rcx, rax
call fcn.18001bf20
lea rdx, [rbp + 0x288]
cmp qword [rbp + 0x2a0], 0x10
cmovae rdx, qword [rbp + 0x288]
mov r8, qword [rbp + 0x298]
mov rcx, rax
call fcn.18001c170
lea rdx, [0x1801128d4]
mov rcx, rax
call fcn.18001bf20
mov rcx, rax
mov edx, r13d
call fcn.18001d020
mov rcx, rax
lea rdx, [0x1801128d4]
call fcn.18001bf20
mov rcx, rax
mov edx, r12d
call fcn.18001d020
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x3d8], xmm0
mov byte [rbp + 0x3c8], 0
mov dword [rsp + 0x5c], 2
mov rcx, qword [rbp + 0x68]
test cl, 2
jne 0x18001ea8b
mov rax, qword [rbp + 0x38]
mov r8, qword [rax]
test r8, r8
je 0x18001ea8b
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov qword [rbp - 0x30], r8
cmp r8, qword [rbp + 0x60]
cmovb r8, qword [rbp + 0x60]
sub r8, rdx
jmp 0x18001eab0
test cl, 4
jne 0x18001eabd
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
test rcx, rcx
je 0x18001eabd
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x48]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
lea rcx, [rbp + 0x3c8]
call fcn.18000a3d0
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x318], xmm0
mov byte [rbp + 0x308], 0
movdqu xmmword [rbp + 0x418], xmm0
mov byte [rbp + 0x408], 0
mov r8d, 0x24
lea rdx, [0x180113340]
lea rcx, [rbp + 0x408]
call fcn.18000a3d0
nop
lea r8, [rbp + 0x308]
lea rdx, [rbp + 0x408]
lea rcx, [rbp + 0x3c8]
call fcn.18000a1c0
mov ebx, eax
lea rcx, [rbp + 0x408]
call fcn.180008ad0
test ebx, ebx
je 0x18001eb92
lea rdx, [rbp + 0x308]
cmp qword [rbp + 0x320], 0x10
cmovae rdx, qword [rbp + 0x308]
xor r8d, r8d
lea rcx, [rbp + 0x5e0]
call fcn.180009620
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x18001eb6b
mov r15, r14
nop dword [rax + rax]
inc r15
cmp word [rdx + r15*2], 0
jne 0x18001eb60
mov r8d, r15d
lea rcx, [rsp + 0x70]
call fcn.180009210
nop
lea rax, [rbp + 0x5e8]
mov rcx, qword [rbp + 0x5e0]
cmp rcx, rax
je 0x18001eb92
call fcn.1800d7598
nop
lea rcx, [rbp + 0x308]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x3c8]
call fcn.180008ad0
nop
lea rcx, [rbp - 0x20]
call fcn.18001d310
lea rdx, str.external
lea rcx, [rsp + 0x78]
call fcn.1800088c0
nop
call fcn.1800103b0
mov r9, qword [rax]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x78]
mov rcx, rax
call qword [r9 + 0x28]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001ec00
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rbp + 0x3e8]
cmp qword [rbp + 0x400], 0x10
cmovae rdx, qword [rbp + 0x3e8]
mov r8d, 0xfde9
lea rcx, [rbp + 0x6f0]
call fcn.180009620
nop
mov rdx, qword [rax]
lea rcx, [rbp - 0x40]
call fcn.1800088c0
nop
lea rax, [rbp + 0x6f8]
mov rcx, qword [rbp + 0x6f0]
cmp rcx, rax
je 0x18001ec4f
call fcn.1800d7598
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x458], xmm0
mov byte [rbp + 0x448], 0
xor r8d, r8d
lea rdx, [0x180112398]
lea rcx, [rbp + 0x448]
call fcn.18000a3d0
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x438], xmm0
mov byte [rbp + 0x428], 0
mov r8d, 7
lea rdx, str.ext_off
lea rcx, [rbp + 0x428]
call fcn.18000a3d0
nop
lea r9, [rbp + 0x448]
lea r8, [rbp + 0x428]
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x508]
call fcn.18008d4e0
nop
lea rcx, [rbp + 0x428]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x448]
call fcn.180008ad0
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x498], xmm0
mov byte [rbp + 0x488], 0
xor r8d, r8d
lea rdx, [0x180112398]
lea rcx, [rbp + 0x488]
call fcn.18000a3d0
nop
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x478], xmm0
mov byte [rbp + 0x468], 0
mov r8d, 6
lea rdx, str.ext_on
lea rcx, [rbp + 0x468]
call fcn.18000a3d0
nop
lea r9, [rbp + 0x488]
lea r8, [rbp + 0x468]
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x4e8]
call fcn.18008d4e0
nop
lea rcx, [rbp + 0x468]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x488]
call fcn.180008ad0
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x18001f312
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x18001f211
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
cmp qword [rbp + 0x518], 0
je 0x18001eedf
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x338], xmm0
mov byte [rbp + 0x328], 0
movdqu xmmword [rbp + 0x4b8], xmm0
mov byte [rbp + 0x4a8], 0
mov r8d, 0x24
lea rdx, [0x180113340]
lea rcx, [rbp + 0x4a8]
call fcn.18000a3d0
nop
lea r8, [rbp + 0x328]
lea rdx, [rbp + 0x4a8]
lea rcx, [rbp + 0x508]
call fcn.18000a1c0
mov ebx, eax
lea rcx, [rbp + 0x4a8]
call fcn.180008ad0
test ebx, ebx
je 0x18001eed1
lea rdx, [rbp + 0x328]
cmp qword [rbp + 0x340], 0x10
cmovae rdx, qword [rbp + 0x328]
xor r8d, r8d
lea rcx, [rbp + 0x800]
call fcn.180009620
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x68]
call fcn.18000ebc0
nop
lea rax, [rbp + 0x808]
mov rcx, qword [rbp + 0x800]
cmp rcx, rax
je 0x18001ee88
call fcn.1800d7598
lea rdx, [0x180112810]
lea rcx, [rbp - 0x80]
call fcn.1800088c0
nop
call fcn.1800103b0
mov r9, qword [rax]
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x80]
mov rcx, rax
call qword [r9 + 0x28]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001eed1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x328]
call fcn.180008ad0
jmp 0x18001ef56
lea rdx, [0x18010e038]
lea rcx, [rbp - 0x70]
call fcn.1800088c0
nop
lea rdx, [0x180112810]
lea rcx, [rbp - 0x78]
call fcn.1800088c0
nop
call fcn.1800103b0
mov r9, qword [rax]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x78]
mov rcx, rax
call qword [r9 + 0x28]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001ef38
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001ef56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp qword [rbp + 0x4f8], 0
je 0x18001f078
movdqa xmm0, xmmword [0x1801106e0]
movdqu xmmword [rbp + 0x2f8], xmm0
mov byte [rbp + 0x2e8], 0
movdqu xmmword [rbp + 0x4d8], xmm0
mov byte [rbp + 0x4c8], 0
mov r8d, 0x24
lea rdx, [0x180113340]
lea rcx, [rbp + 0x4c8]
call fcn.18000a3d0
nop
lea r8, [rbp + 0x2e8]
lea rdx, [rbp + 0x4c8]
lea rcx, [rbp + 0x4e8]
call fcn.18000a1c0
mov ebx, eax
lea rcx, [rbp + 0x4c8]
call fcn.180008ad0
test ebx, ebx
je 0x18001f06a
lea rdx, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0x10
cmovae rdx, qword [rbp + 0x2e8]
xor r8d, r8d
lea rcx, [rbp + 0x910]
call fcn.180009620
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x60]
call fcn.18000ebc0
nop
lea rax, [rbp + 0x918]
mov rcx, qword [rbp + 0x910]
cmp rcx, rax
je 0x18001f021
call fcn.1800d7598
lea rdx, [0x180112838]
lea rcx, [rbp - 0x68]
call fcn.1800088c0
nop
call fcn.1800103b0
mov r9, qword [rax]
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x68]
mov rcx, rax
call qword [r9 + 0x28]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f06a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x2e8]
call fcn.180008ad0
jmp 0x18001f0f0
lea rdx, [0x18010e038]
lea rcx, [rbp - 0x58]
call fcn.1800088c0
nop
lea rdx, [0x180112838]
lea rcx, [rbp - 0x60]
call fcn.1800088c0
nop
call fcn.1800103b0
mov r9, qword [rax]
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x60]
mov rcx, rax
call qword [r9 + 0x28]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f0d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f0f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f110
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f130
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x4e8]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x508]
call fcn.180008ad0
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f169
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18001f189
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x288]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x248]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x3e8]
call fcn.180008ad0
nop
mov rcx, qword [rbp - 0x50]
call fcn.18008c920
nop
lea rcx, [rbp + 0x208]
call fcn.180008ad0
nop
lea rcx, [rbp + 0x1c8]
call fcn.180008ad0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x18001f1f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rbp + 0x1e8]
call fcn.1800198f0
nop
lea rcx, [rbp + 0x228]
call fcn.1800198f0
jmp 0x18001df4f
mov ecx, 0x80004005
call fcn.180008c20
nop
call fcn.1800d79f8
int3
call fcn.1800d79f8
int3
call fcn.1800d79f8
nop
mov ecx, 0x80070057
call fcn.180008c20
nop
mov ecx, 0x80004005
call fcn.180008c20
nop
mov ecx, 0x80070057
call fcn.180008c20
int3
mov ecx, 0x80070057
call fcn.180008c20
int3
mov ecx, 0x80070057
call fcn.180008c20
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
int3
call fcn.1800d79f8
nop
call fcn.1800a533c
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
mov ecx, 0x80004005
call fcn.180008c20
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
call fcn.1800d79f8
int3
call fcn.1800d79f8
nop
call fcn.1800d79f8
nop
mov r8d, 0x80
lea rdx, [rbp + 0x538]
mov rcx, qword [rbp + 0x530]
call fcn.180009610
call fcn.1800098d0
nop
mov ecx, 0x80004005
call fcn.180008c20
nop
mov ecx, 0x80004005
call fcn.180008c20
int3