Function at 0x1400895a9
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, 0x308
mov qword [rsp + 0x58], r8
mov rdi, rdx
test r9b, r9b
mov qword [rsp + 0x30], rcx
je 0x140089600
lea r14, [rcx + 0xd80]
lea r9, [0x1402934b8]
xor esi, esi
mov r8d, 0x90
mov rcx, r14
xor edx, edx
call fcn.14008aa18
cmp rdx, rsi
je 0x140089677
mov byte [rax + rsi], 8
inc rsi
jmp 0x1400895ee
mov word [rcx + 0x200], 1
xor r15d, r15d
mov byte [rsp + 0x20], r15b
mov r8d, 0x120
mov r9d, 0xf
xor edx, edx
call fcn.14008a004
mov byte [rsp + 0x20], r15b
mov edx, 1
mov r8d, 0x20
mov r9d, 0xf
mov rcx, qword [rsp + 0x30]
call fcn.14008a004
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 0xd80]
mov qword [rsp + 0x78], rax
lea rax, [rcx + 0xe9d]
cmp r15, 0x1d
je 0x140089a4f
cmp byte [rax], 0
jne 0x140089a55
inc r15
dec rax
jmp 0x14008965c
lea r9, [0x1402934d0]
mov edx, 0x90
mov r8d, 0x100
mov rcx, r14
call fcn.14008aa18
xor ecx, ecx
cmp rdx, rcx
je 0x1400896a1
mov byte [rax + rcx], 9
inc rcx
jmp 0x140089693
lea r9, [0x1402934e8]
mov edx, 0x100
mov r8d, 0x118
mov rcx, r14
call fcn.14008aa18
xor ecx, ecx
cmp rdx, rcx
je 0x1400896cb
mov byte [rax + rcx], 7
inc rcx
jmp 0x1400896bd
lea r9, [0x140293500]
mov edx, 0x118
mov r8d, 0x120
mov rcx, r14
call fcn.14008aa18
xor ecx, ecx
mov r8, qword [rsp + 0x30]
cmp rdx, rcx
je 0x1400896fa
mov byte [rax + rcx], 8
inc rcx
jmp 0x1400896ec
lea rdx, [r8 + 0xea0]
lea r9, [0x140293518]
mov ecx, 0x20
mov r8d, 0x120
call fcn.140001050
xor ecx, ecx
cmp rdx, rcx
je 0x140089728
mov byte [rax + rcx], 5
inc rcx
jmp 0x14008971a
mov bl, 1
mov byte [rsp + 0x20], bl
mov r8d, 0x120
mov r9d, 0xf
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
xor edx, edx
call fcn.14008a004
mov byte [rsp + 0x20], bl
mov edx, 1
mov r8d, 0x20
mov r9d, 0xf
mov rcx, rsi
call fcn.14008a004
mov rcx, rdi
mov edx, 1
mov r8d, 2
call fcn.140089524
mov r10, qword [rsp + 0x58]
mov rbx, qword [r10 + 0x10000]
cmp rbx, 0x10001
jae 0x140089f6d
mov r13d, dword [rdi + 0x18]
mov r14d, dword [rdi + 0x1c]
mov esi, 1
xor r12d, r12d
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x80], rdi
cmp r12, rbx
jae 0x1400899f2
cmp esi, 1
jne 0x1400897d0
movzx edi, byte [r10 + r12]
or edi, 0x100
inc r12
mov r11, r12
jmp 0x1400897d5
mov r11, r12
mov edi, esi
test dil, 1
jne 0x14008983f
lea rax, [r11 + 3]
mov edx, 3
mov r12, r11
sub edx, 1
jb 0x1400898dc
cmp r12, rbx
jae 0x140089ebf
mov esi, edi
shr esi, 1
movzx r8d, byte [r10 + r12]
inc r12
movzx r15d, word [r9 + r8*2 + 0x6c0]
mov ecx, r14d
shl r15, cl
movzx ebp, byte [r9 + r8 + 0xd80]
or r15, r13
add ebp, r14d
test dil, 2
jne 0x140089961
mov r14d, ebp
mov r13, r15
mov edi, esi
cmp r12, rbx
jb 0x1400897e7
jmp 0x140089961
cmp r11, rbx
lea r12, [0x1402936e0]
jae 0x140089f0e
movzx esi, byte [r10 + r11]
mov rbp, r11
lea r8, [r11 + 1]
mov rcx, r10
mov rdx, rbx
call fcn.14008aa3e
lea rcx, [0x140293740]
movzx r10d, word [rcx + rsi*2]
cmp r10, 0x120
jae 0x140089ed8
lea rcx, [0x140293958]
movzx r9d, byte [rsi + rcx]
cmp r9, 0x11
mov r11, qword [rsp + 0x30]
jae 0x140089efa
movzx r15d, word [r11 + r10*2 + 0x6c0]
mov ecx, r14d
shl r15, cl
movzx ecx, byte [r11 + r10 + 0xd80]
add ecx, r14d
and esi, dword [r12 + r9*4]
shl rsi, cl
movzx edx, ax
cmp ax, 0x200
jae 0x1400898e7
lea rax, [0x140293b88]
lea r8, [rax + rdx]
lea rax, [0x140293d88]
add rax, rdx
jmp 0x140089909
mov ebp, r14d
mov r15, r13
mov r12, rax
jmp 0x14008995f
mov eax, edx
shr eax, 8
test dx, dx
js 0x140089f43
lea r8, [0x140293a70]
add r8, rax
lea r10, [0x140293b08]
add rax, r10
movzx r10d, byte [rax]
cmp r10, 0x11
jae 0x140089ee6
shr edi, 1
mov r14, rbp
add r14, 3
movzx eax, r9b
add ecx, eax
movzx eax, byte [r8]
movzx r8d, word [r11 + rax*2 + 0x900]
shl r8, cl
movzx eax, byte [r11 + rax + 0xea0]
add eax, ecx
and edx, dword [r12 + r10*4]
mov ecx, eax
shl rdx, cl
movzx ebp, r10b
or r15, rsi
or r15, r8
or r15, rdx
or r15, r13
add ebp, eax
mov r12, r14
mov esi, edi
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
lea rdx, [rcx + 8]
lea rax, [0x140293228]
mov qword [rsp + 0x20], rax
call fcn.140053e68
mov qword [rsp + 0x88], r15
lea rcx, [0x140293240]
mov qword [rsp + 0x20], rcx
mov r9d, 8
mov rcx, rax
lea r8, [rsp + 0x88]
call fcn.1400889d8
mov edx, ebp
shr edx, 3
mov al, 2
add rdx, qword [rdi + 0x10]
jb 0x140089d02
cmp rdx, qword [rdi + 8]
ja 0x140089d02
mov ecx, ebp
and cl, 0x38
shr r15, cl
mov qword [rdi + 0x10], rdx
and ebp, 7
mov r14d, ebp
mov r13, r15
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x58]
jmp 0x1400897af
and qword [rdi + 0x18], 0
lea rsi, [0x1402936e0]
test r14d, r14d
je 0x140089a30
cmp r14d, 0x10
mov ebx, 0x10
cmovb ebx, r14d
mov edx, dword [rsi + rbx*4]
and edx, r13d
mov rcx, rdi
mov r8d, ebx
call fcn.140089524
mov r9, qword [rsp + 0x30]
mov ecx, ebx
shr r13, cl
sub r14d, ebx
jmp 0x1400899fe
movzx edx, word [r9 + 0x8c0]
movzx r8d, byte [r9 + 0xe80]
mov rcx, rdi
call fcn.140089524
mov al, 1
jmp 0x140089d02
mov r15d, 0x1d
mov eax, 0x11e
sub rax, r15
mov qword [rsp + 0x70], rax
lea rdx, [rcx + 0xea0]
lea rax, [rcx + 0xebd]
xor esi, esi
mov qword [rsp + 0x50], rdx
cmp rsi, 0x1d
je 0x140089a8a
cmp byte [rax], 0
jne 0x140089a8f
inc rsi
dec rax
jmp 0x140089a77
mov esi, 0x1d
mov ebp, 0x1e
sub rbp, rsi
lea r14, [rsp + 0x1c8]
mov r8d, 0x140
mov rcx, r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x88]
mov r8d, 0x140
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rbx, qword [rsp + 0x70]
lea r13, [rbx + rbp]
lea r9, [0x140293530]
mov r8d, 0x140
mov rcx, rbx
mov rdx, r14
call fcn.140001050
mov r14, rax
mov r12, rdx
lea r8, [0x140293548]
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.14008a881
mov r9, rdx
lea rcx, [0x140293560]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, r12
mov r8, rax
call fcn.1400889d8
lea rax, [0x140293578]
mov qword [rsp + 0x20], rax
mov r9d, 0x140
mov rcx, rbx
mov rdx, r13
lea r8, [rsp + 0x1c8]
call fcn.140053e68
mov r14, rax
mov r12, rdx
lea r8, [0x140293590]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rbp
mov rdx, rbp
call fcn.14008a881
mov r9, rdx
lea rcx, [0x1402935a8]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, r12
mov r8, rax
call fcn.1400889d8
and qword [rsp + 0x3c], 0
mov byte [rsp + 0x44], 0xff
mov eax, 0x480
mov r9, qword [rsp + 0x30]
cmp rax, 0x4a6
je 0x140089ba6
and word [r9 + rax], 0
add rax, 2
jmp 0x140089b92
and qword [rsp + 0x48], 0
cmp r13, 0x141
jae 0x140089f81
mov r12, rdi
add rsi, r15
mov edi, 0x13c
sub rdi, rsi
xor esi, esi
lea r13, [rsp + 0x3c]
lea rbp, [rsp + 0x88]
lea r14, [rsp + 0x48]
lea r15, [rsp + 0x64]
cmp rdi, rsi
je 0x140089cc5
movzx ebx, byte [rsp + rsi + 0x1c8]
mov rcx, r13
mov rdx, rbp
mov r8, r14
test rbx, rbx
je 0x140089c3a
call fcn.14008a8aa
test al, al
jne 0x140089d00
cmp bl, byte [rsp + 0x44]
jne 0x140089c6d
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, 6
jne 0x140089cb4
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.14008a940
jmp 0x140089cb0
call fcn.14008a940
test al, al
jne 0x140089d00
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
cmp eax, 0x8a
jne 0x140089cb4
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.14008a8aa
jmp 0x140089cb0
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.14008a940
test al, al
jne 0x140089d00
mov rax, qword [rsp + 0x30]
inc word [rax + rbx*2 + 0x480]
mov byte [rsp + 0x64], bl
mov qword [rsp + 0x20], r14
mov edx, 1
mov r9d, 0x140
mov rcx, r15
mov r8, rbp
call fcn.14008a9c7
test al, al
jne 0x140089d00
mov byte [rsp + 0x44], bl
inc rsi
mov r9, qword [rsp + 0x30]
jmp 0x140089be0
cmp dword [rsp + 0x40], 0
je 0x140089ce5
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x48]
call fcn.14008a940
jmp 0x140089cfc
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x48]
call fcn.14008a8aa
test al, al
je 0x140089d16
mov al, 2
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x20], 0
mov esi, 0x13
mov edx, 2
mov r8d, 0x13
mov r9d, 7
mov rcx, qword [rsp + 0x30]
call fcn.14008a004
mov rdi, r12
mov rcx, r12
mov edx, 2
mov r8d, 2
call fcn.140089524
mov rdx, qword [rsp + 0x70]
add edx, 0xfffffeff
mov rcx, r12
mov r8d, 5
call fcn.140089524
mov rdx, qword [rsp + 0x50]
dec edx
mov rcx, r12
mov r8d, 5
call fcn.140089524
lea rcx, [0x1402935ea]
xor eax, eax
mov r8, qword [rsp + 0x78]
cmp rax, 0x13
je 0x140089dac
movzx edx, byte [rcx]
cmp byte [r8 + rdx + 0x240], 0
jne 0x140089da9
inc rax
dec rcx
jmp 0x140089d8d
mov rsi, rax
mov edi, 0x13
mov eax, 0x13
sub rax, rsi
cmp rax, 5
mov r14d, 4
cmovae r14, rax
lea edx, [r14 - 4]
mov rcx, r12
mov r8d, 4
call fcn.140089524
cmp rdi, rsi
jb 0x140089f95
xor esi, esi
lea rdi, [0x1402935d8]
mov rcx, qword [rsp + 0x30]
cmp r14, rsi
je 0x140089e19
movzx eax, byte [rsi + rdi]
movzx edx, byte [rcx + rax + 0xfc0]
mov rcx, r12
mov r8d, 3
call fcn.140089524
mov rcx, qword [rsp + 0x30]
inc rsi
jmp 0x140089df0
xor ebx, ebx
movabs rsi, 0x300000002
cmp rbx, qword [rsp + 0x48]
jae 0x140089eb7
mov r14, rbx
cmp rbx, 0x13f
ja 0x140089f17
movzx edi, byte [rsp + r14 + 0x88]
cmp rdi, 0x13
mov rax, qword [rsp + 0x30]
jae 0x140089f2b
lea rbx, [r14 + 1]
movzx edx, word [rax + rdi*2 + 0xb40]
movzx r8d, byte [rax + rdi + 0xfc0]
mov rcx, r12
call fcn.140089524
cmp dil, 0x10
jb 0x140089e25
cmp r14, 0x13f
je 0x140089f57
movzx edx, byte [rsp + r14 + 0x89]
mov qword [rsp + 0x64], rsi
mov dword [rsp + 0x6c], 7
mov r8d, dword [rsp + rdi*4 + 0x24]
mov rcx, r12
call fcn.140089524
add r14, 2
mov rbx, r14
jmp 0x140089e25
mov rdi, r12
jmp 0x140089779
cmp r11, rbx
cmovbe r11, rbx
lea r8, [0x140293fa0]
mov rcx, r11
mov rdx, rbx
call fcn.140256a20
lea r8, [0x140293940]
mov edx, 0x120
jmp 0x140089ef2
lea r8, [0x140293f88]
mov edx, 0x11
mov rcx, r10
call fcn.140256a20
lea r8, [0x140293a58]
mov edx, 0x11
mov rcx, r9
call fcn.140256a20
lea r8, [0x140293728]
jmp 0x140089ecd
lea r8, [0x140293608]
mov edx, 0x140
mov rcx, r14
call fcn.140256a20
lea rcx, str.assertion_failed:_code___MAX_HUFF_SYMBOLS_2
lea r8, [0x140293650]
mov edx, 0x2b
call fcn.140256b00
lea r8, [0x140293af0]
mov edx, 0x80
mov rcx, rax
call fcn.140256a20
lea r8, [0x140293668]
mov ecx, 0x140
mov edx, 0x140
call fcn.140256a20
lea r8, [0x140293fb8]
mov edx, 0x10000
mov rcx, rbx
call fcn.140256a90
lea r8, [0x1402935c0]
mov edx, 0x140
mov rcx, r13
call fcn.140256a90
lea r8, [0x1402935f0]
mov edx, 0x13
mov rcx, r14
call fcn.140256a90
int3