Function at 0x14014cb60
Capabilities:
Resume thread
Suspend thread

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x28a0
call fcn.14037c5f0
sub rsp, rax
lea rdi, [rsp + 0x50]
mov ecx, 0xa14
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x28b0]
mov rax, qword [0x140575740]
xor rax, rsp
mov qword [rsp + 0x2898], rax
mov byte [rsp + 0x2840], 0
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x28b0]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x21e4], 0
mov r8d, 0x108
xor edx, edx
lea rcx, [rsp + 0x20b0]
call fcn.140410c60
cmp qword [rsp + 0x28b0], 0
je 0x14014cc6f
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x30], 0
je 0x14014cc6d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rax, qword [rsp + 0x58]
add rax, 0x40
mov r8d, 0x4d0
xor edx, edx
mov rcx, rax
call fcn.140410c60
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], 0x10000b
mov rax, qword [rsp + 0x58]
add rax, 0x40
mov rdx, rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
jne 0x14014cc5d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x21e4], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
nop
jmp 0x14014cc86
mov byte [rsp + 0x2840], 1
lea rcx, [rsp + 0x2200]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
nop
cmp dword [rsp + 0x21e4], 0
je 0x14014cc97
xor eax, eax
jmp 0x14014d1d6
mov dword [rsp + 0x2094], 0x8664
cmp qword [rsp + 0x58], 0
je 0x14014ccc0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x138]
mov qword [rsp + 0x2848], rax
jmp 0x14014ccd0
mov rax, qword [rsp + 0x22f8]
mov qword [rsp + 0x2848], rax
mov rax, qword [rsp + 0x2848]
mov qword [rsp + 0x20b0], rax
mov dword [rsp + 0x20bc], 3
cmp qword [rsp + 0x58], 0
je 0x14014cd09
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x2850], rax
jmp 0x14014cd30
cmp byte [rsp + 0x2840], 0
jne 0x14014cd20
lea rcx, [0x140437390]
call fcn.14037cdd0
nop
mov rax, qword [rsp + 0x2298]
mov qword [rsp + 0x2850], rax
mov rax, qword [rsp + 0x2850]
mov qword [rsp + 0x20d0], rax
mov dword [rsp + 0x20dc], 3
cmp qword [rsp + 0x58], 0
je 0x14014cd69
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x2858], rax
jmp 0x14014cd90
cmp byte [rsp + 0x2840], 0
jne 0x14014cd80
lea rcx, [0x140437390]
call fcn.14037cdd0
nop
mov rax, qword [rsp + 0x2298]
mov qword [rsp + 0x2858], rax
mov rax, qword [rsp + 0x2858]
mov qword [rsp + 0x20e0], rax
mov dword [rsp + 0x20ec], 3
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28b8]
mov byte [rcx + rax], 0
mov rax, qword [rsp + 0x28b8]
mov qword [rsp + 0x50], rax
xor eax, eax
cmp eax, 1
je 0x14014d1d1
cmp dword [rsp + 0x2094], 0x14c
jne 0x14014cdf3
mov qword [rsp + 0x2860], 0
jmp 0x14014ce36
cmp qword [rsp + 0x58], 0
je 0x14014ce0e
mov rax, qword [rsp + 0x58]
add rax, 0x40
mov qword [rsp + 0x2868], rax
jmp 0x14014ce26
mov byte [rsp + 0x2840], 1
lea rax, [rsp + 0x2200]
mov qword [rsp + 0x2868], rax
mov rax, qword [rsp + 0x2868]
mov qword [rsp + 0x2860], rax
cmp qword [rsp + 0x58], 0
je 0x14014ce51
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2870], rax
jmp 0x14014ce5f
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rsp + 0x2870], rax
cmp qword [rsp + 0x58], 0
je 0x14014ce7a
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2878], rax
jmp 0x14014ce88
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x2878], rax
mov qword [rsp + 0x40], 0
mov rax, qword [sym.imp.dbghelp.dll_SymGetModuleBase64]
mov qword [rsp + 0x38], rax
mov rax, qword [sym.imp.dbghelp.dll_SymFunctionTableAccess64]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0x2860]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x20b0]
mov r8, qword [rsp + 0x2870]
mov rdx, qword [rsp + 0x2878]
mov ecx, dword [rsp + 0x2094]
call qword [sym.imp.dbghelp.dll_StackWalk64]
test eax, eax
jne 0x14014ceed
jmp 0x14014d1d1
cmp qword [rsp + 0x20b0], 0
je 0x14014d1ca
mov rax, qword [rsp + 0x20b0]
mov qword [rsp + 0x21d8], rax
lea rax, [rsp + 0x1090]
mov qword [rsp + 0x26d8], rax
mov qword [rsp + 0x26e8], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x2718], rax
mov rax, qword [rsp + 0x2718]
mov dword [rax], 0x58
mov rax, qword [rsp + 0x2718]
mov dword [rax + 0x50], 0x7d0
mov rax, qword [rsp + 0x26d8]
mov dword [rax], 0x28
cmp qword [rsp + 0x58], 0
je 0x14014cf87
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x28], 0
je 0x14014cf87
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2880], rax
jmp 0x14014cf95
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x2880], rax
mov r9, qword [rsp + 0x2718]
lea r8, [rsp + 0x26e8]
mov rdx, qword [rsp + 0x21d8]
mov rcx, qword [rsp + 0x2880]
call qword [sym.imp.dbghelp.dll_SymFromAddr]
test eax, eax
je 0x14014d145
mov rax, qword [rsp + 0x2718]
add rax, 0x54
mov ecx, dword [rsp + 0x21e4]
mov edx, dword [rsp + 0x28c0]
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
movsxd rdx, dword [rsp + 0x21e4]
mov r8, qword [rsp + 0x28b8]
add r8, rdx
mov rdx, r8
mov qword [rsp + 0x2888], rdx
mov r9, rax
lea r8, [0x14055a388]
mov rdx, rcx
mov rax, qword [rsp + 0x2888]
mov rcx, rax
call fcn.140015f80
mov ecx, dword [rsp + 0x21e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x21e4], eax
cmp qword [rsp + 0x58], 0
je 0x14014d058
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x28], 0
je 0x14014d058
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2890], rax
jmp 0x14014d066
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x2890], rax
mov r9, qword [rsp + 0x26d8]
lea r8, [rsp + 0x2704]
mov rdx, qword [rsp + 0x21d8]
mov rcx, qword [rsp + 0x2890]
call qword [sym.imp.dbghelp.dll_SymGetLineFromAddr64]
test eax, eax
je 0x14014d0f8
mov eax, dword [rsp + 0x21e4]
mov ecx, dword [rsp + 0x28c0]
sub ecx, eax
mov eax, ecx
cdqe
movsxd rcx, dword [rsp + 0x21e4]
mov rdx, qword [rsp + 0x28b8]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x26d8]
mov edx, dword [rdx + 0x10]
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x26d8]
mov r9, qword [rdx + 0x18]
lea r8, str.____s:_d__n
mov rdx, rax
call fcn.140015f80
mov ecx, dword [rsp + 0x21e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x21e4], eax
jmp 0x14014d143
mov eax, dword [rsp + 0x21e4]
mov ecx, dword [rsp + 0x28c0]
sub ecx, eax
mov eax, ecx
cdqe
movsxd rcx, dword [rsp + 0x21e4]
mov rdx, qword [rsp + 0x28b8]
add rdx, rcx
mov rcx, rdx
lea r8, [0x14055a39c]
mov rdx, rax
call fcn.140015f80
mov ecx, dword [rsp + 0x21e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x21e4], eax
jmp 0x14014d1b2
lea r8, [rsp + 0x2730]
mov edx, 8
lea rcx, [rsp + 0x21d8]
call fcn.140131d30
mov eax, dword [rsp + 0x21e4]
mov ecx, dword [rsp + 0x28c0]
sub ecx, eax
mov eax, ecx
cdqe
movsxd rcx, dword [rsp + 0x21e4]
mov rdx, qword [rsp + 0x28b8]
add rdx, rcx
mov rcx, rdx
lea r9, [rsp + 0x2730]
lea r8, str._FuncAddr:_0x_s__n
mov rdx, rax
call fcn.140015f80
mov ecx, dword [rsp + 0x21e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x21e4], eax
cmp qword [rsp + 0x58], 0
je 0x14014d1c8
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x30], 0
jne 0x14014d1c8
jmp 0x14014d1d1
jmp 0x14014d1cc
jmp 0x14014d1d1
jmp 0x14014cdcd
mov rax, qword [rsp + 0x50]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_htonl
call fcn.14037c300
mov rax, rdi
mov rcx, qword [rsp + 0x2898]
xor rcx, rsp
call fcn.14037c650
add rsp, 0x28a0
pop rdi
ret