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

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r9
push rbp
push rsi
push r12
sub rsp, 0xa0
movsxd r12, dword [rcx]
xor ebp, ebp
mov rsi, rcx
add r12, rcx
cmp edx, 0x271f
lea r8, [rax + 0x18]
jg 0x14019926a
cmp edx, 0x271f
je 0x140199243
add edx, 0xfffff060
cmp edx, 0x31
ja case.0x140198ac3.4018
movsxd rax, edx
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x199368]
add rcx, rdx
jmp rcx
mov eax, dword [r8]
cmp eax, 0x800
je 0x140198add
cmp eax, 0x801
je 0x140198add
cmp eax, 0x803
jne 0x140198aea
cmp dword [rsi + 0x37ac], ebp
jne 0x140198afb
cmp dword [rsi + 0x6c], eax
je 0x140198afb
or ebp, 0xffffffff
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov dword [rsi + 0x6c], eax
mov dword [rsi + 0xc0], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x6c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov ecx, dword [r8]
cmp ecx, 0xfffffc18
je 0x140198b78
cmp ecx, 0xffffffff
je 0x140198b78
test ecx, ecx
jle 0x1401992f9
cmp ecx, 0x1f4
jg 0x140198b6a
mov ecx, 0x1f4
mov eax, ebp
mov dword [rsi + 0xa4], ecx
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [rsi + 0x70]
imul eax, eax, 0x493e0
cmp ecx, eax
cmovg ecx, eax
mov dword [rsi + 0xa4], ecx
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r10, qword [r8]
test r10, r10
je 0x1401992f9
mov edx, dword [rsi + 0x379c]
mov r8d, 0x4fc
mov rcx, rsi
call fcn.140195850
mov dword [r10], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
jl 0x140198bca
cmp eax, dword [rsi + 0x70]
jle 0x140198bd5
cmp eax, 0xfffffc18
jne 0x1401992f9
mov dword [rsi + 0x78], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x78]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov edx, dword [r8]
lea eax, [rdx - 0x44d]
cmp eax, 4
ja 0x1401992f9
mov dword [rsi + 0x84], edx
cmp edx, 0x44d
jne 0x140198c3a
mov dword [rsi + 0x14], 0x1f40
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov ecx, 0x3e80
mov r8d, 0x2ee0
cmp edx, 0x44e
cmove ecx, r8d
mov eax, ebp
mov dword [rsi + 0x14], ecx
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x84]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 0x44d
jl 0x140198c93
cmp eax, 0x451
jle 0x140198c9e
cmp eax, 0xfffffc18
jne 0x1401992f9
mov dword [rsi + 0x80], eax
cmp eax, 0x44d
je 0x140198c25
cmp eax, 0x44e
mov ecx, 0x3e80
mov r8d, 0x2ee0
cmove ecx, r8d
mov eax, ebp
mov dword [rsi + 0x14], ecx
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x37a0]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
ja 0x1401992f9
mov dword [rsi + 0xb8], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0xb8]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8d, dword [r8]
cmp r8d, 0xa
ja 0x1401992f9
mov edx, 0xfaa
mov rcx, r12
mov dword [rsi + 0x2c], r8d
call fcn.1401a20e0
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x2c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
ja 0x1401992f9
mov dword [rsi + 0x30], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x30]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8d, dword [r8]
cmp r8d, 0x64
ja 0x1401992f9
mov edx, 0xfae
mov rcx, r12
mov dword [rsi + 0x28], r8d
call fcn.1401a20e0
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x28]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
ja 0x1401992f9
mov r9d, 1
mov dword [rsi + 0x94], eax
sub r9d, eax
mov eax, ebp
mov dword [rsi + 0x3c], r9d
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x94]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
ja 0x1401992f9
mov dword [rsi + 0x98], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x98]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 0xfffffc18
je 0x140198eb7
cmp eax, 0xbb9
je 0x140198eb7
cmp eax, 0xbba
jne 0x1401992f9
mov dword [rsi + 0x7c], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x7c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r9, qword [r8]
test r9, r9
je 0x1401992f9
mov eax, 0x51eb851f
imul dword [rsi + 0x90]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [r9], edx
cmp dword [rsi + 0x6c], 0x803
je 0x14019935a
mov eax, dword [rsi + 0x74]
lea ecx, [rdx + rax]
mov eax, ebp
mov dword [r9], ecx
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x90]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x46dc]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov ecx, dword [r8]
lea eax, [rcx - 8]
cmp eax, 0x10
ja 0x1401992f9
mov dword [rsi + 0xa8], ecx
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0xa8]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 0x1388
je 0x140199005
cmp eax, 0x1389
je 0x140199005
cmp eax, 0x138a
je 0x140199005
cmp eax, 0x138b
je 0x140199005
cmp eax, 0x138c
je 0x140199005
cmp eax, 0x138d
je 0x140199005
cmp eax, 0x138e
je 0x140199005
cmp eax, 0x138f
je 0x140199005
cmp eax, 0x1390
je 0x140199005
cmp eax, 0x1391
jne 0x1401992f9
mov dword [rsi + 0x9c], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x9c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 1
ja 0x1401992f9
mov dword [rsi + 0x4c], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x4c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8d, dword [r8]
cmp r8d, 1
ja 0x1401992f9
mov edx, 0xfce
mov rcx, r12
call fcn.1401a20e0
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8, qword [r8]
test r8, r8
je 0x1401992f9
mov edx, 0xfcf
mov rcx, r12
call fcn.1401a20e0
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rdi
movsxd rdi, dword [rsi + 4]
lea rcx, [rsi + 0xbc]
add rdi, rsi
call fcn.1401a3ef0
lea rbx, [rsi + 0x3770]
mov r8, rsi
sub r8, rbx
xor edx, edx
mov rcx, rbx
add r8, 0x46e0
call fcn.1401e6750
mov edx, 0xfbc
mov rcx, r12
call fcn.1401a20e0
mov edx, dword [rsi + 0xb4]
lea r8, [rsp + 0x20]
mov rcx, rdi
call fcn.1401a3780
mov r11d, dword [rsi + 0x70]
mov r9d, 1
mov eax, 0x4000
lea ecx, [r9 + 0x3b]
mov dword [rsi + 0x377c], 0x3f800000
mov dword [rbx], r11d
mov dword [rsi + 0x37ac], r9d
mov dword [rsi + 0x3790], 0x3e9
mov word [rsi + 0x3774], ax
mov dword [rsi + 0x37a0], 0x451
call fcn.1401a5b60
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
shl eax, 8
mov dword [rsi + 0x3778], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
cmp dword [rsi + 0x38], ebp
je 0x14019920f
mov eax, dword [rsi + 0x3794]
cmp eax, 0x3e8
je 0x1401991ba
cmp eax, 0x3e9
jne 0x14019920f
movsxd rax, dword [rsi + 4]
mov r9d, 1
mov r8d, ebp
add rax, rsi
mov dword [rcx], r9d
cmp dword [rsi + 0xc], ebp
jle 0x14019935a
add rax, 0x17d8
nop dword [rax]
cmp dword [rcx], ebp
je 0x1401991ee
cmp dword [rax], 0xa
jl 0x1401991ee
mov edx, r9d
jmp 0x1401991f0
mov edx, ebp
inc r8d
mov dword [rcx], edx
add rax, 0x2768
cmp r8d, dword [rsi + 0xc]
jl 0x1401991e0
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
cmp dword [rsi + 0xb8], ebp
je 0x140199233
cmp dword [rsi + 0x46d0], 0xa
mov eax, ebp
setge al
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov dword [rcx], ebp
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8, qword [r8]
test r8, r8
je 0x1401992f9
mov edx, 0x271f
mov rcx, r12
call fcn.1401a20e0
mov ebp, eax
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
sub edx, 0x2728
je 0x140199341
sub edx, 2
je 0x14019931c
sub edx, 0x3d0
je 0x1401992e1
sub edx, 0x10
je 0x1401992c2
cmp edx, 1
je 0x1401992a4
mov ebp, 0xfffffffb
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [r8]
test rcx, rcx
je 0x1401992f9
mov eax, dword [rsi + 0x8c]
mov dword [rcx], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov ecx, dword [r8]
lea eax, [rcx + 1]
cmp eax, 0x65
ja 0x1401992f9
mov dword [rsi + 0x8c], ecx
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov eax, dword [r8]
cmp eax, 0x3e8
jl 0x1401992f2
cmp eax, 0x3ea
jle 0x140199308
cmp eax, 0xfffffc18
je 0x140199308
or eax, 0xffffffff
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov dword [rcx + 0x88], eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8, qword [r8]
mov edx, 0x272a
mov qword [rcx + 0x37b0], r8
mov rcx, r12
call fcn.1401a20e0
mov ebp, eax
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret
mov r8d, dword [r8]
mov edx, 0x2728
mov dword [rcx + 0xb0], r8d
mov rcx, r12
call fcn.1401a20e0
mov ebp, eax
mov eax, ebp
add rsp, 0xa0
pop r12
pop rsi
pop rbp
ret