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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1738
call fcn.14008d9e0
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov dword [rsp + 0x34], r9d
mov edi, r8d
mov r13, rdx
mov r14, rcx
mov rax, qword [rcx + 0x250]
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 0x258]
mov rcx, qword [rax + 0x20]
or rcx, qword [rax + 0x28]
setne byte [rdx + 0x30]
mov r8d, dword [rdx + 0x10]
lea rdx, [rsp + 0x5c]
mov rcx, r14
call fcn.140003e50
test al, al
jne 0x14000645c
mov r8d, dword [r13 + 0x10]
movzx ecx, byte [r13 + 0x30]
cmp r8d, 0xf6
jge 0x14000648a
mov edx, dword [rbp + 0x1720]
test cl, cl
sete al
test edx, edx
sets dl
and dl, al
movzx esi, dl
mov rax, qword [r14 + 0x258]
mov rbx, qword [rax + 0x18]
mov r9d, dword [rax + 0xc]
cmp r9d, 0xe
jge 0x140006398
neg esi
mov r10, qword [0x142202560]
mov rax, rbx
mul qword [0x142202558]
shl rdx, 5
lea rax, [r10 + rdx]
cmp word [r10 + rdx], bx
mov dword [rsp + 0x30], edi
je 0x140005b5c
movzx r11d, byte [rax + 2]
test r11d, r11d
je 0x140005b5c
lea rdi, [rax + 0xa]
mov r10d, 1
cmp word [rax + 0xa], bx
je 0x140005b62
mov r12, rdi
movzx edi, byte [rax + 0xc]
test edi, edi
je 0x1400062dd
lea rdx, [rax + 0x14]
mov r10d, 2
cmp word [rax + 0x14], bx
je 0x14000635c
mov r15, rsi
movzx esi, byte [rax + 0x16]
test esi, esi
je 0x140006351
movzx r8d, byte [0x142202568]
add r8d, 0x107
movzx r9d, byte [rax + 3]
mov r10d, r8d
sub r10d, r9d
and r10d, 0xf8
sub r11d, r10d
movzx r9d, byte [rax + 0xd]
mov r10d, r8d
sub r10d, r9d
and r10d, 0xf8
sub edi, r10d
cmp r11d, edi
mov rdi, r12
cmovle rdi, rax
movzx r9d, byte [rdi + 2]
movzx r10d, byte [rdi + 3]
mov r11d, r8d
sub r11d, r10d
and r11d, 0xf8
sub r9d, r11d
movzx eax, byte [rax + 0x17]
sub r8d, eax
and r8d, 0xf8
sub esi, r8d
cmp r9d, esi
cmovg rdi, rdx
mov byte [r13 + 0x32], 0
mov rsi, r15
jmp 0x140005b8c
xor r10d, r10d
mov rdi, rax
lea rdx, [r10 + r10*4]
movzx r10d, byte [rax + rdx*2 + 3]
and r10b, 7
or r10b, byte [0x142202568]
mov byte [rax + rdx*2 + 3], r10b
cmp byte [rax + rdx*2 + 2], 0
setne byte [r13 + 0x32]
jne 0x14000620d
test cl, cl
jne 0x140006331
cmp dword [r13 - 0x2c], 0x81
je 0x1400062e5
mov rcx, r14
call fcn.1400064d0
mov dword [r13 + 0x24], eax
xor edx, edx
xor r15d, r15d
mov r12d, eax
cmp r12d, dword [rsp + 0x34]
jge 0x1400061b8
cmp r12d, dword [rsp + 0x30]
jg 0x1400064a2
add eax, 0x79
mov dword [rsp + 0x44], eax
mov rax, qword [r13 - 0x38]
mov qword [rsp + 0x80], rax
mov rax, qword [r13 - 0x78]
mov qword [rsp + 0x88], rax
mov eax, dword [r13 - 0x2c]
mov dword [rsp + 0x48], 0x5a
test eax, eax
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x3c], edx
je 0x140005c17
cmp eax, 0x81
je 0x140005c17
and eax, 0x7f
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + 0x6ce8]
add rcx, 0x16ce8
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
lea rax, [rsp + 0x80]
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0xb8], r15d
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xf4], eax
mov eax, dword [rbp + 0x1720]
mov dword [rsp + 0xfc], eax
mov rax, qword [r14 + 0x258]
mov rsi, qword [rax + 0x20]
mov rdi, qword [rax + 0x28]
mov eax, 1
test r15d, r15d
jne 0x140006383
lea ecx, [rax + 7]
add eax, 0xd
or rsi, rdi
cmovne eax, ecx
mov dword [rsp + 0xf0], eax
xor edi, edi
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x4c], 0
mov ebx, r12d
lea rcx, [rsp + 0x98]
xor edx, edx
call fcn.140009ba0
test eax, eax
je 0x1400060fe
mov r13d, eax
mov rcx, r14
mov edx, eax
call fcn.140003a70
mov r12d, ebx
test al, al
je 0x140005cbe
mov rcx, r14
mov edx, r13d
call fcn.1400036e0
mov r11d, eax
mov r15d, r13d
and r15d, 0x7f
mov esi, dword [r14 + r15*4]
lea r10d, [rdi + 1]
cmp ebx, 0xffff83f7
jl 0x140005ddc
cmp r15d, dword [rsp + 0x48]
je 0x140005da0
mov eax, r11d
xor al, 1
je 0x140005da0
cmp dword [rsp + 0x44], 0xffff83f7
jl 0x140005da0
mov r12d, ebx
cmp edi, 1
mov edi, r10d
jg 0x140005cbe
lea rax, [0x1400d2220]
mov r12d, dword [rax + rsi*4]
mov eax, dword [rsp + 0x44]
add r12d, eax
mov edi, dword [rsp + 0x30]
cmp r12d, edi
jle 0x140006077
mov byte [rsp + 0x2e], r11b
mov dword [rsp + 0x38], r10d
mov r8d, edi
sub r8d, eax
jl 0x140006304
mov rcx, r14
mov edx, r13d
mov r8d, 1
call fcn.14000fd40
test al, al
mov r10d, dword [rsp + 0x38]
movzx r11d, byte [rsp + 0x2e]
je 0x1400062f0
nop word cs:[rax + rax]
cmp dword [rsp + 0x4c], 1
jg 0x1400063d4
test rsi, rsi
je 0x140006086
mov rcx, r14
mov edx, r13d
mov r8d, 0xffffff8c
mov edi, r10d
mov r12d, r11d
call fcn.14000fd40
mov r11d, r12d
mov r10d, edi
mov r12d, ebx
test al, al
je 0x140005cbe
mov eax, r13d
sar eax, 7
movsxd rdi, eax
mov ecx, dword [r14 + rdi*4]
mov r8, qword [r14 + 0x258]
mov rdx, qword [0x142232e30]
xor rdx, qword [r8 + 0x18]
test rsi, rsi
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x90], rdi
jne 0x1400060cf
imul r9, rcx, 0x2d0
lea rax, [0x142230130]
add r9, rax
mov rax, qword [r9 + r15*8]
xor rax, qword [r9 + rdi*8]
xor rax, rdx
mov edx, dword [r8 + 0xc]
cmp edx, 0xd
jge 0x1400063ff
xor r8d, r8d
test rsi, rsi
sete byte [rsp + 0x2e]
setne r8b
mov r9, qword [0x142202560]
mul qword [0x142202558]
shl rdx, 5
prefetcht0 byte [r9 + rdx]
mov r12d, dword [rsp + 0x34]
neg r12d
mov rdx, qword [rsp + 0x50]
mov dword [rdx + 0x14], r13d
movzx eax, byte [rdx + 0x30]
test rax, rax
setne byte [rsp + 0x2f]
imul rax, rax, 0x7e9000
add rax, qword [rsp + 0x78]
imul rcx, rcx, 0x3f480
add rcx, rax
imul rax, r8, 0x3f4800
add rcx, rax
imul rax, r15, 0xb40
add rax, rcx
add rax, 0x1c6e8
lea rsi, [rdx + 0x40]
mov qword [rdx + 8], rax
mov eax, dword [rbp + 0x1720]
lea edi, [rax - 1]
mov rcx, r14
mov edx, r13d
lea r8, [rsp + 0x500]
mov r9d, r11d
call fcn.140004820
mov r9d, dword [rsp + 0x30]
neg r9d
mov dword [rsp + 0x20], edi
mov rcx, r14
mov rdx, rsi
mov r8d, r12d
call fcn.1400059b0
xor byte [r14 + 0x264], 1
mov r8d, dword [r14 + r15*4]
mov rdx, r15
shl rdx, 4
lea r11, [0x142232e40]
mov rcx, qword [rdx + r11]
mov rdx, qword [rdx + r11 + 8]
mov rsi, qword [rsp + 0x90]
mov r9, rsi
shl r9, 4
mov r10, qword [r9 + r11]
mov r9, qword [r9 + r11 + 8]
or r9, rdx
xor qword [r14 + 0x178], r9
or r10, rcx
xor qword [r14 + 0x170], r10
mov r11d, r8d
and r11d, 7
shl r11, 4
xor qword [r14 + r11 + 0x178], r9
xor qword [r14 + r11 + 0x170], r10
mov r11d, r8d
sar r11d, 3
shl r11, 4
xor qword [r14 + r11 + 0x1f8], r9
xor qword [r14 + r11 + 0x1f0], r10
mov dword [r14 + r15*4], 0
mov dword [r14 + rsi*4], r8d
mov r8, qword [r14 + 0x258]
mov r9d, dword [r8 + 0x104]
test r9, r9
je 0x140006004
mov dword [r14 + r15*4], r9d
mov r10d, r9d
and r10d, 7
shl r10, 4
mov r11, qword [r14 + r10 + 0x178]
or r11, rdx
mov rsi, qword [r14 + r10 + 0x170]
or rsi, rcx
mov qword [r14 + r10 + 0x170], rsi
mov qword [r14 + r10 + 0x178], r11
or qword [r14 + 0x170], rsi
or qword [r14 + 0x178], r11
mov r10d, r9d
sar r10d, 3
shl r10, 4
or qword [r14 + r10 + 0x1f0], rcx
or qword [r14 + r10 + 0x1f8], rdx
inc dword [r14 + r9*4 + 0x210]
and r9d, 0xfffffff8
inc dword [r14 + r9*4 + 0x210]
movzx ecx, byte [rsp + 0x2f]
and cl, byte [rsp + 0x2e]
movzx ecx, cl
add dword [rsp + 0x4c], ecx
mov rcx, qword [r8 + 0x30]
mov qword [r14 + 0x258], rcx
dec dword [r14 + 0x260]
mov rcx, qword [rcx + 0x18]
and ecx, 0x3fff
dec byte [r14 + rcx + 0x268]
neg eax
mov r12d, ebx
mov ecx, dword [rsp + 0x38]
mov edi, ecx
cmp ebx, eax
jge 0x140005cbe
mov r12d, eax
mov edi, ecx
cmp dword [rsp + 0x30], eax
jge 0x140005cbe
mov r12d, eax
mov edi, ecx
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x30], eax
cmp eax, dword [rsp + 0x34]
jge 0x140006105
jmp 0x140005cbe
cmp ebx, r12d
cmovg r12d, ebx
mov edi, r10d
jmp 0x140005cbe
mov eax, r13d
sar eax, 7
cdqe
mov eax, dword [r14 + rax*4]
imul rax, rax, 0xb4
mov rcx, qword [rsp + 0x80]
add rcx, rax
cmp word [rcx + r15*2], 0
jns 0x140005db4
add rax, qword [rsp + 0x88]
cmp word [rax + r15*2], 0
mov r12d, ebx
mov edi, r10d
js 0x140005cbe
jmp 0x140005db4
imul rax, rsi, 0x2d0
lea r9, [0x142230130]
add rax, r9
mov rax, qword [rax + r15*8]
imul r8, rcx, 0x2d0
add r8, r9
xor rax, qword [r8 + r15*8]
xor rax, qword [r8 + rdi*8]
xor rax, rdx
jmp 0x140005e3a
mov eax, ebx
mov r13d, dword [rsp + 0x40]
mov ebx, eax
cmp eax, 0xffff82ff
je 0x1400063c2
mov r8, qword [rsp + 0x50]
mov ecx, dword [r8 + 0x10]
cmp ebx, 0x7c0a
jge 0x1400063de
mov eax, ebx
cmp ebx, 0xffff83f6
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jle 0x1400063f6
cmp ebx, dword [rsp + 0x34]
setl dl
mov ecx, dword [r8 + 0x24]
movzx r8d, word [rsi]
test r13d, r13d
jne 0x14000615e
cmp r8w, r10w
je 0x140006163
mov word [rsi + 4], r13w
cmp r8w, r10w
je 0x1400062b8
mov r8b, 2
sub r8b, dl
mov word [rsi], r10w
and r11b, 1
xor r11b, 7
mov byte [rsi + 2], r11b
mov edx, dword [rsp + 0x3c]
shl dl, 2
or dl, byte [0x142202568]
or dl, r8b
mov byte [rsi + 3], dl
mov word [rsi + 6], ax
mov word [rsi + 8], cx
mov r12d, ebx
mov eax, r12d
lea rsp, [rbp + 0x16b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [r13 + 0x32], 0
jne 0x1400061a1
mov ecx, dword [r13 + 0x10]
cmp r12d, 0x7c0a
jge 0x140006425
mov edx, r12d
cmp r12d, 0xffff83f6
jle 0x140006452
cmp word [rdi], bx
je 0x140006364
mov word [rdi + 4], 0
mov word [rdi], bx
mov byte [rdi + 2], 1
movzx ecx, byte [0x142202568]
or cl, 2
mov byte [rdi + 3], cl
mov word [rdi + 6], dx
mov word [rdi + 8], ax
jmp 0x1400061a1
movzx eax, word [rdi + 6]
movzx edx, ax
cmp edx, 0x7d02
je 0x140006346
movsx r12d, ax
cmp r12d, 0x7c0a
jge 0x14000642f
cmp r12d, 0xffff83f6
jle 0x140006466
movzx r15d, word [rdi + 4]
movzx edx, byte [rdi + 3]
cmp r12d, 0x7d02
je 0x14000626f
movzx eax, byte [rdi + 2]
add eax, 0xfffffff9
cmp eax, esi
jl 0x14000626f
xor eax, eax
cmp r12d, dword [rsp + 0x34]
setge al
inc eax
test edx, eax
jne 0x1400061a1
and dl, 4
shr dl, 2
test cl, cl
jne 0x140006373
movsx eax, word [rdi + 8]
mov dword [r13 + 0x24], eax
cmp eax, 0x7d02
je 0x1400064ac
cmp r12d, 0x7d02
je 0x140005bb3
movzx r8d, byte [rdi + 3]
xor ecx, ecx
cmp r12d, eax
setg cl
inc ecx
test r8d, ecx
cmove r12d, eax
jmp 0x140005bb6
movzx r8d, byte [rsp + 0x3c]
lea r8d, [r11 + r8*2]
add r8d, 7
movzx r9d, byte [rsi + 2]
add r9d, 0xfffffffc
cmp r8d, r9d
jg 0x14000616d
jmp 0x14000619e
mov rdi, r12
jmp 0x140005b62
xor eax, eax
sub eax, dword [r13 - 0x1c]
jmp 0x140005baa
mov eax, dword [rsp + 0x44]
cmp ebx, eax
cmovle ebx, eax
mov r12d, ebx
mov edi, r10d
jmp 0x140005cbe
shl r8d, 2
mov rcx, r14
mov edx, r13d
call fcn.14000fd40
mov r12d, edi
mov r10d, dword [rsp + 0x38]
mov edi, r10d
test al, al
movzx r11d, byte [rsp + 0x2e]
jne 0x140005da0
jmp 0x140005cbe
mov r12d, 0xffff82ff
xor r15d, r15d
xor edx, edx
mov eax, 0xffff82ff
jmp 0x140005bcf
mov r12d, 0x7d02
jmp 0x14000623e
mov rdi, rdx
mov rsi, r15
jmp 0x140005b62
mov rdi, rdx
jmp 0x140005b62
cmp byte [rdi + 2], 4
jbe 0x1400061ef
jmp 0x1400061a1
mov r12d, 0xffff82ff
mov eax, 0xffff82ff
jmp 0x140005bcf
mov rcx, r14
mov edx, r15d
call fcn.14000fbb0
xor al, 1
movzx eax, al
jmp 0x140005c99
lea eax, [r9 - 0xe]
shr eax, 3
movabs rdx, 0x5851f42d4c957f2d
imul rdx, rax
movabs rax, 0x14057b7ef767814f
add rax, rdx
xor rbx, rax
jmp 0x140005a5f
mov ebx, 0xffff8300
mov rax, qword [rsp + 0x50]
add ebx, dword [rax + 0x10]
jmp 0x14000619e
mov r13d, dword [rsp + 0x40]
jmp 0x140006112
add ecx, ebx
mov eax, ecx
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
jmp 0x140006144
mov eax, ebx
sub eax, ecx
jmp 0x140006144
add edx, 0xfffffff3
shr edx, 3
movabs r8, 0x5851f42d4c957f2d
imul r8, rdx
movabs rdx, 0x14057b7ef767814f
add rdx, r8
jmp 0x1400060f6
add ecx, r12d
mov edx, ecx
jmp 0x1400061e0
mov eax, 0x7d00
sub eax, r12d
mov edx, 0x77
sub edx, r9d
sub r12d, r8d
cmp eax, edx
mov eax, 0x7c09
cmovg r12d, eax
jmp 0x14000623e
mov edx, r12d
sub edx, ecx
jmp 0x1400061e0
mov r12d, dword [rsp + 0x5c]
jmp 0x1400061a1
mov eax, 0x77
sub eax, r9d
add r8d, r12d
add r12d, 0x7d00
cmp r12d, eax
mov r12d, 0xffff83f7
cmovle r12d, r8d
jmp 0x14000623e
xor r12d, r12d
test cl, cl
jne 0x1400061a1
mov rcx, r14
call fcn.1400064d0
jmp 0x1400061a4
mov dword [rsp + 0x30], r12d
jmp 0x140005bcc
mov rcx, r14
mov dword [rsp + 0x3c], edx
call fcn.1400064d0
mov edx, dword [rsp + 0x3c]
mov dword [r13 + 0x24], eax
jmp 0x140006290