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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15d, r8d
mov r14, rdx
mov rbx, rcx
xor r13d, r13d
test rdx, rdx
je 0x1400157c5
mov edi, r13d
mov dword [rsp + 0x20], r13d
lea ebp, [r13 + 1]
test r8d, r8d
je 0x14008154c
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x1400156f2
mov dword [rbx], eax
test r9d, r9d
je 0x1400156ff
mov r12d, r15d
and r12d, 0xfffffff
mov rax, qword [0x1401fa3e0]
mov rsi, qword [rax + r12*8]
test byte [rsi + 0x28], 4
je 0x140081619
mov dword [rsi + 0x3c], r9d
cmp r9d, dword [rsi + 0x38]
ja 0x140015832
lea r13, [rbx + 8]
mov rax, qword [0x1401fa3e0]
mov rsi, qword [rax + r12*8]
xor eax, eax
cmp dword [0x1401fcad8], eax
jne 0x14001584f
lea r12d, [rax + 2]
test byte [rsi + 0x28], 4
je 0x140081670
mov dword [rsp + 0x78], eax
mov eax, dword [rsi + 0x3c]
lea edx, [rax + 0x14]
mov r8d, dword [rsi + 0x38]
cmp edx, r8d
ja 0x14008162d
mov edx, eax
add rdx, qword [rsi + 0x30]
mov r8d, 0x14
mov rcx, r13
call fcn.140016420
add dword [rsi + 0x3c], 0x14
mov esi, 0xffff
xor eax, eax
lea r8d, [rax + 0x20]
cmp word [r13], ax
je 0x140015687
mov dword [rbx + 4], ebp
mov ecx, ebp
mov eax, 0xfeff
cmp word [rbx + 0xa], ax
ja 0x1400816de
xor r13d, r13d
mov edx, ecx
sub edx, 1
jne 0x1400156d7
mov r14, qword [rsp + 0x98]
test r14, r14
je 0x140015667
lea r8, [rbx + 8]
mov edx, dword [rsp + 0x88]
mov ecx, r15d
call fcn.14004c950
mov byte [r14], al
test edi, edi
jne 0x14008180f
mov al, bpl
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp word [r13 + 2], si
jne 0x140015622
xor r13d, r13d
cmp word [rbx + 0xc], r13w
jne 0x140015725
movzx edx, word [rbx + 0x1a]
mov ecx, edx
and ecx, 3
jne 0x140081687
mov ecx, edx
shr ecx, 2
and ecx, 7
je 0x1400156be
sub ecx, 1
jne 0x1400816a7
cmp dx, r8w
jae 0x1400816d0
mov dword [rbx + 4], 3
mov ecx, dword [rbx + 4]
jmp 0x140015639
sub edx, 1
je 0x1400157f6
sub edx, 1
jne 0x140015775
test edi, edi
je 0x14001566f
jmp 0x1400817eb
mov ecx, r15d
call fcn.14002fce4
jmp 0x14001557e
mov r9, rbx
mov r8d, eax
mov rdx, r14
mov ecx, r15d
call fcn.140050120
test al, al
jne 0x140081594
mov r9d, dword [rsp + 0x88]
jmp 0x140015589
mov dword [rbx + 4], 4
cmp word [rbx + 0xc], r12w
jae 0x1400157ba
mov r8d, 0xc
mov dword [rbx + 0x28], r13d
lea rdx, [rbx + 0x1c]
mov ecx, r15d
call fcn.14002fff0
mov rax, qword [rbx + 0x14]
sub rax, qword [0x1401a6bd8]
jne 0x140015765
mov rax, qword [rbx + 0x1c]
sub rax, qword [0x1401a6be0]
test rax, rax
je 0x1400157db
mov r8d, 0x20
jmp 0x1400156cf
cmp edx, 1
jne 0x1400816ec
lea ecx, [rdx + 0x2b]
cmp word [rbx + 0xc], r12w
cmovne ecx, r8d
add ecx, dword [rbx + 0x24]
mov dword [rbx], ecx
mov r9d, dword [rsp + 0x88]
add r9d, ecx
mov ecx, r15d
call fcn.14002fce4
cmp eax, r9d
jb 0x140081703
test edi, edi
jne 0x140081714
xor al, al
jmp 0x140015672
mov r8d, 0x18
jmp 0x140015741
mov dword [rcx + 4], 5
mov word [rcx + 0x1c], r13w
mov eax, 1
jmp 0x140015672
mov dword [rbx + 4], r12d
lea rdx, [rbx + 0x34]
mov r8d, 0xc
mov ecx, r15d
call fcn.14002fff0
jmp 0x14001576a
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x1400156e9
sub ecx, 1
jne 0x140015816
mov al, byte [rbx + 0x1c]
mov byte [rdx], al
jmp 0x1400156e9
sub ecx, 1
je 0x14001582a
sub ecx, 1
jne 0x140015825
mov al, r13b
jmp 0x14001580f
sub ecx, 1
jne 0x140015855
mov al, byte [rbx + 0x28]
and al, bpl
jmp 0x14001580f
lea r8, [rsp + 0x78]
mov edx, r9d
mov rcx, rsi
call fcn.140009f54
test al, al
jne 0x1400155b6
jmp 0x1400815eb
call fcn.1400b9b48
int3
cmp ecx, 1
je 0x14001580c
jmp 0x140015820
xor r9d, r9d
xor r8d, r8d
mov edx, ebp
mov rcx, r14
call fcn.140015df8
mov r15d, eax
mov dword [rsp + 0x78], eax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x20]
call fcn.1400c70f4
nop
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x140081583
xor edx, edx
call fcn.140033a30
nop
mov edi, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x88]
jmp 0x14001556f
test edi, edi
je 0x1400157b3
cmp dword [0x1401fcad8], r13d
je 0x1400815ab
call fcn.1400b9b48
int3
mov ecx, edi
and ecx, 0xfffffff
mov rax, qword [0x1401fa3e0]
mov rbx, qword [rax + rcx*8]
shr edi, 0x1c
mov ecx, edi
shl ebp, cl
or dword [rbx + 0x24], ebp
test byte [rbx + 0x28], 0x12
jne 0x1400817b1
mov esi, 0xffff
cmp dword [rbx + 0x24], esi
jne 0x1400157b3
mov r12d, 2
jmp 0x14008174f
cmp qword [rsi + 0x40], r13
jne 0x1400155b6
mov rcx, qword [rsi]
cmp dword [rsp + 0x78], 0x70
jne 0x14008160a
mov edx, 0x49c
call fcn.14005e3e8
int3
mov r8d, dword [rsi + 0x3c]
mov edx, 0x452
call fcn.14005e3e8
int3
xor r8d, r8d
mov edx, r9d
mov rcx, rsi
call fcn.1400b9ff0
nop
jmp 0x1400155b6
test byte [rsi + 0x28], r12b
je 0x140081662
lea r8, [rsp + 0x78]
mov rcx, rsi
call fcn.140009f54
test al, al
jne 0x14008165a
mov r8d, dword [rsi + 0x3c]
add r8d, 0x14
mov edx, 0x452
mov rcx, qword [rsi]
call fcn.14005e3e8
int3
mov eax, dword [rsi + 0x3c]
jmp 0x1400155f8
mov edx, 0x453
mov rcx, qword [rsi]
call fcn.14005e3e8
int3
mov r8d, 0x14
mov rdx, r13
mov rcx, rsi
call fcn.1400b9f24
nop
jmp 0x140015610
sub ecx, 1
je 0x1400156ab
cmp ecx, 1
je 0x1400156ab
mov edx, 0x4ad
mov rcx, r14
call fcn.14005e3e8
int3
sub ecx, 1
je 0x1400156be
sub ecx, 1
je 0x1400156be
cmp ecx, 1
je 0x1400156be
mov edx, 0x4ae
mov rcx, r14
call fcn.14005e3e8
int3
mov edx, 0x4af
mov rcx, r14
call fcn.14005e3e8
int3
mov edx, 0x470
mov rcx, r14
call fcn.14005e3e8
nop
test edi, edi
je 0x1400157b3
cmp dword [0x1401fcad8], r13d
je 0x140081723
call fcn.1400b9b48
nop
mov r8d, r9d
mov edx, 0x453
mov rcx, r14
call fcn.14005e3e8
nop
cmp dword [0x1401fcad8], r13d
je 0x140081723
call fcn.1400b9b48
nop
mov ecx, edi
and ecx, 0xfffffff
mov rax, qword [0x1401fa3e0]
mov rbx, qword [rax + rcx*8]
shr edi, 0x1c
mov ecx, edi
shl ebp, cl
or dword [rbx + 0x24], ebp
test byte [rbx + 0x28], 0x12
jne 0x1400817b1
cmp dword [rbx + 0x24], esi
jne 0x1400157b3
mov rax, qword [0x1401fb548]
lea rcx, [rbx + 8]
lea rdx, [0x1401fb540]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov r8d, dword [0x1401fb524]
mov qword [rax], rcx
inc r8d
mov qword [0x1401fb548], rcx
test byte [rbx + 0x28], 4
mov dword [0x1401fb524], r8d
mov byte [rbx + 0x29], r12b
jne 0x140081799
mov rax, qword [rbx + 0x40]
and dword [rax + 0x14], 0xffffffef
mov qword [rbx + 0x40], r13
cmp r8d, dword [0x1401fb528]
jne 0x1400157b3
call fcn.1400ba23c
nop
jmp 0x1400157b3
lea rdx, [rbx + 8]
mov rax, qword [0x1401fb530]
mov qword [rdx], rax
lea rcx, [0x1401fb530]
mov qword [rdx + 8], rcx
mov qword [0x1401fb530], rdx
mov qword [rax + 8], rdx
mov rcx, rbx
call fcn.140005e44
mov rcx, rbx
call fcn.1400229ac
nop
jmp 0x1400157b3
cmp dword [0x1401fcad8], r13d
je 0x1400817fa
call fcn.1400b9b48
int3
mov ecx, edi
and ecx, 0xfffffff
mov rax, qword [0x1401fa3e0]
mov rbx, qword [rax + rcx*8]
jmp 0x140081831
cmp dword [0x1401fcad8], r13d
je 0x14008181e
call fcn.1400b9b48
int3
mov edx, edi
and edx, 0xfffffff
mov rax, qword [0x1401fa3e0]
mov rbx, qword [rax + rdx*8]
shr edi, 0x1c
mov ecx, edi
mov eax, ebp
shl eax, cl
or dword [rbx + 0x24], eax
test byte [rbx + 0x28], 0x12
jne 0x1400818ae
cmp dword [rbx + 0x24], esi
jne 0x14001566f
mov rax, qword [0x1401fb548]
lea rcx, [rbx + 8]
lea rdx, [0x1401fb540]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov r8d, dword [0x1401fb524]
mov qword [rax], rcx
inc r8d
mov qword [0x1401fb548], rcx
test byte [rbx + 0x28], 4
mov byte [rbx + 0x29], r12b
mov dword [0x1401fb524], r8d
jne 0x140081896
mov rax, qword [rbx + 0x40]
and dword [rax + 0x14], 0xffffffef
mov qword [rbx + 0x40], r13
cmp r8d, dword [0x1401fb528]
jne 0x14001566f
call fcn.1400ba23c
nop
jmp 0x14001566f
lea rdx, [rbx + 8]
mov rax, qword [0x1401fb530]
lea rcx, [0x1401fb530]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
mov qword [0x1401fb530], rdx
mov qword [rax + 8], rdx
mov rcx, rbx
call fcn.140005e44
mov rcx, rbx
call fcn.1400229ac
nop
jmp 0x14001566f