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

Disassembly:
test r9d, r9d
je 0x14002da57
mov r11, rsp
sub rsp, 0x128
mov rax, qword [0x1400e6470]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r10d, dword [rcx + 4]
mov rax, rdx
mov qword [r11 + 0x10], rbx
mov ebx, dword [rcx + 0x34]
mov qword [r11 - 8], rbp
mov ebp, dword [rcx + 0xc]
mov qword [r11 - 0x10], rsi
mov esi, dword [rcx + 0x38]
mov qword [r11 - 0x18], rdi
mov edi, dword [rcx + 8]
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
mov r13d, dword [rcx + 0x10]
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
mov r11d, dword [rcx + 0x18]
mov dword [rsp + 0x6c], r11d
mov r11d, dword [rcx + 0x1c]
mov dword [rsp + 0x34], r11d
mov r11d, dword [rcx + 0x20]
mov dword [rsp + 0x38], r11d
mov r11d, dword [rcx + 0x24]
mov dword [rsp + 0x3c], r11d
mov r11d, dword [rcx + 0x28]
mov qword [rsp + 0x20], rdx
xor edx, edx
mov dword [rsp + 0x40], r11d
mov r11d, dword [rcx + 0x2c]
mov qword [rsp + 8], r8
mov r8d, dword [rcx]
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x44], r11d
mov r11d, dword [rcx + 0x30]
mov qword [rsp + 0x88], rdx
mov edx, dword [rcx + 0x14]
mov ecx, dword [rcx + 0x3c]
mov dword [rsp + 0x4c], ecx
mov rcx, qword [rsp + 8]
mov dword [rsp + 0x50], r9d
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x64], r13d
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x10], r11d
mov dword [rsp + 0x14], ebx
mov dword [rsp + 0x48], esi
cmp r9d, 0x40
jae 0x14002d250
test r9d, r9d
je 0x14002d22a
lea rdx, [rsp + 0xa0]
sub rax, rdx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov edx, r9d
nop word [rax + rax]
movzx eax, byte [rax + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
mov rax, qword [rsp + 0x20]
sub rdx, 1
jne 0x14002d210
mov rcx, qword [rsp + 8]
mov edx, dword [rsp + 0x30]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x88], rcx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x6c]
mov r14d, r10d
mov r9d, dword [rsp + 0x44]
mov esi, r8d
mov r8d, dword [rsp + 0x40]
mov r15d, edi
mov edi, dword [rsp + 0x48]
mov r12d, ebp
mov ebp, dword [rsp + 0x38]
mov r10d, r13d
mov r13d, dword [rsp + 0x3c]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x2c], setsockopt
jmp 0x14002d2a9
mov r8d, dword [rsp]
mov r9d, dword [rsp + 0x28]
add r15d, dword [rsp + 0x18]
add r14d, edx
add r12d, dword [rsp + 0x1c]
add esi, r10d
xor r11d, esi
xor eax, r12d
rol eax, 0x10
xor ebx, r14d
add r9d, eax
rol r11d, 0x10
add ebp, r11d
rol ebx, 0x10
add r13d, ebx
xor edi, r15d
rol edi, 0x10
mov ecx, ebp
xor ecx, r10d
add r8d, edi
rol ecx, 0xc
add esi, ecx
xor r11d, esi
rol r11d, 8
add ebp, r11d
mov r10d, ebp
xor r10d, ecx
mov ecx, r13d
xor ecx, edx
rol r10d, 7
rol ecx, 0xc
add r14d, ecx
xor ebx, r14d
rol ebx, 8
add r13d, ebx
mov edx, r13d
xor edx, ecx
mov ecx, r8d
xor ecx, dword [rsp + 0x18]
rol ecx, 0xc
add r15d, ecx
rol edx, 7
add esi, edx
xor edi, r15d
rol edi, 8
add r8d, edi
mov dword [rsp], r8d
xor r8d, ecx
mov ecx, r9d
rol r8d, 7
xor ecx, dword [rsp + 0x1c]
add r14d, r8d
rol ecx, 0xc
xor r11d, r14d
add r12d, ecx
rol r11d, 0x10
xor eax, r12d
rol eax, 8
add r9d, eax
xor eax, esi
rol eax, 0x10
mov dword [rsp + 0x28], r9d
xor r9d, ecx
mov ecx, dword [rsp]
add ecx, eax
rol r9d, 7
mov dword [rsp], ecx
xor ecx, edx
mov edx, dword [rsp]
rol ecx, 0xc
add esi, ecx
xor eax, esi
rol eax, 8
add edx, eax
mov dword [rsp], edx
xor edx, ecx
rol edx, 7
mov dword [rsp + 0x68], edx
mov edx, dword [rsp + 0x28]
add edx, r11d
mov ecx, edx
xor ecx, r8d
rol ecx, 0xc
add r14d, ecx
add r15d, r9d
add r12d, r10d
xor ebx, r15d
xor edi, r12d
rol ebx, 0x10
add ebp, ebx
rol edi, 0x10
add r13d, edi
xor r11d, r14d
rol r11d, 8
add edx, r11d
mov r8d, edx
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x68]
xor r8d, ecx
mov ecx, ebp
rol r8d, 7
xor ecx, r9d
mov dword [rsp + 0x18], r8d
rol ecx, 0xc
add r15d, ecx
xor ebx, r15d
rol ebx, 8
add ebp, ebx
mov r9d, ebp
xor r9d, ecx
mov ecx, r13d
xor ecx, r10d
rol r9d, 7
rol ecx, 0xc
add r12d, ecx
mov dword [rsp + 0x1c], r9d
xor edi, r12d
rol edi, 8
add r13d, edi
mov r10d, r13d
xor r10d, ecx
rol r10d, 7
add dword [rsp + 0x2c], 0xfffffffe
jne 0x14002d2a0
mov dword [rsp + 0x1c], r13d
mov dword [rsp + 0x18], r11d
mov r11, qword [rsp + 0x20]
mov dword [rsp + 0x2c], ebp
mov dword [rsp + 0x84], edi
mov dword [rsp + 0x80], ebx
movzx ecx, byte [r11 + 2]
movzx edx, byte [r11 + 3]
movzx r13d, byte [r11 + 0xf]
shl edx, 8
or edx, ecx
shl r13d, 8
movzx ecx, byte [r11 + 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [r11]
shl edx, 8
or edx, ecx
mov ecx, dword [rsp + 0x54]
add ecx, esi
xor edx, ecx
movzx ecx, byte [r11 + 6]
mov dword [rsp + 0x70], edx
movzx edx, byte [r11 + 7]
shl edx, 8
or edx, ecx
movzx ecx, byte [r11 + 5]
shl edx, 8
or edx, ecx
movzx ecx, byte [r11 + 4]
shl edx, 8
or edx, ecx
mov ecx, dword [rsp + 0x58]
add ecx, r14d
xor edx, ecx
movzx ecx, byte [r11 + 0xa]
mov dword [rsp + 0x74], edx
movzx edx, byte [r11 + 0xb]
shl edx, 8
or edx, ecx
movzx ecx, byte [r11 + 9]
shl edx, 8
or edx, ecx
movzx ecx, byte [r11 + 8]
shl edx, 8
or edx, ecx
mov ecx, dword [rsp + 0x5c]
add ecx, r15d
movzx r15d, byte [r11 + 0x17]
xor edx, ecx
shl r15d, 8
movzx ecx, byte [r11 + 0xe]
or r13d, ecx
mov dword [rsp + 0x78], edx
movzx ecx, byte [r11 + 0xd]
shl r13d, 8
or r13d, ecx
movzx ecx, byte [r11 + 0xc]
shl r13d, 8
or r13d, ecx
mov ecx, dword [rsp + 0x60]
add ecx, r12d
movzx r12d, byte [r11 + 0x13]
xor r13d, ecx
shl r12d, 8
movzx ecx, byte [r11 + 0x12]
or r12d, ecx
mov dword [rsp + 0x7c], r13d
movzx ecx, byte [r11 + 0x11]
shl r12d, 8
or r12d, ecx
movzx ecx, byte [r11 + 0x10]
shl r12d, 8
or r12d, ecx
mov ecx, dword [rsp + 0x64]
add ecx, r10d
xor r12d, ecx
movzx ecx, byte [r11 + 0x16]
or r15d, ecx
movzx ecx, byte [r11 + 0x15]
shl r15d, 8
movzx r14d, byte [r11 + 0x1b]
or r15d, ecx
movzx ecx, byte [r11 + 0x14]
movzx ebp, byte [r11 + 0x1f]
movzx esi, byte [r11 + 0x23]
movzx edi, byte [r11 + 0x27]
movzx ebx, byte [r11 + 0x2b]
mov rdx, qword [rsp + 0x20]
shl r14d, 8
shl ebp, 8
shl esi, 8
shl edi, 8
shl ebx, 8
shl r15d, 8
or r15d, ecx
mov ecx, dword [rsp + 0x30]
add ecx, dword [rsp + 0x68]
xor r15d, ecx
movzx ecx, byte [r11 + 0x1a]
or r14d, ecx
movzx ecx, byte [r11 + 0x19]
shl r14d, 8
or r14d, ecx
movzx ecx, byte [r11 + 0x18]
shl r14d, 8
or r14d, ecx
mov ecx, dword [rsp + 0x6c]
add ecx, r8d
xor r14d, ecx
movzx ecx, byte [r11 + 0x1e]
or ebp, ecx
movzx ecx, byte [r11 + 0x1d]
shl ebp, 8
or ebp, ecx
movzx ecx, byte [r11 + 0x1c]
shl ebp, 8
or ebp, ecx
mov ecx, dword [rsp + 0x34]
add ecx, r9d
xor ebp, ecx
movzx ecx, byte [r11 + 0x22]
or esi, ecx
movzx ecx, byte [r11 + 0x21]
shl esi, 8
or esi, ecx
movzx ecx, byte [r11 + 0x20]
shl esi, 8
or esi, ecx
mov ecx, dword [rsp + 0x2c]
add ecx, dword [rsp + 0x38]
xor esi, ecx
movzx ecx, byte [r11 + 0x26]
or edi, ecx
movzx ecx, byte [r11 + 0x25]
shl edi, 8
or edi, ecx
movzx ecx, byte [r11 + 0x24]
shl edi, 8
or edi, ecx
mov ecx, dword [rsp + 0x1c]
add ecx, dword [rsp + 0x3c]
xor edi, ecx
movzx ecx, byte [r11 + 0x2a]
or ebx, ecx
movzx ecx, byte [r11 + 0x29]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [r11 + 0x28]
movzx r11d, byte [r11 + 0x2f]
shl r11d, 8
shl ebx, 8
or ebx, ecx
mov ecx, dword [rsp]
add ecx, dword [rsp + 0x40]
xor ebx, ecx
movzx ecx, byte [rdx + 0x2e]
or r11d, ecx
movzx ecx, byte [rdx + 0x2d]
shl r11d, 8
or r11d, ecx
shl r11d, 8
movzx ecx, byte [rdx + 0x2c]
movzx r10d, byte [rdx + 0x33]
or r11d, ecx
movzx r9d, byte [rdx + 0x37]
movzx r8d, byte [rdx + 0x3b]
mov ecx, dword [rsp + 0x28]
add ecx, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x14]
xor r11d, ecx
movzx ecx, byte [rdx + 0x32]
shl r10d, 8
or r10d, ecx
shl r9d, 8
movzx ecx, byte [rdx + 0x31]
shl r8d, 8
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rdx + 0x30]
shl r10d, 8
or r10d, ecx
mov ecx, dword [rsp + 0x18]
add ecx, dword [rsp + 0x10]
xor r10d, ecx
movzx ecx, byte [rdx + 0x36]
or r9d, ecx
movzx ecx, byte [rdx + 0x35]
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rdx + 0x34]
shl r9d, 8
or r9d, ecx
mov ecx, dword [rsp + 0x80]
add ecx, dword [rsp + 0x14]
xor r9d, ecx
movzx ecx, byte [rdx + 0x3a]
or r8d, ecx
movzx ecx, byte [rdx + 0x39]
shl r8d, 8
or r8d, ecx
movzx ecx, byte [rdx + 0x38]
movzx edx, byte [rdx + 0x3f]
shl edx, 8
shl r8d, 8
or r8d, ecx
mov ecx, dword [rsp + 0x84]
add ecx, dword [rsp + 0x48]
xor r8d, ecx
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + 0x3e]
or edx, ecx
mov rcx, qword [rsp + 0x20]
shl edx, 8
movzx ecx, byte [rcx + 0x3d]
or edx, ecx
mov rcx, qword [rsp + 0x20]
shl edx, 8
movzx ecx, byte [rcx + 0x3c]
or edx, ecx
mov ecx, dword [rsp + 0x4c]
add ecx, eax
lea eax, [r13 + 1]
xor edx, ecx
mov ecx, dword [rsp + 0x70]
add dword [rsp + 0x10], 1
cmovne eax, r13d
mov r13, qword [rsp + 8]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp + 8]
mov byte [rax], cl
mov eax, ecx
shr eax, 8
mov byte [r13 + 1], al
mov eax, ecx
shr eax, 0x10
mov byte [r13 + 2], al
mov rax, r13
shr ecx, 0x18
mov byte [rax + 3], cl
mov ecx, dword [rsp + 0x74]
mov byte [rax + 4], cl
mov eax, ecx
shr eax, 8
mov byte [r13 + 5], al
mov eax, ecx
shr eax, 0x10
mov byte [r13 + 6], al
mov rax, r13
shr ecx, 0x18
mov byte [rax + 7], cl
mov ecx, dword [rsp + 0x78]
mov byte [rax + 8], cl
mov eax, ecx
shr eax, 8
mov byte [r13 + 9], al
mov eax, ecx
shr eax, 0x10
mov byte [r13 + 0xa], al
mov rax, r13
mov r13d, dword [rsp + 0x7c]
shr ecx, 0x18
mov byte [rax + 0xb], cl
mov rcx, rax
mov byte [rax + 0xc], r13b
mov eax, r13d
shr eax, 8
mov byte [rcx + 0xd], al
mov eax, r13d
shr eax, 0x10
mov byte [rcx + 0xe], al
mov eax, r12d
shr eax, 8
mov byte [rcx + 0x11], al
mov eax, r12d
shr eax, 0x10
mov byte [rcx + 0x12], al
mov eax, r15d
shr eax, 8
mov byte [rcx + 0x15], al
mov eax, r15d
shr eax, 0x10
mov byte [rcx + 0x16], al
mov eax, r14d
shr eax, 8
mov byte [rcx + 0x19], al
mov eax, r14d
shr eax, 0x10
mov byte [rcx + 0x1a], al
mov eax, ebp
shr eax, 8
mov byte [rcx + 0x1d], al
mov eax, ebp
shr eax, 0x10
mov byte [rcx + 0x1e], al
mov eax, esi
shr eax, 8
mov byte [rcx + 0x21], al
mov eax, esi
shr eax, 0x10
mov byte [rcx + 0x22], al
mov eax, edi
shr eax, 8
mov byte [rcx + 0x25], al
mov eax, edi
shr r13d, 0x18
mov byte [rcx + 0x10], r12b
shr r12d, 0x18
mov byte [rcx + 0x14], r15b
shr r15d, 0x18
mov byte [rcx + 0x18], r14b
shr r14d, 0x18
mov byte [rcx + 0x1c], bpl
shr ebp, 0x18
mov byte [rcx + 0x20], sil
shr esi, 0x18
shr eax, 0x10
mov byte [rcx + 0xf], r13b
mov byte [rcx + 0x13], r12b
mov byte [rcx + 0x17], r15b
mov byte [rcx + 0x1b], r14b
mov byte [rcx + 0x1f], bpl
mov byte [rcx + 0x23], sil
mov byte [rcx + 0x24], dil
mov byte [rcx + 0x26], al
mov eax, ebx
shr eax, 8
mov byte [rcx + 0x29], al
mov eax, ebx
shr eax, 0x10
mov byte [rcx + 0x2a], al
mov eax, r11d
shr eax, 8
mov byte [rcx + 0x2d], al
mov eax, r11d
shr eax, 0x10
mov byte [rcx + 0x2e], al
mov eax, r10d
shr eax, 8
mov byte [rcx + 0x31], al
mov eax, r10d
shr eax, 0x10
mov byte [rcx + 0x32], al
mov eax, r9d
shr eax, 8
mov byte [rcx + 0x35], al
mov eax, r9d
shr eax, 0x10
mov byte [rcx + 0x36], al
mov eax, r8d
shr eax, 8
mov byte [rcx + 0x39], al
mov eax, r8d
shr eax, 0x10
mov byte [rcx + 0x3a], al
mov eax, edx
shr eax, 8
mov byte [rcx + 0x34], r9b
shr r9d, 0x18
mov byte [rcx + 0x3d], al
mov eax, edx
shr eax, 0x10
shr edi, 0x18
mov byte [rcx + 0x28], bl
shr ebx, 0x18
mov byte [rcx + 0x2c], r11b
shr r11d, 0x18
mov byte [rcx + 0x30], r10b
shr r10d, 0x18
mov byte [rcx + 0x37], r9b
mov r9d, dword [rsp + 0x50]
mov byte [rcx + 0x38], r8b
shr r8d, 0x18
mov byte [rcx + 0x3c], dl
shr edx, 0x18
mov byte [rcx + 0x27], dil
mov byte [rcx + 0x2b], bl
mov byte [rcx + 0x2f], r11b
mov byte [rcx + 0x33], r10b
mov byte [rcx + 0x3b], r8b
mov byte [rcx + 0x3e], al
mov byte [rcx + 0x3f], dl
cmp r9d, 0x40
jbe 0x14002d9b3
mov rax, qword [rsp + 0x20]
add r9d, 0xffffffc0
mov ebx, dword [rsp + 0x14]
add rcx, 0x40
mov r11d, dword [rsp + 0x10]
add rax, 0x40
mov r8d, dword [rsp + 0x54]
mov r10d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x5c]
mov ebp, dword [rsp + 0x60]
mov r13d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], r9d
mov qword [rsp + 8], rcx
jmp 0x14002d1e1
mov r15, qword [rsp + 0xf0]
lea eax, [r9 - 1]
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
cmp eax, 0x3e
ja 0x14002da20
mov rdx, qword [rsp + 0x88]
mov r8, r9
sub rcx, rdx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14002da10
mov rax, qword [rsp + 0x90]
mov ebx, dword [rsp + 0x14]
mov r8d, dword [rsp + 0x10]
mov dword [rax + 0x34], ebx
mov rbx, qword [rsp + 0x138]
mov dword [rax + 0x30], r8d
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140075860
add rsp, 0x128
ret