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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r13
push r14
sub rsp, 0x100
movzx ebp, word [rsp + 0x140]
xor eax, eax
mov r13, r8
mov r14, rdx
mov rdx, rcx
mov r11d, eax
mov r8d, eax
mov qword [rsp + 0x38], rax
test bp, bp
je 0x1800b1920
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1800b1920
xor al, al
add rsp, 0x100
pop r14
pop r13
pop rbp
ret
mov qword [rsp + 0xe0], r12
movzx r12d, word [r14]
mov word [rsp + 0x70], r12w
cmp r12w, 0x3f
jbe 0x1800b1940
xor al, al
jmp 0x1800b22d1
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xd8], r15
movzx r15d, r12w
xor r12d, r12d
mov ecx, r15d
mov ebx, 1
mov al, 1
shl rbx, cl
mov ecx, 0x803
mov r10d, 0x182
dec rbx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x88], r12
mov esi, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x44], r10d
test cx, r9w
je 0x1800b19b9
mov r10d, 0x183
mov dword [rsp + 0x44], r10d
mov rcx, r12
mov edi, r12d
mov dword [rsp + 0x6c], r12d
mov qword [rsp + 0x78], rcx
mov r10d, dword [rsp + 0x44]
cmp r8, rbx
jae 0x1800b2267
movzx eax, bp
cmp edi, eax
jg 0x1800b2260
test edi, edi
jle 0x1800b19ef
or rsi, qword [r11 + 8]
mov qword [rsp + 0x58], rsi
cmp edi, eax
jge 0x1800b1a11
mov rax, qword [r13 + 0x18]
mov rdi, qword [rax + rcx*8]
mov eax, 0x800
mov qword [rsp + 0x60], rdi
test ax, r9w
jne 0x1800b2220
jmp 0x1800b1a1e
mov rdi, qword [rsp + 0x148]
mov qword [rsp + 0x60], rdi
test dword [rdi + 0x38], 0x400
jne 0x1800b2246
movzx eax, r9w
mov ecx, pe_nt_image_headers64
and ax, cx
mov word [rsp + 0x68], ax
je 0x1800b1a43
mov word [rdi + 0x1e], r12w
movzx ecx, byte [rdi + 0x10]
mov rax, qword [rdx + 8]
mov r13d, r12d
imul rcx, rcx, 0x68
mov ebx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x50], ebx
test r15d, r15d
jle 0x1800b1bf1
lea r12, [r14 + 8]
mov eax, 1
mov r14d, ebx
nop
mov ecx, r13d
mov rbp, rax
shl rbp, cl
test r8, rbp
jne 0x1800b1bc0
mov rbx, qword [r12]
test rbx, rbx
je 0x1800b1bc0
nop
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1800b1ab8
bt eax, 0x13
jae 0x1800b1aaa
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1800b1aae
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1800b1a90
jmp 0x1800b1bbb
test rbx, rbx
je 0x1800b1bbb
movzx eax, byte [rbx]
cmp al, 0xa7
je 0x1800b1ad0
cmp al, 0xa9
jne 0x1800b1bbb
cmp dword [rbx + 0x2c], r14d
jne 0x1800b1bbb
movsx r8d, word [rbx + 0x30]
lea rcx, [rdx + 0x70]
movzx eax, r10w
mov r9, rsi
mov edx, r14d
mov qword [rsp + 0x28], 0
not r9
mov dword [rsp + 0x20], eax
call fcn.1800abfa0
mov rsi, rax
test rax, rax
je 0x1800b1ba9
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1800b1b48
movzx r8d, word [rdi + 0x3c]
xor ecx, ecx
test r8d, r8d
jle 0x1800b1b43
mov rdx, qword [rdi + 0x48]
nop word [rax + rax]
movsxd rax, ecx
cmp rsi, qword [rdx + rax*8]
je 0x1800b1b43
movzx eax, word [rdi + 0x3c]
inc ecx
cmp ecx, eax
jl 0x1800b1b30
cmp ecx, r8d
jge 0x1800b1ba9
test r9b, 0x82
je 0x1800b1b9a
cmp word [rbx + 0x30], 0
jl 0x1800b1b9a
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r12]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.180050130
mov rdi, rax
test rax, rax
jne 0x1800b1b7b
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1800505a0
test rax, rax
je 0x1800b1ba9
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.18000ff90
test eax, eax
jne 0x1800b1ba9
mov r8, qword [rsp + 0x38]
or r8, rbp
mov qword [rsp + 0x38], r8
jmp 0x1800b1bae
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x58]
mov eax, 1
mov rdi, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x44]
inc r13d
add r12, 0x20
cmp r13d, r15d
jl 0x1800b1a70
movzx r9d, word [rsp + 0x138]
mov ebx, r14d
mov r14, qword [rsp + 0x128]
xor r12d, r12d
mov eax, dword [rdi + 0x38]
bt eax, 0xc
jb 0x1800b2077
bt eax, 8
jae 0x1800b1c18
mov esi, dword [rsp + 0x30]
mov r15, r12
mov word [rsp + 0x48], r12w
mov ecx, 1
jmp 0x1800b1c58
mov r15, qword [rdi + 0x20]
test r15, r15
je 0x1800b22a6
test byte [r15 + 0x64], 4
jne 0x1800b22a6
cmp byte [r15 + 0x62], 0
movzx ecx, word [r15 + 0x5e]
mov word [rsp + 0x48], cx
movzx ecx, word [r15 + 0x60]
je 0x1800b1c51
bt eax, 0xf
jb 0x1800b1c51
mov sil, 1
jmp 0x1800b1c54
xor sil, sil
mov dword [rsp + 0x30], esi
xor al, al
xor r11b, r11b
mov r13d, r12d
mov byte [rsp + 0x35], al
mov byte [rsp + 0x34], al
movzx eax, cx
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x74], eax
test eax, eax
jle 0x1800b2072
nop dword [rax]
movzx r10d, word [rdi + 0x18]
mov r12b, 1
cmp r13d, r10d
jge 0x1800b1cfc
movzx eax, word [rdi + 0x3e]
cmp r13d, eax
jl 0x1800b1cfc
mov r9, qword [rdi + 0x48]
mov edx, dword [rsp + 0x44]
movsxd rax, r13d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test dx, ax
je 0x1800b1cd1
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
je 0x1800b2013
xor sil, sil
mov dword [rsp + 0x30], esi
jmp 0x1800b2013
test al, 1
je 0x1800b1cfc
mov r8, qword [rcx]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x1800b1cfc
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1800b1cf9
movzx eax, word [rdi + 0x18]
inc edx
cmp edx, eax
jl 0x1800b1ce1
jmp 0x1800b1cfc
xor r12b, r12b
test r15, r15
je 0x1800b1d2a
mov rax, qword [r15 + 8]
movsxd rcx, r13d
movsx ebp, word [rax + rcx*2]
mov rax, qword [r15 + 0x38]
movzx r14d, byte [rcx + rax]
mov rax, qword [r15 + 0x18]
movsx ecx, word [rax + 0x34]
and r14b, 1
cmp ebp, ecx
jne 0x1800b1d30
or ebp, 0xffffffff
jmp 0x1800b1d30
or ebp, 0xffffffff
xor r14b, r14b
test sil, sil
je 0x1800b1d85
test ebp, ebp
js 0x1800b1d71
cmp r13d, r10d
jl 0x1800b1d71
movsxd rax, ebp
mov r8d, 0
movzx esi, sil
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
cmove esi, r8d
cmp ebp, 0xfffffffe
movzx eax, sil
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1800b1d88
xor r8d, r8d
movzx eax, sil
cmp ebp, 0xfffffffe
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1800b1d88
xor r8d, r8d
mov esi, r8d
test r12b, r12b
je 0x1800b2037
cmp esi, dword [rsp + 0x4c]
jge 0x1800b202d
mov rcx, qword [rsp + 0x38]
mov eax, esi
bt rcx, rax
jb 0x1800b1f7b
mov rcx, qword [rsp + 0x128]
movsxd rdi, esi
shl rdi, 5
mov rdx, qword [rdi + rcx + 8]
test rdx, rdx
je 0x1800b1f7b
nop dword [rax]
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800b1df8
bt eax, 0x13
jae 0x1800b1dea
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1800b1dee
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800b1dd0
jmp 0x1800b1f7b
test rdx, rdx
je 0x1800b1f7b
test byte [rsp + 0x138], 0xc0
movzx r12d, r12b
cmove r12d, r8d
cmp ebp, 0xffffffff
jl 0x1800b1e3c
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x1800b1e25
cmp al, 0xa9
jne 0x1800b1f7b
cmp dword [rdx + 0x2c], ebx
jne 0x1800b1f7b
movsx eax, word [rdx + 0x30]
cmp eax, ebp
jne 0x1800b1f7b
jmp 0x1800b1eb2
mov rax, qword [r15 + 0x50]
movsxd rcx, r13d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1800b1e75
mov eax, dword [r8 + 4]
test eax, 0x82000
je 0x1800b1e75
bt eax, 0x13
jae 0x1800b1e6c
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1800b1e70
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1800b1e51
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800b1e98
bt eax, 0x13
jae 0x1800b1e8f
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1800b1e93
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800b1e75
mov r9d, ebx
xor ecx, ecx
call fcn.18005a940
test eax, eax
jne 0x1800b1f78
mov rcx, qword [rsp + 0x128]
cmp ebp, 0xffffffff
je 0x1800b1f01
mov rax, qword [rsp + 0x120]
mov rdx, qword [rdi + rcx + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.180050130
test rax, rax
jne 0x1800b1edb
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r15 + 0x40]
movsxd rcx, r13d
mov r9, qword [rax + rcx*8]
sub r9, r8
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1800b1f5b
test ecx, ecx
jne 0x1800b1f70
cmp word [rsp + 0x68], 0
mov rdi, qword [rsp + 0x60]
je 0x1800b1f16
lea eax, [r13 + 1]
mov word [rdi + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1800b1fbc
mov rcx, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
cmp byte [rsp + 0x35], 0
je 0x1800b1f8f
movzx ecx, byte [rax + rcx + 0x18]
xor r14b, byte [rsp + 0x34]
and cl, 1
cmp r14b, cl
je 0x1800b1fbc
mov r11d, dword [rsp + 0x40]
jmp 0x1800b2040
lea r10, [0x180144c70]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
sub ecx, edx
jne 0x1800b1f78
inc r8
jmp 0x1800b1ef0
xor r8d, r8d
inc esi
test r12b, r12b
je 0x1800b202d
mov ebx, dword [rsp + 0x50]
jmp 0x1800b1d94
movzx ebx, byte [rax + rcx + 0x18]
and bl, 1
xor bl, r14b
mov byte [rsp + 0x34], bl
je 0x1800b1fb7
mov ecx, dword [rsp + 0x6c]
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x150]
or qword [rcx], rax
mov byte [rsp + 0x35], 1
mov r14, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
test byte [rax + r14 + 0x18], 2
je 0x1800b1fe3
movzx eax, word [rdi + 0x18]
cmp r13d, eax
jne 0x1800b2026
or dword [rdi + 0x38], 0x80000
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
cmp ebp, 0xffffffff
mov eax, 1
mov ecx, esi
mov esi, dword [rsp + 0x30]
movzx r11d, r11b
cmove r11d, eax
shl rax, cl
or r8, rax
mov dword [rsp + 0x40], r11d
mov qword [rsp + 0x38], r8
inc r13d
cmp r13d, dword [rsp + 0x74]
jge 0x1800b2061
mov ebx, dword [rsp + 0x50]
jmp 0x1800b1c80
mov r11d, dword [rsp + 0x40]
jmp 0x1800b2048
mov rdi, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x138]
mov r14, qword [rsp + 0x128]
test r13d, r13d
je 0x1800b2057
movzx eax, word [rsp + 0x48]
cmp r13d, eax
jge 0x1800b205c
mov byte [rsp + 0x30], 0
mov r8, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x4c]
test r11b, r11b
je 0x1800b2077
mov byte [rsp + 0x30], 1
jmp 0x1800b2082
mov r15d, dword [rsp + 0x4c]
cmp byte [rsp + 0x30], 0
je 0x1800b21f8
mov r13, qword [rsp + 0x88]
xor r10d, r10d
or r13, qword [rdi + 8]
mov ebp, r10d
mov qword [rsp + 0x88], r13
test r15d, r15d
jle 0x1800b21f8
lea r12, [r14 + 8]
mov r14, qword [rsp + 0x120]
mov r9d, 1
nop word [rax + rax]
mov ecx, ebp
mov rsi, r9
shl rsi, cl
test r8, rsi
jne 0x1800b21d8
mov rdi, qword [r12]
lea rax, [r14 + 0x258]
test rdi, rdi
je 0x1800b2125
cmp byte [rdi], 0xa7
jne 0x1800b21a3
test byte [rdi + 4], 0x20
jne 0x1800b21a3
mov r8d, dword [rdi + 0x2c]
cmp dword [rax + 8], r8d
jne 0x1800b2103
mov rbx, r9
jmp 0x1800b2128
mov edx, dword [rax + 4]
mov ecx, r9d
cmp edx, 1
jle 0x1800b2125
add rax, 0xc
cmp dword [rax], r8d
je 0x1800b219b
inc ecx
add rax, 4
cmp ecx, edx
jl 0x1800b2112
mov rbx, r10
test rbx, rbx
jne 0x1800b217b
lea rax, [fcn.180053600]
mov word [rsp + 0xbc], r9w
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xa0], rax
lea rax, [0x180053420]
mov qword [rsp + 0xa8], rax
test rdi, rdi
je 0x1800b217b
lea rcx, [rsp + 0x98]
mov rdx, rdi
call fcn.18004c270
cmp word [rsp + 0xbc], bx
je 0x1800b21ca
mov r8, qword [rsp + 0x38]
mov rax, r13
mov r9d, 1
not rax
test rbx, rax
jne 0x1800b21d5
or r8, rsi
mov qword [rsp + 0x38], r8
jmp 0x1800b21d5
mov rbx, r9
shl rbx, cl
jmp 0x1800b2128
test dword [rdi + 4], 0x810000
jne 0x1800b2125
mov rdx, rdi
mov rcx, rax
call fcn.1800ab4d0
xor r10d, r10d
mov rbx, rax
lea r9d, [r10 + 1]
jmp 0x1800b2128
mov r8, qword [rsp + 0x38]
mov r9d, 1
xor r10d, r10d
inc ebp
add r12, 0x20
cmp ebp, r15d
jl 0x1800b20c0
mov r14, qword [rsp + 0x128]
movzx r9d, word [rsp + 0x138]
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
movzx ebp, word [rsp + 0x140]
mov r13, qword [rsp + 0x130]
xor r12d, r12d
mov edi, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x30]
inc qword [rsp + 0x78]
inc edi
mov dword [rsp + 0x6c], edi
test al, al
je 0x1800b2264
mov r11, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
jmp 0x1800b19c9
cmp byte [rdi + 0x20], 0
je 0x1800b2260
mov eax, 0x280
and r9w, ax
mov eax, pe_nt_image_headers64
cmp r9w, ax
jne 0x1800b2269
mov eax, dword [rsp + 0x30]
cmp r8, rbx
jne 0x1800b2270
movzx eax, byte [rsp + 0x70]
jmp 0x1800b22b1
test al, al
jne 0x1800b22af
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1800b22a6
nop dword [rax]
cmp ecx, 0x40
jge 0x1800b2292
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1800b2295
mov rdx, r12
mov rax, rdx
and rax, r8
cmp rax, rdx
je 0x1800b22aa
dec ecx
test ecx, ecx
jg 0x1800b2280
xor al, al
jmp 0x1800b22b1
movzx eax, cl
jmp 0x1800b22b1
mov al, 0xff
mov rbx, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
add rsp, 0x100
pop r14
pop r13
pop rbp
ret