Function at 0x140250c00
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 0x1402514ed
mov r8d, 1
mov edx, 1
call fcn.1402693c0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140250cb3
cmp dword [rsp + 0x1f0], 0
mov byte [rsi + 0x41], 1
je 0x140250d2b
mov dword [rsp + 0x20], 1
mov r8, qword [rsp + 0x200]
xor r9d, r9d
mov rcx, rsi
mov rdx, qword [rsp + 0x1f8]
call fcn.140268480
mov ebx, eax
test eax, eax
jne 0x140250cac
mov eax, dword [rsp + 0x1f0]
mov byte [rsi + 0x40], 1
mov dword [rsp + 0x38], eax
jmp 0x140250d2b
cmp eax, 5
jne 0x140250cb7
jmp 0x140250d21
mov ebx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x98], 0
je 0x140250cdc
lea rdx, [rsi + 0x48]
mov ecx, 0xc
xor eax, eax
mov rdi, rdx
rep stosd dword [rdi], eax
mov rcx, rsi
call fcn.1402516a0
cmp byte [rsi + 0x41], 0
je 0x140250d01
mov r8d, 1
mov edx, 1
mov rcx, rsi
call fcn.140269990
mov byte [rsi + 0x41], 0
test ebx, ebx
jne 0x1402514ed
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x1f0], eax
mov eax, 5
cmovne ebx, eax
jmp 0x1402514ed
xor eax, eax
mov qword [rsp + 0x1f8], rax
lea rdx, [rsp + 0x98]
mov rcx, rsi
call fcn.140268bb0
cmp dword [rsp + 0x98], 0
mov ebx, eax
je 0x140250d5d
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
cmp dword [rax], 2
jle 0x140250d5d
xor r8d, r8d
xor edx, edx
call fcn.140233770
test ebx, ebx
jne 0x140250cc2
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
mov dword [rsp + 0x3c], edx
test r14d, r14d
je 0x140250da2
cmp dword [rsp + 0x210], edx
je 0x140250da2
mov ecx, 0x10b60
call fcn.140219db0
mov ebx, eax
jmp 0x1402514a0
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
mov eax, dword [rax + 0x60]
cmp eax, r14d
jae 0x1402513ea
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 0x140250e40
mov dword [rsp + 0x20], 1
mov r8, qword [rsp + 0x200]
lea r13d, [rdi + 3]
mov rcx, rsi
mov rdx, qword [rsp + 0x1f8]
mov r9d, r13d
call fcn.140268480
mov ebx, eax
test eax, eax
jne 0x140250e29
cmp edi, 1
mov eax, 0xffffffff
mov edx, r13d
mov rcx, rsi
cmove eax, r14d
mov r8d, 1
mov dword [rbp], eax
call fcn.140269990
jmp 0x140250e40
cmp eax, 5
jne 0x140251496
xor r8d, r8d
mov r14d, r12d
mov qword [rsp + 0x1f8], r8
inc edi
add rbp, 4
cmp edi, 5
jne 0x140250dd1
mov rax, qword [rsp + 0x30]
xor ebp, ebp
mov eax, dword [rax + 0x60]
cmp eax, r14d
jae 0x1402513e1
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.14025afe0
mov rbp, rax
test rax, rax
je 0x1402513ee
xor eax, eax
mov rdi, rbp
mov rcx, r12
xor ebx, ebx
rep stosb byte [rdi], al
mov eax, dword [rsp + 0x70]
mov dword [rbp + 4], eax
lea eax, [r13 + 0x1001]
sub rax, 0xfdf
sar rax, 0xc
mov r13, rax
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x60], rdi
shl r13, 5
mov qword [rsp + 0x68], rax
add r13, rbp
mov edi, dword [rsp + 0x48]
test ebx, ebx
jne 0x140251172
cmp dword [rsp + 0x70], edi
jle 0x14025113c
lea r8, [rsp + 0xa8]
mov edx, edi
mov rcx, rsi
call fcn.1402688f0
mov ebx, eax
test eax, eax
jne 0x14025112e
mov rax, qword [rsp + 0xb0]
mov edx, dword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
cmp dword [rsp + 0x74], edi
jne 0x140250f61
mov r12d, dword [rsp + 0x58]
sub r12d, edx
jmp 0x140250f75
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 0x140250fae
mov rdi, qword [rsp + 0x50]
mov word [rdi + rax*2], ax
inc rax
jmp 0x140250f9b
xor edx, edx
xor ecx, ecx
xor eax, eax
xor r15d, r15d
mov dword [rsp + 0x9c], edx
lea rdx, [rsp + 0xc0]
lea r10, [rsp + 0xc8]
mov rdi, rdx
mov qword [rsp + 0xa0], rcx
mov ecx, 0x34
xor edx, edx
rep stosd dword [rdi], eax
mov eax, r15d
cmp r12d, r15d
jle 0x1402510a8
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 0x14025107c
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x60]
mov rdx, rdi
inc rdi
mov qword [rsp + 0x20], r11
shl rdx, 4
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + rdx + 0xc0]
mov rdx, qword [r10 + rdx]
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x80], r11
call fcn.140269400
mov eax, dword [rsp + 0x8c]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
jmp 0x140251017
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 0x140250fe2
lea edi, [rdx + 1]
lea r15, [rsp + 0xc8]
lea rax, [rsp + 0x9c]
cmp edi, 0xc
ja 0x140251106
bt r12d, edi
jae 0x140251101
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.140269400
mov rax, qword [rsp + 0x78]
inc rdi
jmp 0x1402510bb
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 0x140250f0b
test ebx, ebx
jne 0x140251172
mov dword [rsp + 0x20], 1
mov r9d, 3
mov rcx, rsi
mov r8, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
call fcn.140268480
mov ebx, eax
test eax, eax
jne 0x1402513e1
jmp 0x140251181
mov rcx, rbp
xor ebp, ebp
call fcn.14025a080
jmp 0x1402513e1
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.140233740
mov ebx, eax
test eax, eax
jne 0x140251373
mov eax, dword [rsp + 0x5c]
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x27
movsxd rdi, dword [rsp + 0x3c]
imul rax, rdi
mov qword [rsp + 0xa8], rax
call fcn.1402336c0
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0xc0]
call fcn.1402336f0
mov ebx, eax
test eax, eax
jne 0x140251373
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
jge 0x140251252
mov eax, dword [rsi + 0x58]
imul rax, rdi
lea rax, [rcx + rax + 0x10000]
cmp rdx, rax
jle 0x14025123c
mov ecx, 0x10398
call fcn.140219db0
test eax, eax
je 0x140251252
jmp 0x140251371
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0xa8]
mov edx, 5
call fcn.1402336e0
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]
mov r10d, dword [rbp]
or edi, 0xffffffff
lea r8d, [rax - 1]
shl rax, 5
add rax, rbp
test r8d, r8d
js 0x1402512cb
mov r9d, dword [rax]
mov edx, dword [rax - 0x18]
cmp edx, r9d
jge 0x1402512c2
mov r11, qword [rax - 0x10]
movsxd rcx, edx
movzx r13d, word [r11 + rcx*2]
mov r11, qword [rax - 8]
mov r11d, dword [r11 + r13*4]
mov rcx, r13
cmp r10d, r11d
jae 0x1402512bb
cmp r11d, edi
jae 0x1402512c2
add ecx, dword [rax + 4]
mov edi, r11d
mov r12d, ecx
jmp 0x1402512c2
inc edx
mov dword [rax - 0x18], edx
jmp 0x140251287
dec r8d
sub rax, 0x20
jmp 0x14025127f
mov dword [rbp], edi
cmp edi, 0xffffffff
je 0x140251373
mov rax, qword [rsp + 0x1e8]
mov eax, dword [rax + 0x198]
test eax, eax
je 0x1402512ff
mov rax, qword [rsp + 0x1e8]
cmp byte [rax + 0x67], 1
sbb ebx, ebx
and ebx, 2
add ebx, 7
jmp 0x140251373
cmp r14d, r12d
setb al
cmp dword [rsp + 0x40], r12d
setae dl
or al, dl
jne 0x140251269
cmp dword [rsp + 0x5c], edi
jb 0x140251269
lea eax, [r12 - 1]
mov rcx, qword [rsi + 0x10]
mov r8d, dword [rsp + 0x3c]
imul rax, r15
mov rdx, qword [rsp + 0x218]
lea r9, [rax + 0x38]
call fcn.140233710
test eax, eax
jne 0x140251371
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.140233780
test eax, eax
je 0x140251269
mov ebx, eax
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x25
call fcn.1402336c0
test ebx, ebx
jne 0x1402513ce
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
mov eax, dword [rax + 0x10]
cmp eax, r14d
je 0x1402513a2
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x60], r14d
jmp 0x1402513ce
mov edx, dword [rsi + 0x5c]
movsxd rax, dword [rsp + 0x3c]
mov rcx, qword [rsi + 8]
imul rdx, rax
call fcn.140233760
test eax, eax
jne 0x1402513cc
mov rcx, qword [rsi + 8]
mov edx, dword [rsp + 0x58]
call fcn.140233740
test eax, eax
je 0x140251397
mov ebx, eax
mov r8d, 1
mov edx, 3
mov rcx, rsi
call fcn.140269990
cmp ebx, 5
jne 0x1402513ee
xor ebx, ebx
jmp 0x1402513ee
xor ebx, ebx
xor ebp, ebp
test ebx, ebx
jne 0x140251498
cmp dword [rsp + 0x38], 0
je 0x140251498
mov rax, qword [rsp + 0x30]
mov ebx, 5
mov eax, dword [rax + 0x60]
cmp eax, dword [rsi + 0x58]
jb 0x140251498
xor ebx, ebx
cmp dword [rsp + 0x38], 1
jle 0x140251498
lea rdx, [rsp + 0xc0]
mov ecx, 4
call fcn.14025b5d0
mov dword [rsp + 0x20], 4
mov rcx, rsi
mov r8, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov r9d, 4
call fcn.140268480
mov ebx, eax
test eax, eax
jne 0x140251498
cmp dword [rsp + 0x38], 3
jne 0x140251481
mov edx, dword [rsp + 0xc0]
mov rcx, rsi
call fcn.1402694b0
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.140233760
mov ebx, eax
mov r8d, 4
mov edx, 4
mov rcx, rsi
call fcn.140269990
jmp 0x140251498
xor ebp, ebp
mov rcx, rbp
call fcn.14025a080
test ebx, ebx
je 0x1402514ad
cmp ebx, 5
jne 0x140250cc2
cmp qword [rsp + 0x220], 0
je 0x1402514c5
mov eax, dword [rsi + 0x58]
mov rdi, qword [rsp + 0x220]
mov dword [rdi], eax
cmp qword [rsp + 0x228], 0
je 0x140250cc2
mov rax, qword [rsi + 0x30]
mov rdi, qword [rsp + 0x228]
mov rax, qword [rax]
mov eax, dword [rax + 0x60]
mov dword [rdi], eax
jmp 0x140250cc2
mov eax, ebx
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret