Function at 0x1800b0930
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 0x1800b0990
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1800b0990
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 0x1800b09b0
xor al, al
jmp 0x1800b1341
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 0x1800b0a29
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 0x1800b12d7
movzx eax, bp
cmp edi, eax
jg 0x1800b12d0
test edi, edi
jle 0x1800b0a5f
or rsi, qword [r11 + 8]
mov qword [rsp + 0x58], rsi
cmp edi, eax
jge 0x1800b0a81
mov rax, qword [r13 + 0x18]
mov rdi, qword [rax + rcx*8]
mov eax, 0x800
mov qword [rsp + 0x60], rdi
test ax, r9w
jne 0x1800b1290
jmp 0x1800b0a8e
mov rdi, qword [rsp + 0x148]
mov qword [rsp + 0x60], rdi
test dword [rdi + 0x38], 0x400
jne 0x1800b12b6
movzx eax, r9w
mov ecx, pe_nt_image_headers64
and ax, cx
mov word [rsp + 0x68], ax
je 0x1800b0ab3
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 0x1800b0c61
lea r12, [r14 + 8]
mov eax, 1
mov r14d, ebx
nop
mov ecx, r13d
mov rbp, rax
shl rbp, cl
test r8, rbp
jne 0x1800b0c30
mov rbx, qword [r12]
test rbx, rbx
je 0x1800b0c30
nop
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1800b0b28
bt eax, 0x13
jae 0x1800b0b1a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1800b0b1e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1800b0b00
jmp 0x1800b0c2b
test rbx, rbx
je 0x1800b0c2b
movzx eax, byte [rbx]
cmp al, 0xa7
je 0x1800b0b40
cmp al, 0xa9
jne 0x1800b0c2b
cmp dword [rbx + 0x2c], r14d
jne 0x1800b0c2b
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.1800ab010
mov rsi, rax
test rax, rax
je 0x1800b0c19
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1800b0bb8
movzx r8d, word [rdi + 0x3c]
xor ecx, ecx
test r8d, r8d
jle 0x1800b0bb3
mov rdx, qword [rdi + 0x48]
nop word [rax + rax]
movsxd rax, ecx
cmp rsi, qword [rdx + rax*8]
je 0x1800b0bb3
movzx eax, word [rdi + 0x3c]
inc ecx
cmp ecx, eax
jl 0x1800b0ba0
cmp ecx, r8d
jge 0x1800b0c19
test r9b, 0x82
je 0x1800b0c0a
cmp word [rbx + 0x30], 0
jl 0x1800b0c0a
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r12]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.18004f190
mov rdi, rax
test rax, rax
jne 0x1800b0beb
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.18004f600
test rax, rax
je 0x1800b0c19
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.18000f0e0
test eax, eax
jne 0x1800b0c19
mov r8, qword [rsp + 0x38]
or r8, rbp
mov qword [rsp + 0x38], r8
jmp 0x1800b0c1e
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 0x1800b0ae0
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 0x1800b10e7
bt eax, 8
jae 0x1800b0c88
mov esi, dword [rsp + 0x30]
mov r15, r12
mov word [rsp + 0x48], r12w
mov ecx, 1
jmp 0x1800b0cc8
mov r15, qword [rdi + 0x20]
test r15, r15
je 0x1800b1316
test byte [r15 + 0x64], 4
jne 0x1800b1316
cmp byte [r15 + 0x62], 0
movzx ecx, word [r15 + 0x5e]
mov word [rsp + 0x48], cx
movzx ecx, word [r15 + 0x60]
je 0x1800b0cc1
bt eax, 0xf
jb 0x1800b0cc1
mov sil, 1
jmp 0x1800b0cc4
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 0x1800b10e2
nop dword [rax]
movzx r10d, word [rdi + 0x18]
mov r12b, 1
cmp r13d, r10d
jge 0x1800b0d6c
movzx eax, word [rdi + 0x3e]
cmp r13d, eax
jl 0x1800b0d6c
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 0x1800b0d41
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
je 0x1800b1083
xor sil, sil
mov dword [rsp + 0x30], esi
jmp 0x1800b1083
test al, 1
je 0x1800b0d6c
mov r8, qword [rcx]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x1800b0d6c
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1800b0d69
movzx eax, word [rdi + 0x18]
inc edx
cmp edx, eax
jl 0x1800b0d51
jmp 0x1800b0d6c
xor r12b, r12b
test r15, r15
je 0x1800b0d9a
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 0x1800b0da0
or ebp, 0xffffffff
jmp 0x1800b0da0
or ebp, 0xffffffff
xor r14b, r14b
test sil, sil
je 0x1800b0df5
test ebp, ebp
js 0x1800b0de1
cmp r13d, r10d
jl 0x1800b0de1
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 0x1800b0df8
xor r8d, r8d
movzx eax, sil
cmp ebp, 0xfffffffe
cmove eax, r8d
mov byte [rsp + 0x30], al
jmp 0x1800b0df8
xor r8d, r8d
mov esi, r8d
test r12b, r12b
je 0x1800b10a7
cmp esi, dword [rsp + 0x4c]
jge 0x1800b109d
mov rcx, qword [rsp + 0x38]
mov eax, esi
bt rcx, rax
jb 0x1800b0feb
mov rcx, qword [rsp + 0x128]
movsxd rdi, esi
shl rdi, 5
mov rdx, qword [rdi + rcx + 8]
test rdx, rdx
je 0x1800b0feb
nop dword [rax]
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800b0e68
bt eax, 0x13
jae 0x1800b0e5a
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1800b0e5e
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800b0e40
jmp 0x1800b0feb
test rdx, rdx
je 0x1800b0feb
test byte [rsp + 0x138], 0xc0
movzx r12d, r12b
cmove r12d, r8d
cmp ebp, 0xffffffff
jl 0x1800b0eac
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x1800b0e95
cmp al, 0xa9
jne 0x1800b0feb
cmp dword [rdx + 0x2c], ebx
jne 0x1800b0feb
movsx eax, word [rdx + 0x30]
cmp eax, ebp
jne 0x1800b0feb
jmp 0x1800b0f22
mov rax, qword [r15 + 0x50]
movsxd rcx, r13d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1800b0ee5
mov eax, dword [r8 + 4]
test eax, 0x82000
je 0x1800b0ee5
bt eax, 0x13
jae 0x1800b0edc
mov rax, qword [r8 + 0x20]
mov r8, qword [rax + 8]
jmp 0x1800b0ee0
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1800b0ec1
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1800b0f08
bt eax, 0x13
jae 0x1800b0eff
mov rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
jmp 0x1800b0f03
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1800b0ee5
mov r9d, ebx
xor ecx, ecx
call fcn.1800599a0
test eax, eax
jne 0x1800b0fe8
mov rcx, qword [rsp + 0x128]
cmp ebp, 0xffffffff
je 0x1800b0f71
mov rax, qword [rsp + 0x120]
mov rdx, qword [rdi + rcx + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.18004f190
test rax, rax
jne 0x1800b0f4b
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 0x1800b0fcb
test ecx, ecx
jne 0x1800b0fe0
cmp word [rsp + 0x68], 0
mov rdi, qword [rsp + 0x60]
je 0x1800b0f86
lea eax, [r13 + 1]
mov word [rdi + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1800b102c
mov rcx, qword [rsp + 0x128]
movsxd rax, esi
shl rax, 5
cmp byte [rsp + 0x35], 0
je 0x1800b0fff
movzx ecx, byte [rax + rcx + 0x18]
xor r14b, byte [rsp + 0x34]
and cl, 1
cmp r14b, cl
je 0x1800b102c
mov r11d, dword [rsp + 0x40]
jmp 0x1800b10b0
lea r10, [0x180143970]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
sub ecx, edx
jne 0x1800b0fe8
inc r8
jmp 0x1800b0f60
xor r8d, r8d
inc esi
test r12b, r12b
je 0x1800b109d
mov ebx, dword [rsp + 0x50]
jmp 0x1800b0e04
movzx ebx, byte [rax + rcx + 0x18]
and bl, 1
xor bl, r14b
mov byte [rsp + 0x34], bl
je 0x1800b1027
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 0x1800b1053
movzx eax, word [rdi + 0x18]
cmp r13d, eax
jne 0x1800b1096
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 0x1800b10d1
mov ebx, dword [rsp + 0x50]
jmp 0x1800b0cf0
mov r11d, dword [rsp + 0x40]
jmp 0x1800b10b8
mov rdi, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x40]
movzx r9d, word [rsp + 0x138]
mov r14, qword [rsp + 0x128]
test r13d, r13d
je 0x1800b10c7
movzx eax, word [rsp + 0x48]
cmp r13d, eax
jge 0x1800b10cc
mov byte [rsp + 0x30], 0
mov r8, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x4c]
test r11b, r11b
je 0x1800b10e7
mov byte [rsp + 0x30], 1
jmp 0x1800b10f2
mov r15d, dword [rsp + 0x4c]
cmp byte [rsp + 0x30], 0
je 0x1800b1268
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 0x1800b1268
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 0x1800b1248
mov rdi, qword [r12]
lea rax, [r14 + 0x258]
test rdi, rdi
je 0x1800b1195
cmp byte [rdi], 0xa7
jne 0x1800b1213
test byte [rdi + 4], 0x20
jne 0x1800b1213
mov r8d, dword [rdi + 0x2c]
cmp dword [rax + 8], r8d
jne 0x1800b1173
mov rbx, r9
jmp 0x1800b1198
mov edx, dword [rax + 4]
mov ecx, r9d
cmp edx, 1
jle 0x1800b1195
add rax, 0xc
cmp dword [rax], r8d
je 0x1800b120b
inc ecx
add rax, 4
cmp ecx, edx
jl 0x1800b1182
mov rbx, r10
test rbx, rbx
jne 0x1800b11eb
lea rax, [fcn.180052660]
mov word [rsp + 0xbc], r9w
mov dword [rsp + 0xc0], r10d
mov qword [rsp + 0xa0], rax
lea rax, [0x180052480]
mov qword [rsp + 0xa8], rax
test rdi, rdi
je 0x1800b11eb
lea rcx, [rsp + 0x98]
mov rdx, rdi
call fcn.18004b2e0
cmp word [rsp + 0xbc], bx
je 0x1800b123a
mov r8, qword [rsp + 0x38]
mov rax, r13
mov r9d, 1
not rax
test rbx, rax
jne 0x1800b1245
or r8, rsi
mov qword [rsp + 0x38], r8
jmp 0x1800b1245
mov rbx, r9
shl rbx, cl
jmp 0x1800b1198
test dword [rdi + 4], 0x810000
jne 0x1800b1195
mov rdx, rdi
mov rcx, rax
call fcn.1800aa540
xor r10d, r10d
mov rbx, rax
lea r9d, [r10 + 1]
jmp 0x1800b1198
mov r8, qword [rsp + 0x38]
mov r9d, 1
xor r10d, r10d
inc ebp
add r12, 0x20
cmp ebp, r15d
jl 0x1800b1130
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 0x1800b12d4
mov r11, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
jmp 0x1800b0a39
cmp byte [rdi + 0x20], 0
je 0x1800b12d0
mov eax, 0x280
and r9w, ax
mov eax, pe_nt_image_headers64
cmp r9w, ax
jne 0x1800b12d9
mov eax, dword [rsp + 0x30]
cmp r8, rbx
jne 0x1800b12e0
movzx eax, byte [rsp + 0x70]
jmp 0x1800b1321
test al, al
jne 0x1800b131f
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1800b1316
nop dword [rax]
cmp ecx, 0x40
jge 0x1800b1302
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1800b1305
mov rdx, r12
mov rax, rdx
and rax, r8
cmp rax, rdx
je 0x1800b131a
dec ecx
test ecx, ecx
jg 0x1800b12f0
xor al, al
jmp 0x1800b1321
movzx eax, cl
jmp 0x1800b1321
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