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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov ebx, r8d
mov r14, rdx
mov rsi, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov byte [rcx + 0xd8], 0
mov rcx, qword [rcx + 0x28]
mov rax, qword [rsi + 0xd0]
lea rdi, [rsi + 0x30]
cmp rax, rcx
je 0x1405131ba
cmp rax, rdi
je 0x1405131ba
mov rcx, rax
call fcn.1405118c0
mov rcx, qword [rsi + 0x28]
mov qword [rsi + 0xd0], 0
cmp rcx, rdi
je 0x1405131d3
call fcn.1405118c0
mov qword [rsi + 0x28], rdi
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xb0], 0
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x80], 0
test r14, r14
je 0x140513237
mov byte [rsi + 0x1a], 0
mov byte [rsi + 0x14], 0
mov byte [rsi + 8], 0
mov dword [rsp + 0x2c], 0
lea r9, [rsp + 0x2c]
mov rcx, r14
mov rdx, rdi
mov r8d, 0x9d
test bl, bl
je 0x140513281
call fcn.1404d2540
jmp 0x140513286
lea rbx, [0x1406aeb30]
mov rcx, rbx
call fcn.140500ca0
mov rdi, qword [0x1406aeb10]
mov rcx, rbx
call fcn.140500ce0
test rdi, rdi
jne 0x140513271
mov dword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
xor ecx, ecx
call fcn.140512e60
mov rdi, rax
mov rcx, rsi
mov rdx, rdi
call fcn.140513c80
jmp 0x14051353d
call fcn.1404d1cf0
mov ebp, eax
cmp dword [rsp + 0x2c], 0xf
je 0x140513297
cmp ebp, 0x9d
jl 0x1405132db
inc ebp
movsxd rcx, ebp
call fcn.1405117f0
mov qword [rsi + 0x28], rax
test rax, rax
je 0x1405132cb
mov dword [rsp + 0x2c], 0
lea r9, [rsp + 0x2c]
mov rcx, r14
mov rdx, rax
mov r8d, ebp
test bl, bl
je 0x1405132d4
call fcn.1404d2540
jmp 0x1405132d9
mov qword [rsi + 0x28], rdi
jmp 0x1405134e5
call fcn.1404d1cf0
mov ebp, eax
mov eax, dword [rsp + 0x2c]
test eax, eax
jg 0x1405134e5
cmp eax, 0xffffff84
je 0x1405134e5
mov dword [rsi + 0x20], ebp
mov r14, qword [rsi + 0x28]
mov qword [rsp + 0x90], r14
mov rcx, r14
mov edx, 0x40
call fcn.1405629b8
mov r12, rax
mov rcx, r14
mov edx, 0x5f
call fcn.1405629b8
test rax, rax
je 0x140513333
test r12, r12
je 0x140513451
cmp rax, r12
jb 0x140513451
xor r13d, r13d
mov r15, r14
mov rcx, r15
mov edx, 0x40
call fcn.1405629b8
mov r12, rax
mov rcx, r15
mov edx, 0x2e
call fcn.1405629b8
mov rcx, r12
or rcx, rax
je 0x140513379
cmp r12, rax
mov ebp, r12d
cmova ebp, eax
test rax, rax
cmove ebp, r12d
test r12, r12
cmove ebp, eax
sub ebp, r15d
jmp 0x140513381
mov eax, r14d
sub eax, r15d
add ebp, eax
mov dword [rsp + r13*4 + 0x70], ebp
mov r15d, dword [rsp + 0x70]
cmp r15d, 0xb
jg 0x1405134e5
test r15d, r15d
jle 0x1405133af
lea rcx, [rsi + 8]
mov rdx, r14
mov r8, r15
call fcn.140562340
mov byte [rsi + r15 + 8], 0
mov eax, dword [rsp + 0x74]
mov ebp, 1
cmp eax, 4
jne 0x140513424
mov r14, qword [rsp + 0x98]
movzx ecx, byte [r14]
call fcn.14051a820
mov ebp, 1
test al, al
je 0x1405134b3
movzx ecx, byte [r14 + 1]
call fcn.14051a820
test al, al
je 0x1405134b3
movzx ecx, byte [r14 + 2]
call fcn.14051a820
test al, al
je 0x1405134b3
movzx ecx, byte [r14 + 3]
call fcn.14051a820
test al, al
je 0x1405134b3
mov eax, dword [r14]
mov dword [rsi + 0x14], eax
mov byte [rsi + 0x18], 0
mov ebp, 2
mov eax, dword [rsp + 0x78]
lea ecx, [rax - 2]
cmp ecx, 2
jae 0x1405134ad
lea rcx, [rsi + 0x1a]
mov edx, ebp
mov rdx, qword [rsp + rdx*8 + 0x90]
mov r14d, eax
mov r8, r14
call fcn.140562340
mov byte [rsi + r14 + 0x1a], 0
jmp 0x1405134b1
mov ecx, 1
nop word cs:[rax + rax]
mov r13, rcx
lea r15, [rax + 1]
mov qword [rsp + rcx*8 + 0x90], r15
sub eax, dword [rsp + rcx*8 + 0x88]
mov dword [rsp + rcx*4 + 0x6c], eax
mov rcx, r15
mov edx, 0x5f
call fcn.1405629b8
test rax, rax
je 0x140513339
cmp r13, 3
jae 0x140513339
lea rcx, [r13 + 1]
test r12, r12
je 0x140513460
cmp rax, r12
jb 0x140513460
jmp 0x140513339
test eax, eax
jne 0x1405134b3
inc ebp
mov eax, ebp
cmp dword [rsp + rax*4 + 0x70], 0
jle 0x1405134c9
mov eax, dword [rsp + rax*8 + 0x90]
sub eax, dword [rsi + 0x28]
mov dword [rsi + 0x20], eax
mov dword [rsp + 0x2c], 0
lea rdx, [rsp + 0x2c]
mov rcx, rsi
call fcn.140515ef0
cmp dword [rsp + 0x2c], 0
jle 0x140513564
mov rcx, qword [rsi + 0x28]
mov rax, qword [rsi + 0xd0]
cmp rax, rcx
je 0x140513506
cmp rax, rdi
je 0x140513506
mov rcx, rax
call fcn.1405118c0
mov rcx, qword [rsi + 0x28]
mov qword [rsi + 0xd0], 0
cmp rcx, rdi
je 0x14051351f
call fcn.1405118c0
mov qword [rsi + 0x28], rdi
mov byte [rsi + 0x30], 0
mov byte [rsi + 8], 0
mov byte [rsi + 0x14], 0
mov byte [rsi + 0x1a], 0
mov byte [rsi + 0xd8], 1
mov dword [rsi + 0x20], 0
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1405602f0
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test bl, bl
je 0x14051353d
mov rbx, qword [rsi + 0x28]
lea rdx, [0x1405bdb8e]
mov rcx, rbx
call fcn.1405688a0
test eax, eax
je 0x14051353d
lea rdx, [0x1406492a6]
mov rcx, rbx
call fcn.1405688a0
test eax, eax
je 0x14051353d
lea rdx, [0x14066ace1]
mov rcx, rbx
call fcn.1405688a0
test eax, eax
je 0x14051353d
mov eax, dword [0x1406aeba8]
cmp eax, 2
je 0x140513656
lea rcx, [0x1406aeba8]
call fcn.140500d00
test al, al
je 0x140513656
lea rdx, [0x1405176f0]
mov ecx, 8
call fcn.140501050
lea rcx, [fcn.140524a80]
lea rdx, [fcn.140524b30]
lea r9, [rsp + 0x2c]
xor r8d, r8d
call fcn.140523a20
mov r14, rax
mov eax, dword [rsp + 0x2c]
test eax, eax
jg 0x140513643
lea r12, [0x14066a570]
xor r13d, r13d
lea r15, [rsp + 0x2c]
mov rdx, qword [r12]
mov rcx, r14
mov r8d, 1
mov r9, r15
call fcn.1405246f0
mov eax, dword [rsp + 0x2c]
test eax, eax
jg 0x14051363f
lea rcx, [r13 + 1]
add r12, 8
cmp r13, 0xb1
mov r13, rcx
jb 0x14051360e
test eax, eax
jle 0x140513666
test r14, r14
je 0x14051366d
mov rcx, r14
call fcn.140523e30
mov eax, dword [rsp + 0x2c]
jmp 0x14051366d
mov eax, dword [0x1406aebac]
test eax, eax
jle 0x14051367f
mov dword [rsp + 0x2c], eax
jmp 0x140513686
mov qword [0x1406aeba0], r14
mov dword [0x1406aebac], eax
lea rcx, [0x1406aeba8]
call fcn.140500e00
cmp dword [rsp + 0x2c], 0
jle 0x1405136ef
lea rax, [rsp + 0x3d]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 0x28
mov word [rsp + 0x3c], 0
mov dword [rsp + 0x68], 0
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
mov rcx, rsi
call fcn.140513f10
test al, al
je 0x1405136cd
mov rdx, qword [rsp + 0x30]
mov rcx, rsi
xor r8d, r8d
call fcn.140513160
mov ebx, dword [rsp + 0x2c]
cmp byte [rsp + 0x3c], 0
je 0x1405136e2
mov rcx, qword [rsp + 0x30]
call fcn.1405118c0
test ebx, ebx
jg 0x1405134e5
jmp 0x14051353d
mov rcx, qword [0x1406aeba0]
mov rdx, rbx
call fcn.140524330
test eax, eax
jne 0x14051353d
jmp 0x140513686