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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
mov ebx, 8
mov qword [rsp + 0x1f8], r9
xor r9d, r9d
cmp byte [rcx + 0x42], 0
mov rsi, rcx
mov qword [rsp + 0x1e8], rdx
mov dword [rsp + 0x1f0], r8d
mov dword [rsp + 0x98], r9d
jne 0x1402bb93d
mov r8d, 1
mov edx, 1
call fcn.1402d38c0
test eax, eax
mov dword [rsp + 0x38], eax
jne 0x1402bb103
cmp dword [rsp + 0x1f0], 0
mov byte [rsi + 0x41], 1
je 0x1402bb17b
mov r8, qword [rsp + 0x200]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x1f8]
call fcn.1402d2970
test eax, eax
mov ebx, eax
jne 0x1402bb0fc
mov eax, dword [rsp + 0x1f0]
mov byte [rsi + 0x40], 1
mov dword [rsp + 0x38], eax
jmp 0x1402bb17b
cmp eax, 5
jne 0x1402bb107
jmp 0x1402bb171
mov ebx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x98], 0
je 0x1402bb12c
lea rdx, [rsi + 0x48]
mov ecx, 0xc
xor eax, eax
mov rdi, rdx
rep stosd dword [rdi], eax
mov rcx, rsi
call fcn.1402bbaf0
cmp byte [rsi + 0x41], 0
je 0x1402bb151
mov r8d, 1
mov edx, 1
mov rcx, rsi
call fcn.1402d3e90
mov byte [rsi + 0x41], 0
test ebx, ebx
jne 0x1402bb93d
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x1f0], eax
mov eax, 5
cmovne ebx, eax
jmp 0x1402bb93d
xor eax, eax
mov qword [rsp + 0x1f8], rax
lea rdx, [rsp + 0x98]
mov rcx, rsi
call fcn.1402d30b0
cmp dword [rsp + 0x98], 0
mov ebx, eax
je 0x1402bb1ad
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
cmp dword [rax], 2
jle 0x1402bb1ad
xor r8d, r8d
xor edx, edx
call fcn.14029da80
test ebx, ebx
jne 0x1402bb112
mov ax, word [rsi + 0x56]
mov r14d, dword [rsi + 0x58]
mov edx, eax
and eax, 0xfe00
shl edx, 0x10
and edx, 0x10000
or edx, eax
test r14d, r14d
mov dword [rsp + 0x3c], edx
je 0x1402bb1f2
cmp dword [rsp + 0x210], edx
je 0x1402bb1f2
mov ecx, 0x10cdf
call fcn.140283940
mov ebx, eax
jmp 0x1402bb8f0
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov eax, dword [rax + 0x60]
cmp eax, r14d
jae 0x1402bb83a
mov eax, dword [rsi + 0x5c]
xor ebx, ebx
mov edi, 1
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x30]
lea rbp, [rax + 0x68]
mov r12d, dword [rbp]
cmp r12d, r14d
jae 0x1402bb290
mov r8, qword [rsp + 0x200]
lea r13d, [rdi + 3]
mov rcx, rsi
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x1f8]
mov r9d, r13d
call fcn.1402d2970
test eax, eax
mov ebx, eax
jne 0x1402bb279
cmp edi, 1
mov eax, 0xffffffff
mov r8d, 1
cmove eax, r14d
mov edx, r13d
mov rcx, rsi
mov dword [rbp], eax
call fcn.1402d3e90
jmp 0x1402bb290
cmp eax, 5
jne 0x1402bb8e6
xor r8d, r8d
mov r14d, r12d
mov qword [rsp + 0x1f8], r8
inc edi
add rbp, 4
cmp edi, 5
jne 0x1402bb221
mov rax, qword [rsp + 0x30]
xor ebp, ebp
mov eax, dword [rax + 0x60]
cmp eax, r14d
jae 0x1402bb831
mov rax, qword [rsp + 0x30]
mov ecx, 0x1000
mov ebx, 7
mov r13d, dword [rax + 0x60]
mov eax, dword [rsi + 0x58]
mov dword [rsp + 0x58], eax
add eax, 0x1000
mov edx, dword [rsp + 0x58]
sub rax, 0xfdf
shr rax, 0xc
mov dword [rsp + 0x74], eax
lea edi, [rax + 1]
cdqe
shl rax, 4
mov dword [rsp + 0x70], edi
lea r12, [rax + rdx + 0x14]
add r12, r12
cmp dword [rsp + 0x58], ecx
cmovbe ecx, dword [rsp + 0x58]
mov ecx, ecx
add rcx, rcx
add rcx, r12
call fcn.1402c5460
test rax, rax
mov rbp, rax
je 0x1402bb83e
xor eax, eax
mov rdi, rbp
mov rcx, r12
rep stosb byte [rdi], al
mov eax, dword [rsp + 0x70]
xor ebx, ebx
mov dword [rbp + 4], eax
lea eax, [r13 + 0x1001]
sub rax, 0xfdf
sar rax, 0xc
mov qword [rsp + 0x60], rdi
mov r13, rax
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xa0]
shl r13, 5
add r13, rbp
mov qword [rsp + 0x68], rax
test ebx, ebx
mov edi, dword [rsp + 0x48]
jne 0x1402bb5c2
cmp dword [rsp + 0x70], edi
jle 0x1402bb58c
lea r8, [rsp + 0xa8]
mov edx, edi
mov rcx, rsi
call fcn.1402d2df0
test eax, eax
mov ebx, eax
jne 0x1402bb57e
mov rax, qword [rsp + 0xb0]
cmp dword [rsp + 0x74], edi
mov edx, dword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
jne 0x1402bb3b1
mov r12d, dword [rsp + 0x58]
sub r12d, edx
jmp 0x1402bb3c5
mov r12, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x40]
sub r12, rax
sar r12, 2
movsxd rcx, dword [rbp + 4]
mov eax, edx
add rax, rax
shl rcx, 5
lea rax, [rcx + rax + 8]
add rax, rbp
mov qword [rsp + 0x50], rax
lea eax, [rdx + 1]
mov dword [rsp + 0x88], eax
xor eax, eax
cmp r12d, eax
jle 0x1402bb3fe
mov rdi, qword [rsp + 0x50]
mov word [rdi + rax*2], ax
inc rax
jmp 0x1402bb3eb
xor edx, edx
xor ecx, ecx
xor eax, eax
mov dword [rsp + 0x9c], edx
lea rdx, [rsp + 0xc0]
xor r15d, r15d
mov rdi, rdx
mov qword [rsp + 0xa0], rcx
mov ecx, 0x34
xor edx, edx
rep stosd dword [rdi], eax
lea r10, [rsp + 0xc8]
cmp r12d, r15d
mov eax, r15d
jle 0x1402bb4f8
mov rdi, qword [rsp + 0x50]
lea rdx, [r15 + r15]
mov dword [rsp + 0x9c], 1
lea r11, [rsp + 0x9c]
add rdx, rdi
xor edi, edi
mov qword [rsp + 0xa0], rdx
bt eax, edi
mov edx, edi
jae 0x1402bb4cc
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x60]
mov rdx, rdi
inc rdi
shl rdx, 4
mov qword [rsp + 0x20], r11
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x28], rax
mov r8d, dword [rsp + rdx + 0xc0]
mov rdx, qword [r10 + rdx]
call fcn.1402d3900
mov eax, dword [rsp + 0x8c]
mov r11, qword [rsp + 0x80]
mov r10, qword [rsp + 0x78]
jmp 0x1402bb467
mov rax, qword [rsp + 0xa0]
mov edi, edi
inc r15
shl rdi, 4
mov qword [rsp + rdi + 0xc8], rax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + rdi + 0xc0], eax
jmp 0x1402bb432
lea edi, [rdx + 1]
lea r15, [rsp + 0xc8]
lea rax, [rsp + 0x9c]
cmp edi, 0xc
ja 0x1402bb556
bt r12d, edi
jae 0x1402bb551
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
mov qword [rsp + 0x20], rax
shl rdx, 4
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + rdx + 0xc0]
mov rdx, qword [r15 + rdx]
call fcn.1402d3900
mov rax, qword [rsp + 0x78]
inc rdi
jmp 0x1402bb50b
mov eax, dword [rsp + 0x88]
mov dword [r13 + 0x24], eax
mov eax, dword [rsp + 0x9c]
mov dword [r13 + 0x20], eax
mov rax, qword [rsp + 0x50]
mov qword [r13 + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [r13 + 0x18], rax
inc qword [rsp + 0x48]
add r13, 0x20
jmp 0x1402bb35b
test ebx, ebx
jne 0x1402bb5c2
mov r8, qword [rsp + 0x200]
mov r9d, 3
mov rcx, rsi
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x1f8]
call fcn.1402d2970
test eax, eax
mov ebx, eax
jne 0x1402bb831
jmp 0x1402bb5d1
mov rcx, rbp
xor ebp, ebp
call fcn.1402c4500
jmp 0x1402bb831
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsi + 0x10]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x80], r14d
mov eax, dword [rsp + 0x208]
sar eax, 2
and eax, 3
mov edx, eax
mov dword [rsp + 0x58], eax
call fcn.14029da50
test eax, eax
mov ebx, eax
jne 0x1402bb7c3
movsxd rdi, dword [rsp + 0x3c]
xor r8d, r8d
mov edx, 0x27
mov eax, dword [rsp + 0x5c]
mov rcx, qword [rsi + 8]
imul rax, rdi
mov qword [rsp + 0xa8], rax
call fcn.14029d9d0
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0xc0]
call fcn.14029da00
test eax, eax
mov ebx, eax
jne 0x1402bb7c3
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
jge 0x1402bb6a2
mov eax, dword [rsi + 0x58]
imul rax, rdi
lea rax, [rcx + rax + 0x10000]
cmp rdx, rax
jle 0x1402bb68c
mov ecx, 0x104c8
call fcn.140283940
test eax, eax
je 0x1402bb6a2
jmp 0x1402bb7c1
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0xa8]
mov edx, 5
call fcn.14029d9f0
mov eax, dword [rsp + 0x3c]
xor r12d, r12d
add eax, 0x18
movsxd r15, eax
movsxd rax, dword [rsp + 0x3c]
mov qword [rsp + 0x48], rax
movsxd rax, dword [rbp + 4]
or edi, 0xffffffff
mov r10d, dword [rbp]
lea r8d, [rax - 1]
shl rax, 5
add rax, rbp
test r8d, r8d
js 0x1402bb71b
mov r9d, dword [rax]
mov edx, dword [rax - 0x18]
cmp edx, r9d
jge 0x1402bb712
mov r11, qword [rax - 0x10]
movsxd rcx, edx
movzx r13d, word [r11 + rcx*2]
mov r11, qword [rax - 8]
mov rcx, r13
mov r11d, dword [r11 + r13*4]
cmp r10d, r11d
jae 0x1402bb70b
cmp r11d, edi
jae 0x1402bb712
add ecx, dword [rax + 4]
mov edi, r11d
mov r12d, ecx
jmp 0x1402bb712
inc edx
mov dword [rax - 0x18], edx
jmp 0x1402bb6d7
dec r8d
sub rax, 0x20
jmp 0x1402bb6cf
cmp edi, 0xffffffff
mov dword [rbp], edi
je 0x1402bb7c3
mov rax, qword [rsp + 0x1e8]
mov eax, dword [rax + 0x198]
test eax, eax
je 0x1402bb74f
mov rax, qword [rsp + 0x1e8]
cmp byte [rax + 0x67], 1
sbb ebx, ebx
and ebx, 2
add ebx, 7
jmp 0x1402bb7c3
cmp r14d, r12d
setb al
cmp dword [rsp + 0x40], r12d
setae dl
or al, dl
jne 0x1402bb6b9
cmp dword [rsp + 0x5c], edi
jb 0x1402bb6b9
lea eax, [r12 - 1]
mov rcx, qword [rsi + 0x10]
imul rax, r15
mov r8d, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x218]
lea r9, [rax + 0x38]
call fcn.14029da20
test eax, eax
jne 0x1402bb7c1
mov rax, qword [rsp + 0x48]
lea r9d, [rdi - 1]
mov rcx, qword [rsi + 8]
mov r8d, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x218]
imul r9, rax
call fcn.14029da90
test eax, eax
je 0x1402bb6b9
mov ebx, eax
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x25
call fcn.14029d9d0
test ebx, ebx
jne 0x1402bb81e
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
mov eax, dword [rax + 0x10]
cmp eax, r14d
je 0x1402bb7f2
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x60], r14d
jmp 0x1402bb81e
mov edx, dword [rsi + 0x5c]
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsi + 8]
imul rdx, rax
call fcn.14029da70
test eax, eax
jne 0x1402bb81c
mov rcx, qword [rsi + 8]
mov edx, dword [rsp + 0x58]
call fcn.14029da50
test eax, eax
je 0x1402bb7e7
mov ebx, eax
mov r8d, 1
mov edx, 3
mov rcx, rsi
call fcn.1402d3e90
cmp ebx, 5
jne 0x1402bb83e
xor ebx, ebx
jmp 0x1402bb83e
xor ebx, ebx
xor ebp, ebp
test ebx, ebx
jne 0x1402bb8e8
cmp dword [rsp + 0x38], 0
je 0x1402bb8e8
mov rax, qword [rsp + 0x30]
mov ebx, 5
mov eax, dword [rax + 0x60]
cmp eax, dword [rsi + 0x58]
jb 0x1402bb8e8
xor ebx, ebx
cmp dword [rsp + 0x38], 1
jle 0x1402bb8e8
lea rdx, [rsp + 0xc0]
mov ecx, 4
call fcn.1402c5a50
mov r8, qword [rsp + 0x200]
mov rcx, rsi
mov dword [rsp + 0x20], 4
mov rdx, qword [rsp + 0x1f8]
mov r9d, 4
call fcn.1402d2970
test eax, eax
mov ebx, eax
jne 0x1402bb8e8
cmp dword [rsp + 0x38], 3
jne 0x1402bb8d1
mov edx, dword [rsp + 0xc0]
mov rcx, rsi
call fcn.1402d39b0
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.14029da70
mov ebx, eax
mov r8d, 4
mov edx, 4
mov rcx, rsi
call fcn.1402d3e90
jmp 0x1402bb8e8
xor ebp, ebp
mov rcx, rbp
call fcn.1402c4500
test ebx, ebx
je 0x1402bb8fd
cmp ebx, 5
jne 0x1402bb112
cmp qword [rsp + 0x220], 0
je 0x1402bb915
mov eax, dword [rsi + 0x58]
mov rdi, qword [rsp + 0x220]
mov dword [rdi], eax
cmp qword [rsp + 0x228], 0
je 0x1402bb112
mov rax, qword [rsi + 0x30]
mov rdi, qword [rsp + 0x228]
mov rax, qword [rax]
mov eax, dword [rax + 0x60]
mov dword [rdi], eax
jmp 0x1402bb112
mov eax, ebx
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret