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

Disassembly:
sub rsp, 0x148
mov rax, qword [0x180118258]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rax, rdx
mov qword [rsp + 0x48], rdx
mov rdx, rcx
mov qword [rsp + 0xb8], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x28], r8
mov qword [rsp + 0xb0], rcx
test r9, r9
je 0x1800b8a80
movabs rcx, 0x3fffffffc0
cmp r9, rcx
jbe 0x1800b8122
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov ecx, dword [rdx + 0x14]
mov r8d, dword [rdx]
mov r10d, dword [rdx + 4]
mov r11d, dword [rdx + 0x30]
mov dword [rsp + 0x88], ecx
mov ecx, dword [rdx + 0x18]
mov dword [rsp + 0x50], ecx
mov ecx, dword [rdx + 0x1c]
mov qword [rsp + 0x158], rbx
mov ebx, dword [rdx + 0x34]
mov dword [rsp + 0x54], ecx
mov ecx, dword [rdx + 0x20]
mov qword [rsp + 0x140], rbp
mov ebp, dword [rdx + 0xc]
mov dword [rsp + 0x58], ecx
mov ecx, dword [rdx + 0x24]
mov dword [rsp + 0x5c], ecx
mov ecx, dword [rdx + 0x28]
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x130], rdi
mov edi, dword [rdx + 8]
mov dword [rsp + 0x60], ecx
mov ecx, dword [rdx + 0x2c]
mov dword [rsp + 0x64], ecx
mov ecx, dword [rdx + 0x38]
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x120], r13
mov r13d, dword [rdx + 0x10]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rdx + 0x3c]
mov dword [rsp + 0x6c], ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x110], r15
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x7c], ebp
mov dword [rsp + 0x80], r13d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x34], ebx
cmp r9, 0x40
jae 0x1800b8260
xorps xmm0, xmm0
xor edx, edx
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0xf0], xmm0
test r9, r9
je 0x1800b823e
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rcx + rax]
inc edx
mov byte [rsp + rcx + 0xc0], al
mov rax, qword [rsp + 0x48]
mov ecx, edx
cmp rcx, r9
jb 0x1800b8220
mov rcx, qword [rsp + 0x28]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x50]
mov r14d, r10d
mov edx, dword [rsp + 0x88]
mov esi, r8d
mov r8d, dword [rsp + 0x60]
mov r15d, edi
mov r9d, dword [rsp + 0x64]
mov r12d, ebp
mov ebp, dword [rsp + 0x58]
mov r10d, r13d
mov r13d, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x44], socket
jmp 0x1800b82ba
mov r8d, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x40]
add r15d, dword [rsp + 0x38]
add r14d, edx
add r12d, dword [rsp + 0x3c]
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 + 0x38]
rol ecx, 0xc
add r15d, ecx
rol edx, 7
add esi, edx
xor edi, r15d
rol edi, 8
add r8d, edi
mov dword [rsp + 0x20], r8d
xor r8d, ecx
mov ecx, r9d
rol r8d, 7
xor ecx, dword [rsp + 0x3c]
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 + 0x40], r9d
xor r9d, ecx
mov ecx, dword [rsp + 0x20]
add ecx, eax
rol r9d, 7
mov dword [rsp + 0x20], ecx
xor ecx, edx
mov edx, dword [rsp + 0x20]
rol ecx, 0xc
add esi, ecx
xor eax, esi
rol eax, 8
add edx, eax
mov dword [rsp + 0x20], edx
xor edx, ecx
rol edx, 7
mov dword [rsp + 0x84], edx
mov edx, dword [rsp + 0x40]
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 + 0x40], edx
mov edx, dword [rsp + 0x84]
xor r8d, ecx
mov ecx, ebp
rol r8d, 7
xor ecx, r9d
mov dword [rsp + 0x38], 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 + 0x3c], r9d
xor edi, r12d
rol edi, 8
add r13d, edi
mov r10d, r13d
xor r10d, ecx
rol r10d, 7
add dword [rsp + 0x44], 0xfffffffe
jne 0x1800b82b0
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x38], r11d
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0xa0], edi
mov dword [rsp + 0x9c], 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 + 0x70]
add ecx, esi
xor edx, ecx
movzx ecx, byte [r11 + 6]
mov dword [rsp + 0x8c], 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 + 0x74]
add ecx, r14d
xor edx, ecx
movzx ecx, byte [r11 + 0xa]
mov dword [rsp + 0x90], 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 + 0x78]
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 + 0x94], 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 + 0x7c]
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 + 0x98], 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 + 0x80]
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 + 0x48]
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 + 0x88]
add ecx, dword [rsp + 0x84]
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 + 0x50]
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 + 0x54]
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 + 0x44]
add ecx, dword [rsp + 0x58]
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 + 0x3c]
add ecx, dword [rsp + 0x5c]
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 + 0x20]
add ecx, dword [rsp + 0x60]
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 + 0x40]
add ecx, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x34]
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 + 0x38]
add ecx, dword [rsp + 0x30]
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 + 0x9c]
add ecx, dword [rsp + 0x34]
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 + 0xa0]
add ecx, dword [rsp + 0x68]
xor r8d, ecx
mov rcx, qword [rsp + 0x48]
movzx ecx, byte [rcx + 0x3e]
or edx, ecx
mov rcx, qword [rsp + 0x48]
shl edx, 8
movzx ecx, byte [rcx + 0x3d]
or edx, ecx
mov rcx, qword [rsp + 0x48]
shl edx, 8
movzx ecx, byte [rcx + 0x3c]
or edx, ecx
mov ecx, dword [rsp + 0x6c]
add ecx, eax
lea eax, [r13 + 1]
xor edx, ecx
mov ecx, dword [rsp + 0x8c]
add dword [rsp + 0x30], 1
cmovne eax, r13d
mov r13, qword [rsp + 0x28]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x28]
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 + 0x90]
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 + 0x94]
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 + 0x98]
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 r9, qword [rsp + 0xa8]
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 r9, 0x40
jbe 0x1800b89f6
mov rax, qword [rsp + 0x48]
sub r9, 0x40
mov ebx, dword [rsp + 0x34]
add rcx, 0x40
mov r11d, dword [rsp + 0x30]
add rax, 0x40
mov r8d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x74]
mov edi, dword [rsp + 0x78]
mov ebp, dword [rsp + 0x7c]
mov r13d, dword [rsp + 0x80]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x28], rcx
jmp 0x1800b81e4
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov r12, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
mov rbp, qword [rsp + 0x140]
jae 0x1800b8a60
test r9d, r9d
je 0x1800b8a60
mov rdx, qword [rsp + 0xb0]
sub rcx, rdx
mov r8d, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1800b8a50
mov rax, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x30]
mov dword [rax + 0x34], ebx
mov rbx, qword [rsp + 0x158]
mov dword [rax + 0x30], r8d
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.180002752
add rsp, 0x148
ret