Function at 0x1400329d0
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x2308
call fcn.140092730
sub rsp, rax
mov r12, r8
mov r15, rdx
mov r13, rcx
mov rcx, qword [rdx]
cmp dword [rcx + 0x30], 2
jne 0x1400329ff
xor eax, eax
jmp 0x140032a52
mov rax, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x28]
mov r8, qword [rcx + 0x60]
mov r9, qword [rcx + 0x68]
mov rdi, r9
sub rdi, r8
jb 0x140032a40
test r8, r8
je 0x140032a2f
cmp r8, rdx
jae 0x140032a2a
cmp byte [rax + r8], 0xc0
jge 0x140032a2f
jmp 0x140032a40
cmp rdx, r8
jne 0x140032a40
test r9, r9
je 0x140032a4f
cmp r9, rdx
jae 0x140032a4a
cmp byte [rax + r9], 0xbf
jg 0x140032a4f
mov rcx, rax
call fcn.140094a0f
ud2
cmp rdx, r9
jne 0x140032a40
add rax, r8
test rax, rax
lea rsi, [0x14043e2d0]
cmovne rsi, rax
cmove rdi, rax
call fcn.14002371e
cmp dword [r15 + 0x68], 1
jne 0x140032aab
mov rcx, qword [r15 + 0x70]
mov edx, dword [r15 + 0x78]
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x308]
mov rdx, rsi
mov r8, rdi
mov r9d, eax
call fcn.140034680
cmp dword [rsp + 0x308], 1
jne 0x140032b00
movups xmm0, xmmword [rsp + 0x310]
jmp 0x140032aea
mov qword [rsp + 0x308], rsi
mov qword [rsp + 0x310], rdi
mov word [rsp + 0x318], ax
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x308]
call fcn.1400343b0
cmp dword [rsp + 0x100], 1
jne 0x140032b1b
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
jmp 0x140033322
mov r14, qword [rsp + 0x310]
mov qword [rsp + 0x48], r14
xor ecx, ecx
cmp qword [r15 + 0x80], 1
je 0x140032b34
jmp 0x140032b93
mov r14, qword [rsp + 0x108]
mov qword [rsp + 0x48], r14
xor ecx, ecx
cmp qword [r15 + 0x80], 1
jne 0x140032b93
mov eax, 0x3e8
mul qword [r15 + 0x88]
mov ecx, 0xffffffff
jo 0x140032b93
mov edx, dword [r15 + 0x90]
mov ebp, edx
imul rbp, rbp, 0x431bde83
shr rbp, 0x32
add rax, rbp
jb 0x140032b93
imul edx, edx, 0x68c26139
ror edx, 6
xor ebp, ebp
cmp edx, 0x10c7
setae bpl
lea rbx, [rax + rbp]
mov edx, 0xffffffff
cmp rbx, rdx
cmovb edx, ebx
add rax, rbp
jb 0x140032b93
mov ecx, edx
test edx, edx
je 0x14003319d
mov dword [rsp + 0x308], ecx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x308]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1006
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140032bc7
mov dl, 4
jmp 0x140032bd7
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov ecx, eax
shl rcx, 0x18
xor eax, eax
xor edx, edx
shld rax, rcx, 8
shl rcx, 8
movzx edx, dl
or rdx, rcx
cmp dl, 4
jne 0x140033305
xor ecx, ecx
cmp qword [r15 + 0x98], 1
jne 0x140032c5a
mov eax, 0x3e8
mul qword [r15 + 0xa0]
mov ecx, 0xffffffff
jo 0x140032c5a
mov edx, dword [r15 + 0xa8]
mov ebp, edx
imul rbp, rbp, 0x431bde83
shr rbp, 0x32
add rax, rbp
jb 0x140032c5a
imul edx, edx, 0x68c26139
ror edx, 6
xor ebp, ebp
cmp edx, 0x10c7
setae bpl
lea rbx, [rax + rbp]
mov edx, 0xffffffff
cmp rbx, rdx
cmovb edx, ebx
add rax, rbp
jb 0x140032c5a
mov ecx, edx
test edx, edx
je 0x1400332f0
mov dword [rsp + 0x308], ecx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x308]
mov rcx, r14
mov edx, 0xffff
mov r8d, 0x1005
call qword [sym.imp.ws2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x140032c8e
mov dl, 4
jmp 0x140032c9e
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov ecx, eax
shl rcx, 0x18
xor eax, eax
xor edx, edx
shld rax, rcx, 8
shl rcx, 8
movzx edx, dl
or rdx, rcx
cmp dl, 4
jne 0x140033305
mov rax, qword [r15]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, r9
sub rax, r8
jb 0x140032cf9
test r8, r8
je 0x140032ce8
cmp r8, rdx
jae 0x140032ce3
cmp byte [rcx + r8], 0xc0
jge 0x140032ce8
jmp 0x140032cf9
cmp rdx, r8
jne 0x140032cf9
test r9, r9
je 0x140032d05
cmp r9, rdx
jae 0x140032d00
cmp byte [rcx + r9], 0xbf
jg 0x140032d05
call fcn.140094a0f
ud2
cmp rdx, r9
jne 0x140032cf9
cmp rax, 5
jne 0x140032d25
mov eax, 0x70747468
xor eax, dword [rcx + r8]
movzx ecx, byte [rcx + r8 + 4]
xor ecx, 0x73
or ecx, eax
je 0x140032fe3
lea rcx, [rsp + 0x308]
mov rdx, r15
call fcn.140023833
mov rsi, qword [rsp + 0x308]
mov r8, qword [rsp + 0x318]
lea rcx, [rsp + 0x48]
mov rdx, rsi
call fcn.140034e70
cmp al, 4
jne 0x140032da0
cmp qword [rsp + 0x310], 0
je 0x140032d77
test rsi, rsi
je 0x140032d77
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp dword [r15 + 0x48], 1
jne 0x140032de7
mov rsi, qword [r15 + 0x50]
mov edi, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rsi
jb 0x140033fc7
add edi, edx
cmp edi, 0x3b9aca00
jae 0x140032e02
jmp 0x140032e11
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
cmp qword [rsp + 0x310], 0
je 0x1400339b2
test rsi, rsi
je 0x1400339b2
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0x48]
jmp 0x14003331c
call fcn.14008fea3
add rax, 0x168
jb 0x140033fc7
mov edi, edx
cmp edi, 0x3b9aca00
jb 0x140032e11
inc rax
je 0x140033fc7
add edi, 0xc4653600
lea rbp, [rsp + 0x308]
lea rsi, [rsp + 0x48]
mov rcx, rbp
mov rdx, rsi
mov r8, rax
mov r9d, edi
call fcn.140034f50
cmp dword [rsp + 0x308], 1
jne 0x140032e6d
movups xmm0, xmmword [rbp + 8]
movups xmm1, xmmword [rbp + 0x18]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 1
mov rcx, qword [rsp + 0x48]
jmp 0x14003331c
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x160], rax
movups xmm0, xmmword [rbp + 0x58]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rbp + 0x48]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rbp + 8]
movups xmm1, xmmword [rbp + 0x18]
movups xmm2, xmmword [rbp + 0x28]
movups xmm3, xmmword [rbp + 0x38]
movaps xmmword [rsp + 0x130], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov rbx, qword [rsp + 0x378]
mov rbp, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x388]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x260], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x250], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x240], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movaps xmm3, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x230], xmm3
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
cmp byte [r15 + 0x60], 1
jne 0x1400330cf
mov rax, qword [rsp + 0x260]
mov qword [r13 + 0x68], rax
movaps xmm0, xmmword [rsp + 0x250]
movups xmmword [r13 + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x240]
movups xmmword [r13 + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movups xmmword [r13 + 0x38], xmm3
movups xmmword [r13 + 0x28], xmm2
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 0
test rbp, rbp
je 0x1400339b2
test rbx, rbx
je 0x1400339b2
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0x48]
jmp 0x14003331c
mov rax, qword [0x14043d8b0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x70], rax
mov r8, qword [r15 + 0xb0]
test r8, r8
je 0x1400331b7
mov r9, qword [r15 + 0xb8]
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x70]
call fcn.140025755
cmp dword [rsp + 0x308], 1
mov rdx, qword [rsp + 0x310]
jne 0x1400331bc
mov rax, qword [rsp + 0x328]
mov qword [r13 + 0x20], rax
movups xmm0, xmmword [rsp + 0x318]
movups xmmword [r13 + 0x10], xmm0
mov qword [r13 + 8], rdx
mov qword [r13], 1
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x14003308a
shl rdi, 3
xor ebx, ebx
mov rcx, qword [rsi + rbx]
call sub.crypt32.dll_CertFreeCertificateContext
add rbx, 8
cmp rdi, rbx
jne 0x140033073
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140033319
test rsi, rsi
je 0x140033319
movabs rcx, 0x1fffffffffffffff
and rax, rcx
je 0x140033319
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r14, qword [rsp + 0x48]
jmp 0x140033319
lea r14, [rsp + 0x238]
lea rdx, [0x1403e9f87]
mov r8d, 0x11
mov rcx, r14
call fcn.140034150
test rax, rax
je 0x140033112
cmp qword [rax + 0x10], 7
jne 0x140033112
mov rax, qword [rax]
mov ecx, 0x6e756863
xor ecx, dword [rax]
mov edx, 0x64656b6e
xor edx, dword [rax + 3]
or edx, ecx
je 0x140033748
mov rax, qword [r12 + 8]
mov rsi, qword [r12 + 0x10]
sub rax, rsi
cmp rax, rdi
jb 0x140033a39
mov rax, qword [r12]
mov qword [rsp + 0x40], rax
lea rcx, [rax + rsi]
mov rdx, rbx
mov r8, rdi
call fcn.1400931b0
add rsi, rdi
mov qword [r12 + 0x10], rsi
cmp dword [r15 + 0x48], 1
jne 0x140033337
mov rdi, qword [r15 + 0x50]
mov r14d, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rdi
jb 0x140033fc7
add r14d, edx
cmp r14d, 0x3b9aca00
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbp
jb 0x1400333f6
inc rax
je 0x140033fc7
mov qword [rsp + 0x50], rax
add r14d, 0xc4653600
jmp 0x1400333fb
lea rax, str.cannot_set_a_0_duration_timeout
mov edx, 0x1402
cmp dl, 4
je 0x140032bef
jmp 0x140033305
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x308]
mov r8, rsi
mov r9, rdi
call fcn.140036700
cmp dword [rsp + 0x308], 1
lea rsi, [rsp + 0x310]
jne 0x140033242
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 1
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x140033d7c
shl rdi, 3
xor ebx, ebx
mov rcx, qword [rsi + rbx]
call sub.crypt32.dll_CertFreeCertificateContext
add rbx, 8
cmp rdi, rbx
jne 0x14003322b
jmp 0x140033d77
lea rdi, [rsp + 0x100]
mov r8d, 0x100
mov rcx, rdi
mov rdx, rsi
call fcn.1400931b0
lea rbp, [rsp + 0x200]
mov r8d, 0x100
mov rcx, rbp
mov rdx, rdi
call fcn.1400931b0
lea rcx, [rsp + 0x308]
mov rdx, r15
call fcn.140023833
mov rdi, qword [rsp + 0x308]
mov r8, qword [rsp + 0x318]
mov rcx, rbp
mov rdx, rdi
call fcn.140037910
cmp al, 4
jne 0x140033373
cmp qword [rsp + 0x310], 0
je 0x1400332c8
test rdi, rdi
je 0x1400332c8
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp dword [r15 + 0x48], 1
jne 0x140033558
mov rbx, qword [r15 + 0x50]
mov edi, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rbx
jb 0x140033fc7
add edi, edx
jmp 0x14003356b
lea rax, str.cannot_set_a_0_duration_timeout
mov edx, 0x1402
cmp dl, 4
je 0x140032cb6
mov qword [r13 + 0x10], rdx
mov qword [r13 + 0x18], rax
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
mov rcx, r14
call qword [sym.imp.ws2_32.dll_closesocket]
nop
add rsp, 0x2308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x200]
call fcn.140025564
test rax, rax
je 0x1400333b5
mov r8, rdx
test rdx, rdx
je 0x1400333b5
sub r8, rdi
lea rcx, [rsp + 0x48]
mov rdx, r12
call fcn.14003c330
cmp al, 4
je 0x140032f54
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
jmp 0x1400333e5
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
cmp qword [rsp + 0x310], 0
je 0x140033d40
test rdi, rdi
je 0x140033d40
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x140033d40
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x48]
mov r8, r12
call fcn.14003c1f0
cmp dword [rsp + 0x308], 1
jne 0x140032f54
movups xmm0, xmmword [rsp + 0x310]
movups xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
jmp 0x140033943
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x308]
mov r8d, 0x2000
mov rcx, rbx
xor edx, edx
call fcn.140092ff0
mov r15, qword [sym.imp.ws2_32.dll_recv]
mov rdi, qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov r8d, 0x2000
xor r9d, r9d
call r15
cmp eax, 0xffffffff
jne 0x140033460
call rdi
cmp eax, 0x274a
je 0x14003350f
mov ebp, eax
mov ecx, eax
call fcn.140084604
cmp al, 0x23
je 0x140033428
jmp 0x14003351e
movsxd rbp, eax
test rbp, rbp
je 0x14003350f
cmp rbp, 0x2001
jae 0x140033fc7
mov rax, qword [r12 + 8]
sub rax, rsi
cmp rax, rbp
jb 0x1400334ee
mov rax, qword [rsp + 0x40]
lea rcx, [rax + rsi]
mov rdx, rbx
mov r8, rbp
call fcn.1400931b0
add rsi, rbp
mov qword [r12 + 0x10], rsi
mov rax, qword [rsp + 0x38]
add rax, 1
mov ecx, 0
cmp rax, 0x64
cmovne rcx, rax
mov qword [rsp + 0x38], rcx
jne 0x140033428
call fcn.14008fea3
xor ecx, ecx
cmp rax, qword [rsp + 0x50]
setne cl
mov eax, 0xff
cmovb ecx, eax
cmp edx, r14d
sbb eax, eax
test cl, cl
cmovne eax, ecx
cmp al, 1
ja 0x140033428
jmp 0x14003350f
mov rcx, r12
mov rdx, rsi
mov r8, rbp
call fcn.1400945d0
mov rax, qword [r12]
mov qword [rsp + 0x40], rax
mov rsi, qword [r12 + 0x10]
jmp 0x140033486
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
jmp 0x140032f54
shl rbp, 0x20
mov qword [r13 + 0x10], rbp
mov qword [r13 + 0x18], 0
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
cmp qword [rsp + 0x58], 0
mov rbx, qword [rsp + 0x60]
lea r14, [rsp + 0x238]
jne 0x140033948
jmp 0x14003395e
call fcn.14008fea3
add rax, 0x168
jb 0x140033fc7
mov edi, edx
cmp edi, 0x3b9aca00
jb 0x140033582
inc rax
je 0x140033fc7
add edi, 0xc4653600
lea rcx, [rsp + 0x308]
lea rbp, [rsp + 0x200]
mov rdx, rbp
mov r8, rax
mov r9d, edi
call fcn.140037da0
cmp dword [rsp + 0x308], 1
jne 0x1400335d8
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 1
jmp 0x140033d40
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x160], rax
movups xmm0, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0x130], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov rbx, qword [rsp + 0x378]
mov r14, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x388]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movaps xmm3, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
cmp byte [r15 + 0x60], 1
jne 0x140033819
mov rax, qword [rsp + 0xf0]
mov qword [r13 + 0x68], rax
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [r13 + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [r13 + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
movups xmmword [r13 + 0x38], xmm3
movups xmmword [r13 + 0x28], xmm2
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 0
test r14, r14
je 0x140033d40
test rbx, rbx
je 0x140033d40
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
jmp 0x140033d40
mov ecx, 0x2000
mov edx, 1
call fcn.14000bb90
test rax, rax
je 0x140033fcb
mov qword [rsp + 0x320], rbx
mov qword [rsp + 0x328], rdi
mov qword [rsp + 0x330], rsi
mov byte [rsp + 0x338], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x35a], xmm0
movups xmmword [rsp + 0x350], xmm0
mov byte [rsp + 0x308], 4
mov qword [rsp + 0x318], 0
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], 0x2000
cmp dword [r15 + 0x48], 1
jne 0x1400338ec
mov rdi, qword [r15 + 0x50]
mov esi, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rdi
jb 0x140033fc7
add esi, edx
cmp esi, 0x3b9aca00
jb 0x1400337f5
inc rax
je 0x140033fc7
add esi, 0xc4653600
mov dword [rsp + 0x20], esi
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x308]
mov r8, r12
mov r9, rax
call fcn.14003bd00
jmp 0x140033904
lea rsi, [rsp + 0xc8]
lea rdx, [0x1403e9f87]
mov r8d, 0x11
mov rcx, rsi
call fcn.140034150
test rax, rax
je 0x14003385c
cmp qword [rax + 0x10], 7
jne 0x14003385c
mov rax, qword [rax]
mov ecx, 0x6e756863
xor ecx, dword [rax]
mov edx, 0x64656b6e
xor edx, dword [rax + 3]
or edx, ecx
je 0x140033dbc
mov rax, qword [r12 + 8]
mov rbp, qword [r12 + 0x10]
sub rax, rbp
cmp rax, rdi
jb 0x140033fa0
mov rax, qword [r12]
mov qword [rsp + 0x60], rax
lea rcx, [rax + rbp]
mov rdx, rbx
mov r8, rdi
call fcn.1400931b0
add rbp, rdi
mov qword [r12 + 0x10], rbp
cmp dword [r15 + 0x48], 1
jne 0x140033a51
mov rsi, qword [r15 + 0x50]
mov edi, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rsi
jb 0x140033fc7
add edi, edx
cmp edi, 0x3b9aca00
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], rbp
jb 0x140033add
inc rax
je 0x140033fc7
mov qword [rsp + 0x88], rax
add edi, 0xc4653600
jmp 0x140033ae5
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x308]
mov r8, r12
call fcn.14003bf60
cmp dword [rsp + 0x100], 1
jne 0x1400339bc
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rcx
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
lea rcx, [rsp + 0x308]
call fcn.14003c170
test rbp, rbp
je 0x14003395e
test rbx, rbx
je 0x14003395e
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x208], 0
je 0x140033984
mov r8, qword [rsp + 0x200]
test r8, r8
je 0x140033984
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x220], 0
je 0x1400339aa
mov r8, qword [rsp + 0x218]
test r8, r8
je 0x1400339aa
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, r14
call fcn.140033ff0
mov rcx, qword [rsp + 0x48]
jmp 0x14003331c
mov rax, qword [rsp + 0x260]
mov qword [r13 + 0x68], rax
movaps xmm0, xmmword [rsp + 0x250]
movups xmmword [r13 + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x240]
movups xmmword [r13 + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movups xmmword [r13 + 0x38], xmm3
movups xmmword [r13 + 0x28], xmm2
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 0
lea rcx, [rsp + 0x308]
call fcn.14003c170
test rbp, rbp
jne 0x140032fbf
jmp 0x1400339b2
mov rcx, r12
mov rdx, rsi
mov r8, rdi
call fcn.1400945d0
mov rsi, qword [r12 + 0x10]
jmp 0x140033128
lea rcx, [rsp + 0x90]
call fcn.140025564
test rax, rax
je 0x140033a90
mov r8, rdx
test rdx, rdx
je 0x140033a90
sub r8, rdi
lea rcx, [rsp + 0x200]
mov rdx, r12
call fcn.14003cab0
cmp al, 4
je 0x1400336be
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rdx
jmp 0x140033ac3
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x200]
mov r8, r12
call fcn.14003c8a0
cmp dword [rsp + 0x308], 1
jne 0x1400336be
movups xmm0, xmmword [rsp + 0x310]
movups xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
test r14, r14
jne 0x140033cd6
jmp 0x140033cec
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x6c], edi
xor eax, eax
mov qword [rsp + 0x58], rax
lea rsi, [rsp + 0x308]
mov r8d, 0x2000
mov rcx, rsi
xor edx, edx
call fcn.140092ff0
lea rbp, [rsp + 0x100]
lea r15, [rsp + 0x200]
lea r14, [0x140033fdc]
jmp 0x140033b40
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov r9d, 0x2000
mov rcx, rbp
mov rdx, r15
mov r8, rsi
call fcn.1400393c0
cmp dword [rsp + 0x100], 1
jne case.default.0x140033b70
movzx ebx, byte [rsp + 0x108]
movzx eax, bl
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
movzx eax, byte [rsp + 0x109]
jmp 0x140033b96
mov ecx, dword [rsp + 0x10c]
call fcn.140084604
jmp 0x140033b96
cmp al, 0x23
jne 0x140033ca8
cmp bl, 3
jne 0x140033b40
mov rdi, qword [rsp + 0x110]
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
call qword [rax]
mov rax, qword [rdi + 8]
cmp qword [rax + 8], 0
je 0x140033b2f
mov r8, qword [rdi]
cmp qword [rax + 0x10], 0x11
jb 0x140033b21
mov r8, qword [r8 - 8]
jmp 0x140033b21
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x140033fb8
cmp rdi, 0x2001
jae 0x140033fc7
mov rax, qword [r12 + 8]
sub rax, qword [rsp + 0x40]
cmp rax, rdi
jb 0x140033c80
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
lea rcx, [rax + rbx]
mov rdx, rsi
mov r8, rdi
call fcn.1400931b0
add rbx, rdi
mov qword [rsp + 0x40], rbx
mov qword [r12 + 0x10], rbx
mov rax, qword [rsp + 0x58]
add rax, 1
mov ecx, 0
cmp rax, 0x64
cmovne rcx, rax
mov qword [rsp + 0x58], rcx
jne 0x140033b40
call fcn.14008fea3
xor ecx, ecx
cmp rax, qword [rsp + 0x88]
setne cl
mov eax, 0xff
cmovb ecx, eax
cmp edx, dword [rsp + 0x6c]
sbb eax, eax
test cl, cl
cmovne eax, ecx
cmp al, 1
ja 0x140033b40
jmp 0x140033fb8
mov rcx, r12
mov rdx, qword [rsp + 0x40]
mov r8, rdi
call fcn.1400945d0
mov rax, qword [r12]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x40], rax
jmp 0x140033c07
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
cmp qword [rsp + 0x38], 0
mov rbx, qword [rsp + 0x50]
lea rsi, [rsp + 0xc8]
je 0x140033cec
test rbx, rbx
je 0x140033cec
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x98], 0
je 0x140033d12
mov r8, qword [rsp + 0x90]
test r8, r8
je 0x140033d12
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xb0], 0
je 0x140033d38
mov r8, qword [rsp + 0xa8]
test r8, r8
je 0x140033d38
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, rsi
call fcn.140033ff0
lea rcx, [rsp + 0x200]
call fcn.140039650
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x140033d7c
shl rdi, 3
xor ebx, ebx
mov rcx, qword [rsi + rbx]
call sub.crypt32.dll_CertFreeCertificateContext
add rbx, 8
cmp rdi, rbx
jne 0x140033d65
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140033322
test rsi, rsi
je 0x140033322
movabs rcx, 0x1fffffffffffffff
and rax, rcx
je 0x140033322
mov rcx, qword [0x140443578]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x140033322
mov qword [rsp + 0x38], r14
mov ecx, 0x2000
mov edx, 1
call fcn.14000bb90
test rax, rax
je 0x140033fcb
mov r14, rbx
mov qword [rsp + 0x320], rbx
mov qword [rsp + 0x328], rdi
mov qword [rsp + 0x330], rbp
mov byte [rsp + 0x338], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x35a], xmm0
movups xmmword [rsp + 0x350], xmm0
mov byte [rsp + 0x308], 4
mov qword [rsp + 0x318], 0
mov qword [rsp + 0x340], rax
mov qword [rsp + 0x348], 0x2000
cmp dword [r15 + 0x48], 1
jne 0x140033e8e
mov rdi, qword [r15 + 0x50]
mov esi, dword [r15 + 0x58]
call fcn.14008fea3
add rax, rdi
jb 0x140033fc7
add esi, edx
cmp esi, 0x3b9aca00
jb 0x140033e6d
inc rax
je 0x140033fc7
add esi, 0xc4653600
mov dword [rsp + 0x20], esi
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x308]
mov r8, r12
mov r9, rax
call fcn.14003c430
jmp 0x140033ea6
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x308]
mov r8, r12
call fcn.14003c690
cmp dword [rsp + 0x100], 1
jne 0x140033f06
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rcx
movaps xmm0, xmmword [0x1400988e0]
movups xmmword [r13], xmm0
lea rcx, [rsp + 0x308]
call fcn.14003c170
cmp qword [rsp + 0x38], 0
lea rsi, [rsp + 0xc8]
je 0x140033cec
mov rbx, r14
test rbx, rbx
jne 0x140033cdb
jmp 0x140033cec
mov rax, qword [rsp + 0xf0]
mov qword [r13 + 0x68], rax
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [r13 + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [r13 + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
movups xmmword [r13 + 0x38], xmm3
movups xmmword [r13 + 0x28], xmm2
movups xmmword [r13 + 0x18], xmm1
movups xmmword [r13 + 8], xmm0
mov qword [r13], 0
lea rcx, [rsp + 0x308]
call fcn.14003c170
cmp qword [rsp + 0x38], 0
je 0x140033d40
mov r8, r14
test r14, r14
je 0x140033d40
mov rcx, qword [0x140443578]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140033d40
mov rcx, r12
mov rdx, rbp
mov r8, rdi
call fcn.1400945d0
mov rbp, qword [r12 + 0x10]
jmp 0x140033872
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
jmp 0x1400336be
ud2
mov ecx, 0x2000
mov edx, 1
call fcn.1400949bf
ud2