Function at 0x18000a970
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rsi
push r12
push r14
mov eax, 0xc0
call fcn.18017e6d0
sub rsp, rax
mov r12, rcx
xor ecx, ecx
mov r14d, 1
movzx eax, byte [r12]
mov rsi, r9
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0xe0], r14d
test al, al
je 0x18000af37
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], r15
cmp al, 0x2d
jne 0x18000a9f5
mov edi, 3
inc r12
mov dword [rsp + 0x74], edi
jmp 0x18000aa54
cmp al, 0x2b
jne 0x18000aa07
mov edi, 4
inc r12
mov dword [rsp + 0x74], edi
jmp 0x18000aa54
cmp al, 0x21
jne 0x18000aa19
mov edi, 2
inc r12
mov dword [rsp + 0x74], edi
jmp 0x18000aa54
cmp al, 0x40
jne 0x18000aa2b
mov edi, 5
inc r12
mov dword [rsp + 0x74], edi
jmp 0x18000aa54
mov edi, 1
mov dword [rsp + 0x74], edi
cmp al, 0x3a
je 0x18000aeef
cmp al, 0x20
je 0x18000aeef
cmp al, 0x3b
je 0x18000aeef
cmp al, 0x2c
je 0x18000aeef
xor r10d, r10d
xor r11d, r11d
xor r9d, r9d
xor ebx, ebx
xor edx, edx
xor r8d, r8d
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x6c], ebx
mov dword [rsp + 0x60], edx
mov rcx, r12
xor r15d, r15d
xor ebp, ebp
mov qword [rsp + 0x80], rcx
movzx eax, byte [r12]
cmp al, 0x41
jl 0x18000aa9d
cmp al, 0x5a
jle 0x18000aab9
cmp al, 0x30
jl 0x18000aaa5
cmp al, 0x39
jle 0x18000aab9
cmp al, 0x61
jl 0x18000aaad
cmp al, 0x7a
jle 0x18000aab9
cmp al, 0x2d
je 0x18000aab9
cmp al, 0x2e
je 0x18000aab9
cmp al, 0x3d
jne 0x18000aac4
inc r12
inc r15d
inc rbp
jmp 0x18000aa90
test r15d, r15d
je 0x18000ad72
cmp edi, 5
je 0x18000adca
cmp al, 0x2b
jne 0x18000aae5
mov r14d, 1
inc r12
jmp 0x18000aae8
xor r14d, r14d
xor edi, edi
xor r13d, r13d
mov dword [rsp + 0x88], edi
cmp qword [rsi], rdi
je 0x18000abc9
mov rbx, qword [rsp + 0xf8]
movsxd rsi, r15d
nop dword [rax + rax]
mov rdx, qword [rbx]
mov r8, rsi
mov rdx, qword [rdx + 8]
call fcn.18017c6e0
test eax, eax
jne 0x18000ab30
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
cmp byte [rcx + rbp], r13b
je 0x18000ab6e
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x80]
inc rdi
cmp qword [rax + rdi*8], r13
lea rbx, [rax + rdi*8]
jne 0x18000ab10
mov r8d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x60]
mov rsi, rax
jmp 0x18000abc9
mov rsi, qword [rsp + 0xf8]
mov r10d, dword [rsp + 0x78]
mov r13d, 1
mov rdx, qword [rsi + rdi*8]
mov eax, dword [rdx + 0x1c]
test eax, eax
je 0x18000ac43
test r10d, r10d
je 0x18000ac3c
and r10d, eax
mov dword [rsp + 0x78], r10d
jne 0x18000ac43
mov r8d, dword [rsp + 0x64]
mov r11d, dword [rsp + 0x70]
xor r13d, r13d
mov r9d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xe0]
mov eax, dword [rsp + 0x74]
cmp eax, 5
je 0x18000add2
test r13d, r13d
je 0x18000aeb4
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], edx
mov edx, r10d
mov r8d, r11d
mov dword [rsp + 0x20], ebx
call fcn.18000a460
cmp byte [r12], 0
je 0x18000aeff
jmp 0x18000aef2
mov r10d, eax
mov dword [rsp + 0x78], eax
mov eax, dword [rdx + 0x20]
mov r11d, dword [rsp + 0x70]
test eax, eax
je 0x18000ac72
test r11d, r11d
je 0x18000ac6b
and r11d, eax
mov dword [rsp + 0x70], r11d
jne 0x18000ac72
mov r8d, dword [rsp + 0x64]
xor r13d, r13d
jmp 0x18000abb4
mov r11d, eax
mov dword [rsp + 0x70], eax
mov eax, dword [rdx + 0x24]
mov r9d, dword [rsp + 0x68]
test eax, eax
je 0x18000aca1
test r9d, r9d
je 0x18000ac9a
and r9d, eax
mov dword [rsp + 0x68], r9d
jne 0x18000aca1
mov r8d, dword [rsp + 0x64]
xor r13d, r13d
jmp 0x18000abb9
mov r9d, eax
mov dword [rsp + 0x68], eax
mov eax, dword [rdx + 0x28]
mov ebx, dword [rsp + 0x6c]
test eax, eax
je 0x18000accb
test ebx, ebx
je 0x18000acc5
and ebx, eax
mov dword [rsp + 0x6c], ebx
jne 0x18000accb
mov r8d, dword [rsp + 0x64]
xor r13d, r13d
jmp 0x18000abbd
mov ebx, eax
mov dword [rsp + 0x6c], eax
mov ecx, dword [rdx + 0x3c]
mov r8d, dword [rsp + 0x64]
mov eax, ecx
and eax, 0x1f
je 0x18000ad02
test r8b, 0x1f
je 0x18000acfb
mov eax, ecx
or eax, 0xffffffe0
and r8d, eax
mov dword [rsp + 0x64], r8d
test r8b, 0x1f
jne 0x18000ad02
xor r13d, r13d
jmp 0x18000abbd
mov r8d, eax
mov dword [rsp + 0x64], eax
mov eax, ecx
and eax, 0x20
je 0x18000ad2a
test r8b, 0x20
je 0x18000ad22
or ecx, 0xffffffdf
and r8d, ecx
mov dword [rsp + 0x64], r8d
test r8b, 0x20
je 0x18000acf3
jmp 0x18000ad2a
or r8d, eax
mov dword [rsp + 0x64], r8d
cmp dword [rdx], 0
je 0x18000ad4f
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x88], eax
mov edx, dword [rsp + 0x60]
test r14d, r14d
je 0x18000abc1
mov edi, dword [rsp + 0x74]
jmp 0x18000aa80
mov eax, dword [rdx + 0x2c]
test eax, eax
je 0x18000ad39
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x18000ad62
cmp edx, eax
jne 0x18000ad6a
mov edx, eax
mov dword [rsp + 0x60], eax
jmp 0x18000ad3d
xor r13d, r13d
jmp 0x18000abc1
mov edx, 0xe6
lea r9, str.ssl_ssl_ciph.c
mov ecx, reloc.WS2_32.dll_sendto
lea r8d, [rdx + 0x32]
mov dword [rsp + 0x20], 0x404
call fcn.1800493f0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x80]
mov r10d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x60]
xor r14d, r14d
xor r13d, r13d
mov dword [rsp + 0xe0], r14d
inc r12
jmp 0x18000abd1
mov r14d, dword [rsp + 0xe0]
cmp r15d, 8
jne 0x18000ae06
lea rdx, str.STRENGTH
mov r8d, r15d
call fcn.18017c6e0
test eax, eax
jne 0x18000ae4e
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe8]
call fcn.18000a7d0
test eax, eax
jne 0x18000ae7c
jmp 0x18000ae71
cmp r15d, 0xa
jne 0x18000ae4e
lea r8d, [r15 - 1]
lea rdx, str.SECLEVEL
call fcn.18017c6e0
test eax, eax
jne 0x18000ae4e
mov rax, qword [rsp + 0x80]
movsx eax, byte [rax + 9]
sub eax, 0x30
cmp eax, 5
ja 0x18000ae44
mov rcx, qword [rsp + 0x100]
mov dword [rcx + 0x1f0], eax
jmp 0x18000ae7c
mov dword [rsp + 0x20], 0x4a3
jmp 0x18000ae56
mov dword [rsp + 0x20], 0x4a9
mov r8d, 0x118
lea r9, str.ssl_ssl_ciph.c
mov ecx, reloc.WS2_32.dll_sendto
lea edx, [r8 - 0x32]
call fcn.1800493f0
xor r14d, r14d
mov dword [rsp + 0xe0], r14d
movzx eax, byte [r12]
test al, al
je 0x18000aeff
cmp al, 0x3a
je 0x18000ac2c
cmp al, 0x20
je 0x18000ac2c
cmp al, 0x3b
je 0x18000ac2c
cmp al, 0x2c
je 0x18000ac2c
movzx eax, byte [r12 + 1]
inc r12
test al, al
jne 0x18000ae85
jmp 0x18000aeff
movzx eax, byte [r12]
test al, al
je 0x18000aeff
nop dword [rax]
cmp al, 0x3a
je 0x18000ac2c
cmp al, 0x20
je 0x18000ac2c
cmp al, 0x3b
je 0x18000ac2c
cmp al, 0x2c
je 0x18000ac2c
movzx eax, byte [r12 + 1]
inc r12
test al, al
jne 0x18000aec0
jmp 0x18000aeff
inc r12
movzx eax, byte [r12]
test al, al
jne 0x18000a9e3
mov r13, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x98]
mov eax, r14d
add rsp, 0xc0
pop r14
pop r12
pop rsi
ret
mov eax, r14d
add rsp, 0xc0
pop r14
pop r12
pop rsi
ret