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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [rcx + 0x70]
mov r10, rcx
mov r14, qword [rcx + 8]
mov rsi, rdx
mov r15, qword [rcx + 0x80]
mov rbx, r9
mov r13d, dword [rcx + 0x104]
mov edx, 1
mov qword [rsp + 0x80], rax
mov rbp, r9
mov eax, dword [rcx + 0x108]
mov ecx, dword [rcx + 0x100]
mov r9, qword [rsp + 0x100]
shl edx, cl
mov r8d, r9d
mov ecx, dword [r10 + 0x1c]
sub r8d, r14d
add r8d, ebx
mov dword [rsp + 0x40], eax
lea r12, [rbx + r9]
mov qword [rsp + 0x48], r15
lea rax, [r12 - 8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x98], rax
mov eax, r8d
sub eax, ecx
mov qword [rsp + 0x70], r14
sub r8d, edx
cmp eax, edx
cmovbe r8d, ecx
cmp dword [r10 + 0x28], 0
cmovne r8d, ecx
cmp dword [r10 + 0x18], r8d
mov r11d, r8d
mov edx, r8d
cmova r11d, dword [r10 + 0x18]
mov eax, r11d
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x3c], r11d
lea rcx, [r11 + r14]
mov qword [rsp + 0x50], rcx
mov rcx, qword [r10 + 0x10]
add rdx, rcx
mov qword [rsp + 0x78], rcx
add rax, rcx
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rax
mov eax, dword [rdx]
mov edi, dword [rdx + 4]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0xe0], edi
cmp r11d, r8d
jne 0x140199235
mov qword [rsp + 0x20], r9
mov r8, rdx
mov r9, rbx
mov rdx, rsi
mov rcx, r10
call fcn.140195910
jmp 0x140199d24
lea rcx, [r12 - 8]
cmp rbx, rcx
jae 0x140199d19
mov eax, dword [rsp + 0x108]
sub eax, 4
je 0x140199297
sub eax, 1
je 0x14019928a
sub eax, 1
je 0x14019927d
sub eax, 1
je 0x140199270
cmp eax, 1
jne 0x140199297
mov edx, r13d
mov rcx, rbx
call fcn.140195900
jmp 0x1401992a2
mov edx, r13d
mov rcx, rbx
call fcn.1401958d0
jmp 0x1401992a2
mov edx, r13d
mov rcx, rbx
call fcn.1401958a0
jmp 0x1401992a2
mov edx, r13d
mov rcx, rbx
call fcn.140195870
jmp 0x1401992a2
mov edx, r13d
mov rcx, rbx
call fcn.140195830
mov r10d, dword [r15 + rax*4]
mov rcx, rbx
mov edx, dword [rsp + 0x40]
cmp r10d, r11d
mov r15, r14
mov dword [rsp + 0x60], r10d
cmovb r15, qword [rsp + 0x78]
mov r9, rax
add r15, r10
call fcn.140195900
mov rcx, qword [rsp + 0x80]
mov edx, ebx
mov r8d, dword [rcx + rax*4]
cmp r8d, r11d
mov dword [rsp + 0x88], r8d
lea rcx, [rcx + rax*4]
mov rax, qword [rsp + 0x70]
cmovb r14, qword [rsp + 0x78]
mov r11, rax
sub edx, eax
add r14, r8
mov dword [rcx], edx
mov edi, edx
sub edi, dword [rsp + 0x100]
inc edi
mov dword [rsp + 0xf8], edx
cmp edi, dword [rsp + 0x3c]
mov eax, edi
cmovb r11, qword [rsp + 0x78]
add r11, rax
mov dword [rsp + 0x38], edi
mov rax, qword [rsp + 0x48]
mov dword [rax + r9*4], edx
mov eax, edx
sub eax, dword [rsp + 0x58]
xor edx, edx
mov r9d, dword [rsp + 0x3c]
inc eax
cmp dword [rsp + 0x100], eax
mov ecx, r9d
setbe dl
sub ecx, edi
xor eax, eax
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x1401994b4
mov eax, dword [rbx + 1]
lea r12, [rbx + 1]
cmp dword [r11], eax
jne 0x1401994af
mov rdx, qword [rsp + 0x30]
lea r14, [rbx + 5]
cmp dword [rsp + 0x38], r9d
mov rdi, rdx
mov r8, rdx
mov rcx, r14
cmovb rdi, qword [rsp + 0x68]
add r11, 4
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r14
call fcn.140195450
mov rbx, rax
lea rcx, [rax + r11]
cmp rcx, rdi
je 0x1401993b5
mov r14, qword [rsp + 0x30]
jmp 0x1401993ce
mov rdx, qword [rsp + 0x50]
lea rcx, [rax + r14]
mov r14, qword [rsp + 0x30]
mov r8, r14
call fcn.140195450
add rbx, rax
mov rcx, qword [rsi + 0x18]
lea r15, [r14 - 0x20]
lea rdi, [rbx + 4]
mov qword [rsp + 0x60], r15
mov rbx, r12
mov rdx, rbp
sub r12, rbp
lea r8, [r12 + rbp]
cmp r8, r15
ja 0x140199445
call fcn.140154830
cmp r12, 0x10
jbe 0x14019944d
mov rcx, qword [rsi + 0x18]
lea rax, [r12 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.140154830
cmp rax, 0x10
jle 0x14019944d
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x140199424
jmp 0x14019944d
mov r9, r15
call fcn.140158500
add qword [rsi + 0x18], r12
mov rcx, qword [rsi + 8]
cmp r12, 0xffff
jbe 0x140199472
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r12w
lea rdx, [rdi - 3]
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x140199982
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
jmp 0x140199982
mov r12, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x58]
cmp r8d, r11d
jbe 0x140199660
mov rax, qword [rbx]
cmp qword [r14], rax
jne 0x140199660
mov r15, qword [rsp + 0x50]
lea r11, [r14 + 8]
cmp r8d, r9d
lea rcx, [rbx + 8]
mov rdi, r12
mov r8, r12
cmovb rdi, qword [rsp + 0x68]
mov rdx, r11
cmovb r15, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, r12
cmovb r8, rcx
lea rcx, [rbx + 8]
call fcn.140195450
mov r12, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x140199534
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 8]
add rcx, rax
mov r8, r11
call fcn.140195450
add r12, rax
xor r8d, r8d
lea rdi, [r12 + 8]
mov r12d, dword [rsp + 0xf8]
mov ecx, r8d
sub r12d, dword [rsp + 0x88]
mov eax, r8d
cmp r14, r15
seta cl
cmp rbx, rbp
seta al
test eax, ecx
je 0x14019959c
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14 - 1]
lea rdx, [rbx - 1]
dec r14
cmp byte [rdx], al
jne 0x14019959c
inc rdi
mov ecx, r8d
cmp rdx, rbp
mov eax, r8d
mov rbx, rdx
seta cl
cmp r14, r15
seta al
test eax, ecx
jne 0x140199570
mov eax, dword [rsp + 0x100]
lea r15, [r11 - 0x20]
mov rcx, qword [rsi + 0x18]
mov r14, rbx
sub r14, rbp
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x100], r12d
mov rdx, rbp
mov qword [rsp + 0x60], r15
lea r8, [r14 + rbp]
cmp r8, r15
ja 0x140199624
call fcn.140154830
cmp r14, 0x10
jbe 0x14019962c
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.140154830
cmp rax, 0x10
jle 0x14019962c
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x140199603
jmp 0x14019962c
mov r9, r15
call fcn.140158500
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140199651
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r12 + 3]
jmp 0x140199952
cmp r10d, r11d
jbe 0x140199cd1
mov eax, dword [rbx]
cmp dword [r15], eax
jne 0x140199cd1
mov edx, dword [rsp + 0x40]
lea r9, [rbx + 1]
mov rcx, r9
mov qword [rsp + 0x88], r9
call fcn.140195900
mov rcx, qword [rsp + 0x80]
mov r12d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
mov r8d, dword [rsp + 0x3c]
cmp r12d, r8d
mov r14, qword [rsp + 0x70]
cmovb r14, qword [rsp + 0x78]
mov eax, dword [rsp + 0xf8]
add r14, r12
inc eax
mov dword [rcx], eax
cmp r12d, r11d
jbe 0x1401997c5
mov rax, qword [r9]
cmp qword [r14], rax
jne 0x1401997c5
mov rdx, qword [rsp + 0x30]
lea r9, [rbx + 9]
mov r15, qword [rsp + 0x50]
lea r11, [r14 + 8]
cmp r12d, r8d
mov qword [rsp + 0xe0], r9
mov rdi, rdx
mov r8, rdx
cmovb rdi, qword [rsp + 0x68]
mov rcx, r9
cmovb r15, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
mov rcx, r9
call fcn.140195450
mov rbx, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x14019974b
mov rcx, qword [rsp + 0xe0]
mov r8, r11
mov rdx, qword [rsp + 0x50]
add rcx, rax
call fcn.140195450
add rbx, rax
mov r8d, dword [rsp + 0xf8]
lea rdi, [rbx + 8]
mov rbx, qword [rsp + 0x88]
xor r9d, r9d
sub r8d, r12d
mov ecx, r9d
inc r8d
mov eax, r9d
cmp rbx, rbp
mov dword [rsp + 0x38], r8d
seta cl
cmp r14, r15
seta al
test eax, ecx
je 0x14019988c
nop word [rax + rax]
movzx eax, byte [r14 - 1]
lea rdx, [rbx - 1]
dec r14
cmp byte [rdx], al
jne 0x14019988c
inc rdi
mov ecx, r9d
cmp rdx, rbp
mov eax, r9d
mov rbx, rdx
seta cl
cmp r14, r15
seta al
test eax, ecx
jne 0x140199790
jmp 0x14019988c
mov rdx, qword [rsp + 0x30]
lea r11, [r15 + 4]
mov r14, qword [rsp + 0x50]
lea rcx, [rbx + 4]
cmp r10d, r8d
mov rdi, rdx
mov r8, rdx
cmovb rdi, qword [rsp + 0x68]
cmovb r14, qword [rsp + 0x90]
sub rcx, r11
add rcx, rdi
cmp rcx, rdx
mov rdx, r11
cmovb r8, rcx
lea rcx, [rbx + 4]
call fcn.140195450
mov r12, rax
lea rcx, [rax + r11]
mov r11, qword [rsp + 0x30]
cmp rcx, rdi
jne 0x140199830
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 4]
add rcx, rax
mov r8, r11
call fcn.140195450
add r12, rax
mov r8d, dword [rsp + 0xf8]
lea rdi, [r12 + 4]
sub r8d, dword [rsp + 0x60]
xor r9d, r9d
cmp r15, r14
mov dword [rsp + 0x38], r8d
mov ecx, r9d
mov eax, r9d
seta cl
cmp rbx, rbp
seta al
test eax, ecx
je 0x14019988c
movzx eax, byte [r15 - 1]
lea rdx, [rbx - 1]
dec r15
cmp byte [rdx], al
jne 0x14019988c
inc rdi
mov ecx, r9d
cmp rdx, rbp
mov eax, r9d
mov rbx, rdx
seta cl
cmp r15, r14
seta al
test eax, ecx
jne 0x140199860
mov eax, dword [rsp + 0x100]
lea r15, [r11 - 0x20]
mov rcx, qword [rsi + 0x18]
mov r14, rbx
sub r14, rbp
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x100], r8d
mov rdx, rbp
mov qword [rsp + 0x60], r15
lea rax, [r14 + rbp]
cmp rax, r15
ja 0x140199914
call fcn.140154830
cmp r14, 0x10
jbe 0x140199924
mov rcx, qword [rsi + 0x18]
lea rax, [r14 - 0x10]
add rcx, 0x10
lea rdx, [rbp + 0x10]
lea r8, [rcx + rax]
call fcn.140154830
cmp rax, 0x10
jle 0x14019991f
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
call fcn.140154830
add rcx, 0x10
add rdx, 0x10
cmp rcx, r8
jb 0x1401998f3
jmp 0x14019991f
mov r9, r15
mov r8, rax
call fcn.140158500
mov r8d, dword [rsp + 0x38]
add qword [rsi + 0x18], r14
mov rcx, qword [rsi + 8]
cmp r14, 0xffff
jbe 0x140199949
mov rax, rcx
mov dword [rsi + 0x48], 1
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov word [rcx + 4], r14w
lea ecx, [r8 + 3]
mov rax, qword [rsi + 8]
lea rdx, [rdi - 3]
mov dword [rax], ecx
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x14019997d
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov r14, qword [rsp + 0x30]
add rbx, rdi
mov word [rcx + 6], dx
add qword [rsi + 8], 8
lea rdi, [r14 - 8]
mov rbp, rbx
cmp rbx, rdi
ja 0x140199ce1
mov r10d, dword [rsp + 0xf8]
mov r15, qword [rsp + 0x70]
add r10d, 2
mov edx, dword [rsp + 0x40]
mov r11d, r10d
add r11, r15
mov rcx, r11
call fcn.140195900
mov r12, qword [rsp + 0x80]
lea rcx, [rbx - 2]
mov r9d, ebx
mov edi, ebx
sub r9d, r15d
sub edi, r15d
sub r9d, 2
mov dword [r12 + rax*4], r10d
call fcn.140195900
mov dword [r12 + rax*4], r9d
mov r9d, dword [rsp + 0x108]
mov eax, r9d
sub eax, 4
je 0x140199aa0
sub eax, 1
je 0x140199a7e
sub eax, 1
je 0x140199a5c
sub eax, 1
je 0x140199a37
cmp eax, 1
jne 0x140199aa0
mov edx, r13d
mov rcx, r11
call fcn.140195900
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
call fcn.140195900
jmp 0x140199ae0
mov edx, r13d
mov rcx, r11
call fcn.1401958d0
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.1401958d0
jmp 0x140199ae0
mov edx, r13d
mov rcx, r11
call fcn.1401958a0
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.1401958a0
jmp 0x140199ae0
mov edx, r13d
mov rcx, r11
call fcn.140195870
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov edx, r13d
call fcn.140195870
jmp 0x140199ae0
mov edx, r13d
mov rcx, r11
call fcn.140195830
mov r15, qword [rsp + 0x48]
lea rcx, [rbx - 1]
mov dword [r15 + rax*4], r10d
mov eax, r9d
sub eax, 4
je 0x140199adb
sub eax, 1
je 0x140199a96
sub eax, 1
je 0x140199a74
sub eax, 1
je 0x140199a4f
cmp eax, 1
jne 0x140199adb
call fcn.140195900
jmp 0x140199ae0
call fcn.140195830
mov rdx, rax
xor r10d, r10d
lea eax, [rdi - 1]
mov edi, dword [rsp + 0xe0]
mov dword [r15 + rdx*4], eax
jmp 0x140199b05
mov r14, qword [rsp + 0x30]
mov rax, qword [rsp + 0x70]
mov edx, r10d
mov r9d, dword [rsp + 0x3c]
mov r12d, ebx
mov r11, qword [rsp + 0x78]
sub r12d, eax
mov r8d, r12d
mov ecx, r9d
sub r8d, edi
cmp r8d, r9d
cmovae r11, rax
mov eax, r8d
add r11, rax
mov eax, r12d
sub eax, dword [rsp + 0x58]
cmp edi, eax
mov eax, r10d
setbe dl
sub ecx, r8d
dec ecx
cmp ecx, 3
setae al
test eax, edx
je 0x140199ced
mov eax, dword [rbx]
cmp dword [r11], eax
jne 0x140199ced
cmp r8d, r9d
lea r15, [rbx + 4]
mov rdi, r14
mov rcx, r15
cmovb rdi, qword [rsp + 0x68]
mov r8, r14
add r11, 4
sub rcx, r11
mov rdx, r11
add rcx, rdi
cmp rcx, r14
cmovb r8, rcx
mov rcx, r15
call fcn.140195450
mov r14, rax
lea rcx, [rax + r11]
cmp rcx, rdi
jne 0x140199bb4
mov r8, qword [rsp + 0x30]
lea rcx, [rax + r15]
mov rdx, qword [rsp + 0x50]
call fcn.140195450
add r14, rax
mov eax, dword [rsp + 0xe0]
add r14, 4
mov edi, dword [rsp + 0x100]
mov rdx, rbp
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x18]
mov dword [rsp + 0xe0], edi
mov dword [rsp + 0x100], eax
cmp rbp, r15
ja 0x140199bec
call fcn.140154830
jmp 0x140199bf7
mov r9, r15
mov r8, rbp
call fcn.140158500
mov rax, qword [rsi + 8]
lea rdx, [r14 - 3]
xor r10d, r10d
mov word [rax + 4], r10w
mov rax, qword [rsi + 8]
mov dword [rax], 1
mov rcx, qword [rsi + 8]
cmp rdx, 0xffff
jbe 0x140199c32
mov rax, rcx
mov dword [rsi + 0x48], 2
sub rax, qword [rsi]
sar rax, 3
mov dword [rsi + 0x4c], eax
mov eax, dword [rsp + 0x108]
mov word [rcx + 6], dx
add qword [rsi + 8], 8
sub eax, 4
je 0x140199c8f
sub eax, 1
je 0x140199c82
sub eax, 1
je 0x140199c75
sub eax, 1
je 0x140199c68
cmp eax, 1
jne 0x140199c8f
mov edx, r13d
mov rcx, rbx
call fcn.140195900
jmp 0x140199c9a
mov edx, r13d
mov rcx, rbx
call fcn.1401958d0
jmp 0x140199c9a
mov edx, r13d
mov rcx, rbx
call fcn.1401958a0
jmp 0x140199c9a
mov edx, r13d
mov rcx, rbx
call fcn.140195870
jmp 0x140199c9a
mov edx, r13d
mov rcx, rbx
call fcn.140195830
mov r15, qword [rsp + 0x48]
mov rcx, rbx
mov edx, dword [rsp + 0x40]
mov dword [r15 + rax*4], r12d
call fcn.140195900
mov rcx, qword [rsp + 0x80]
add rbx, r14
mov rbp, rbx
mov dword [rcx + rax*4], r12d
cmp rbx, qword [rsp + 0x98]
jbe 0x140199b00
jmp 0x140199ced
mov rcx, rbx
inc rbx
sub rcx, rbp
sar rcx, 8
add rbx, rcx
mov r15, qword [rsp + 0x48]
mov edi, dword [rsp + 0xe0]
mov r12, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x70]
cmp rbx, qword [rsp + 0x98]
jb 0x140199243
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xf0]
sub r12, rbp
mov dword [rdx], eax
mov rax, r12
mov dword [rdx + 4], edi
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret