Function at 0x81dab0
Capabilities:
Connect to http server

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
sub rsp, 0x370
mov rbp, rsp
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x60], edx
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0x368], 0
mov qword [rbp + 0x360], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x3b0], r8
mov qword [rbp + 0x3b8], r9
mov rax, qword [rbp + 0x3c0]
mov qword [rbp + 0x3c0], rax
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x3d0], rax
mov rax, qword [rbp + 0x3d8]
mov qword [rbp + 0x3d8], rax
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x3e0], rax
mov rcx, qword [rbp + 0x3b0]
call fcn.00412ee0
mov rcx, qword [rbp + 0x3b8]
call fcn.00412ee0
mov rcx, qword [rbp + 0x3c0]
call fcn.00412ee0
mov rcx, qword [rbp + 0x3d0]
call fcn.00412ee0
mov rcx, qword [rbp + 0x3d8]
call fcn.00412ee0
mov rcx, qword [rbp + 0x3e0]
call fcn.00412ee0
nop
xor eax, eax
mov byte [rbp + 0x67], al
mov rax, qword [rbp + 0x3f8]
mov byte [rax], 0
mov byte [rbp + 0x400], 0
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x150]
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x10], 1
jle 0x81dd03
lea rcx, [rbp + 0xf0]
mov rax, qword [rbp + 0x58]
mov edx, dword [rax + 0x7c]
call fcn.0043bfe0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
call fcn.0082e5c0
lea rcx, [rbp + 0xe8]
mov edx, eax
call fcn.0043bfe0
lea rcx, [rbp + 0xf8]
mov edx, 6
mov r8, qword [rbp + 0xf0]
lea r9, [0x0081e5d8]
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x228]
mov qword [rsp + 0x20], rax
lea rax, [0x0081e5d8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x30], rax
lea rax, [0x0081e5e8]
mov qword [rsp + 0x38], rax
call fcn.00414a50
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xa0]
mov rdx, qword [rbp + 0xf8]
call fcn.00602260
jmp 0x81dd15
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xa0]
xor edx, edx
call fcn.00602260
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x247], 0
je 0x81ddd3
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax + 0xa0]
mov rcx, rbx
lea rdx, [rbp + 0xd8]
call fcn.006021f0
lea rcx, [rbp + 0xd0]
mov rdx, qword [rbp + 0x3d0]
call fcn.008188c0
lea rcx, [rbp + 0xe0]
mov edx, 8
mov rax, qword [rbp + 0x58]
mov r8, qword [rax + 0x108]
lea r9, [0x0081e5d8]
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [0x0081e5d8]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x58]
mov rax, qword [rax + 0x230]
mov qword [rsp + 0x38], rax
lea rax, [0x0081e5d8]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x3c0]
mov qword [rsp + 0x48], rax
call fcn.00414a50
mov rcx, rbx
mov rdx, qword [rbp + 0xe0]
call fcn.00602260
jmp 0x81de4a
mov rax, qword [rbp + 0x58]
mov rbx, qword [rax + 0xa0]
mov rcx, rbx
lea rdx, [rbp + 0xc0]
call fcn.006021f0
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0x3d0]
call fcn.008188c0
lea rcx, [rbp + 0xc8]
mov edx, 4
mov rax, qword [rbp + 0x58]
mov r8, qword [rax + 0x108]
lea r9, [0x0081e5d8]
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0xb8]
mov qword [rsp + 0x28], rax
call fcn.00414a50
mov rcx, rbx
mov rdx, qword [rbp + 0xc8]
call fcn.00602260
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0x242], 0
je 0x81de5e
mov ebx, 0x8000000
jmp 0x81de60
xor ebx, ebx
mov rax, qword [0x0091a378]
mov rcx, qword [rax]
call fcn.007397f0
cmp qword [rbp + 0x3b0], 0
je 0x81de83
cmp qword [rbp + 0x3b8], 0
jne 0x81ded1
mov rcx, qword [rbp + 0x3c0]
call fcn.00414500
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx + 0x158]
mov rdx, rax
movzx r8, word [rbp + 0x3c8]
xor r9, r9
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], 0
call sub.wininet.dll_InternetConnectW
mov qword [rbp + 0x68], rax
jmp 0x81df37
mov rcx, qword [rbp + 0x3c0]
call fcn.00414500
mov rsi, rax
mov rcx, qword [rbp + 0x3b0]
call fcn.00414500
mov rdi, rax
mov rcx, qword [rbp + 0x3b8]
call fcn.00414500
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx + 0x158]
mov rdx, rsi
movzx r8, word [rbp + 0x3c8]
mov r9, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], 0
call sub.wininet.dll_InternetConnectW
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
test rax, rax
jne 0x81dfc8
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x160], 0
je 0x81df71
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x168]
mov rdx, qword [rbp + 0x58]
mov r8d, 6
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x160]
mov rax, qword [rbp + 0x58]
cmp qword [rax + 0x170], 0
je 0x81e488
lea rcx, [rbp + 0xb0]
lea rdx, [0x0081e5fc]
mov r8, qword [rbp + 0x3c0]
call fcn.00414920
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x178]
mov rdx, qword [rbp + 0x58]
mov r8d, 6
mov r9, qword [rbp + 0xb0]
mov rbx, qword [rbp + 0x58]
call qword [rbx + 0x170]
jmp 0x81e488
xor esi, esi
mov rax, qword [0x0091a378]
mov rcx, qword [rax]
call fcn.007397f0
lea rcx, [0x0081e644]
mov rdx, qword [rbp + 0x3d0]
mov r8d, 1
call fcn.00414d80
test eax, eax
jle 0x81e037
lea rcx, [rbp + 0xa8]
mov rdx, qword [rbp + 0x3d0]
lea r8, [0x0081e644]
lea r9, [0x0081e654]
movzx rax, byte [0x0081e658]
mov byte [rsp + 0x20], al
call fcn.0044b200
lea rcx, [rbp + 0x3d0]
mov rdx, qword [rbp + 0xa8]
call fcn.00413430
lea rcx, [0x0081e654]
mov rdx, qword [rbp + 0x3d0]
mov r8d, 1
call fcn.00414d80
test eax, eax
jle 0x81e130
lea rcx, [rbp + 0x360]
mov rdx, qword [rbp + 0x3d0]
call fcn.00413430
jmp 0x81e08b
xor eax, eax
test rcx, rcx
je 0x81e077
mov eax, dword [rcx - 4]
lea rcx, [rbp + 0x360]
mov edx, eax
mov r8d, 1
call fcn.00414bd0
xor eax, eax
mov rcx, qword [rbp + 0x360]
test rcx, rcx
je 0x81e09c
mov eax, dword [rcx - 4]
mov rdx, qword [rbp + 0x360]
movsxd rax, eax
cmp word [rdx + rax*2 - 2], 0x2f
je 0x81e0bf
xor eax, eax
test rcx, rcx
je 0x81e0b8
mov eax, dword [rcx - 4]
test eax, eax
setg al
jmp 0x81e0c1
xor eax, eax
test al, al
jne 0x81e06d
xor eax, eax
mov rcx, qword [rbp + 0x360]
test rcx, rcx
je 0x81e0d6
mov eax, dword [rcx - 4]
test eax, eax
jle 0x81e130
mov dword [rbp + 0x104], 0xff
lea rcx, [rbp + 0x108]
mov edx, dword [rbp + 0x104]
call fcn.00414780
mov rcx, qword [rbp + 0x108]
call fcn.00414500
mov rcx, qword [rbp + 0x68]
mov rdx, rax
lea r8, [rbp + 0x104]
call sub.wininet.dll_FtpGetCurrentDirectoryW
mov sil, 1
mov rcx, qword [rbp + 0x360]
call fcn.00414500
mov rcx, qword [rbp + 0x68]
mov rdx, rax
call sub.wininet.dll_FtpSetCurrentDirectoryW
lea rcx, [rbp + 0x368]
mov rdx, qword [rbp + 0x3d0]
call fcn.008188c0
mov rcx, qword [rbp + 0x368]
call fcn.00414500
mov rcx, qword [rbp + 0x68]
mov rdx, rax
lea r8, [rbp + 0x110]
mov r9d, 0x80000000
mov qword [rsp + 0x20], 0
call sub.wininet.dll_FtpFindFirstFileW
mov rbx, rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
cmp qword [rax + 0x98], 0
je 0x81e1b0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov rcx, qword [rax + 0x98]
call fcn.0040fb00
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
cmp qword [rax + 0xa0], 0
je 0x81e1ec
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov rcx, qword [rax + 0xa0]
call fcn.0040fb00
mov rcx, qword [0x004d6fc0]
mov dl, 1
call fcn.005167c0
mov rdi, rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov qword [rax + 0x98], rdi
mov rcx, qword [0x00815000]
mov dl, 1
call fcn.0082eb00
mov rdi, rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov qword [rax + 0xa0], rdi
test rbx, rbx
je 0x81e424
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov rdi, rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x13c]
call fcn.0043ded0
mov rax, qword [rdi + 0x98]
mov rcx, rax
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rax]
call qword [rax + 0x78]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov rcx, qword [rax + 0xa0]
call fcn.0082eaf0
mov rdi, rax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x13c]
call fcn.0043ded0
lea rcx, [rdi + 0x20]
mov rdx, qword [rbp + 0x98]
call fcn.004133a0
mov eax, dword [rbp + 0x110]
mov dword [rdi + 0x18], eax
mov eax, dword [rbp + 0x130]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp + 0x12c]
mov dword [rdi + 0x2c], eax
mov rax, qword [rbp + 0x124]
mov qword [rdi + 0x30], rax
xor edi, edi
jmp 0x81e405
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov r13, rax
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x13c]
call fcn.0043ded0
mov rax, qword [r13 + 0x98]
mov rcx, rax
mov rdx, qword [rbp + 0x90]
mov rax, qword [rax]
call qword [rax + 0x78]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0x150]
mov edx, dword [rbp + 0x60]
call fcn.0082e620
mov rcx, qword [rax + 0xa0]
call fcn.0082eaf0
mov r13, rax
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x13c]
call fcn.0043ded0
lea rcx, [r13 + 0x20]
mov rdx, qword [rbp + 0x88]
call fcn.004133a0
mov eax, dword [rbp + 0x110]
mov dword [r13 + 0x18], eax
mov eax, dword [rbp + 0x130]
mov dword [r13 + 0x28], eax
mov eax, dword [rbp + 0x12c]
mov dword [r13 + 0x2c], eax
mov rax, qword [rbp + 0x124]
mov qword [r13 + 0x30], rax
lea rcx, [rbp + 0x78]
mov edx, edi
add edx, 1
call fcn.0043bfe0
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x13c]
call fcn.0043ded0
lea rcx, [rbp + 0x80]
mov edx, 3
mov r8, qword [rbp + 0x78]
lea r9, [0x0081e5d8]
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.00414a50
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax + 0xa0]
mov rdx, qword [rbp + 0x80]
call fcn.00602260
mov rcx, rbx
lea rdx, [rbp + 0x110]
call sub.wininet.dll_InternetFindNextFileW
test eax, eax
jne 0x81e2fd
mov rcx, rbx
call sub.wininet.dll_InternetCloseHandle
cmp byte [rbp + 0x400], 0
jne 0x81e448
mov rcx, qword [rbp + 0x68]
call sub.wininet.dll_InternetCloseHandle
mov rax, qword [rbp + 0x58]
lea rcx, [rax + 0x2d8]
call fcn.00412d10
jmp 0x81e482
test sil, sil
je 0x81e482
cmp qword [rbp + 0x108], 0
jne 0x81e46a
lea rcx, [rbp + 0x108]
lea rdx, [0x0081e654]
call fcn.00413430
mov rcx, qword [rbp + 0x108]
call fcn.00414500
mov rcx, qword [rbp + 0x68]
mov rdx, rax
call sub.wininet.dll_FtpSetCurrentDirectoryW
mov al, 1
mov byte [rbp + 0x67], al
nop
lea rcx, [rbp + 0x70]
mov edx, 0xa
call fcn.00412df0
lea rcx, [rbp + 0xc0]
call fcn.00412d10
lea rcx, [rbp + 0xc8]
mov edx, 2
call fcn.00412df0
lea rcx, [rbp + 0xd8]
call fcn.00412d10
lea rcx, [rbp + 0xe0]
mov edx, 4
call fcn.00412df0
lea rcx, [rbp + 0x108]
call fcn.00412d10
lea rcx, [rbp + 0x360]
mov edx, 2
call fcn.00412df0
lea rcx, [rbp + 0x3b0]
mov edx, 3
call fcn.00412df0
lea rcx, [rbp + 0x3d0]
mov edx, 3
call fcn.00412df0
movzx rax, byte [rbp + 0x67]
lea rsp, [rbp + 0x370]
pop rbx
pop rsi
pop rdi
pop r13
pop rbp
ret