Function at 0x140088955
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 0x1400889ac
lea r14, [rcx + 0xd80]
lea r9, [0x1402932c0]
xor esi, esi
mov r8d, 0x90
mov rcx, r14
xor edx, edx
call fcn.140089dc4
cmp rdx, rsi
je 0x140088a23
mov byte [rax + rsi], 8
inc rsi
jmp 0x14008899a
mov word [rcx + 0x200], 1
xor r15d, r15d
mov byte [rsp + 0x20], r15b
mov r8d, 0x120
mov r9d, 0xf
xor edx, edx
call fcn.1400893b0
mov byte [rsp + 0x20], r15b
mov edx, 1
mov r8d, 0x20
mov r9d, 0xf
mov rcx, qword [rsp + 0x30]
call fcn.1400893b0
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 0xd80]
mov qword [rsp + 0x78], rax
lea rax, [rcx + 0xe9d]
cmp r15, 0x1d
je 0x140088dfb
cmp byte [rax], 0
jne 0x140088e01
inc r15
dec rax
jmp 0x140088a08
lea r9, [0x1402932d8]
mov edx, 0x90
mov r8d, 0x100
mov rcx, r14
call fcn.140089dc4
xor ecx, ecx
cmp rdx, rcx
je 0x140088a4d
mov byte [rax + rcx], 9
inc rcx
jmp 0x140088a3f
lea r9, [0x1402932f0]
mov edx, 0x100
mov r8d, 0x118
mov rcx, r14
call fcn.140089dc4
xor ecx, ecx
cmp rdx, rcx
je 0x140088a77
mov byte [rax + rcx], 7
inc rcx
jmp 0x140088a69
lea r9, [0x140293308]
mov edx, 0x118
mov r8d, 0x120
mov rcx, r14
call fcn.140089dc4
xor ecx, ecx
mov r8, qword [rsp + 0x30]
cmp rdx, rcx
je 0x140088aa6
mov byte [rax + rcx], 8
inc rcx
jmp 0x140088a98
lea rdx, [r8 + 0xea0]
lea r9, [0x140293320]
mov ecx, 0x20
mov r8d, 0x120
call fcn.140001040
xor ecx, ecx
cmp rdx, rcx
je 0x140088ad4
mov byte [rax + rcx], 5
inc rcx
jmp 0x140088ac6
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.1400893b0
mov byte [rsp + 0x20], bl
mov edx, 1
mov r8d, 0x20
mov r9d, 0xf
mov rcx, rsi
call fcn.1400893b0
mov rcx, rdi
mov edx, 1
mov r8d, 2
call fcn.1400888d0
mov r10, qword [rsp + 0x58]
mov rbx, qword [r10 + 0x10000]
cmp rbx, 0x10001
jae 0x140089319
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 0x140088d9e
cmp esi, 1
jne 0x140088b7c
movzx edi, byte [r10 + r12]
or edi, 0x100
inc r12
mov r11, r12
jmp 0x140088b81
mov r11, r12
mov edi, esi
test dil, 1
jne 0x140088beb
lea rax, [r11 + 3]
mov edx, 3
mov r12, r11
sub edx, 1
jb 0x140088c88
cmp r12, rbx
jae 0x14008926b
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 0x140088d0d
mov r14d, ebp
mov r13, r15
mov edi, esi
cmp r12, rbx
jb 0x140088b93
jmp 0x140088d0d
cmp r11, rbx
lea r12, [0x1402934e8]
jae 0x1400892ba
movzx esi, byte [r10 + r11]
mov rbp, r11
lea r8, [r11 + 1]
mov rcx, r10
mov rdx, rbx
call fcn.140089dea
lea rcx, [0x140293548]
movzx r10d, word [rcx + rsi*2]
cmp r10, 0x120
jae 0x140089284
lea rcx, [0x140293760]
movzx r9d, byte [rsi + rcx]
cmp r9, 0x11
mov r11, qword [rsp + 0x30]
jae 0x1400892a6
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 0x140088c93
lea rax, [0x140293990]
lea r8, [rax + rdx]
lea rax, [0x140293b90]
add rax, rdx
jmp 0x140088cb5
mov ebp, r14d
mov r15, r13
mov r12, rax
jmp 0x140088d0b
mov eax, edx
shr eax, 8
test dx, dx
js 0x1400892ef
lea r8, [0x140293878]
add r8, rax
lea r10, [0x140293910]
add rax, r10
movzx r10d, byte [rax]
cmp r10, 0x11
jae 0x140089292
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, [0x140293030]
mov qword [rsp + 0x20], rax
call fcn.140064b50
mov qword [rsp + 0x88], r15
lea rcx, [0x140293048]
mov qword [rsp + 0x20], rcx
mov r9d, 8
mov rcx, rax
lea r8, [rsp + 0x88]
call fcn.1400ff070
mov edx, ebp
shr edx, 3
mov al, 2
add rdx, qword [rdi + 0x10]
jb 0x1400890ae
cmp rdx, qword [rdi + 8]
ja 0x1400890ae
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 0x140088b5b
and qword [rdi + 0x18], 0
lea rsi, [0x1402934e8]
test r14d, r14d
je 0x140088ddc
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.1400888d0
mov r9, qword [rsp + 0x30]
mov ecx, ebx
shr r13, cl
sub r14d, ebx
jmp 0x140088daa
movzx edx, word [r9 + 0x8c0]
movzx r8d, byte [r9 + 0xe80]
mov rcx, rdi
call fcn.1400888d0
mov al, 1
jmp 0x1400890ae
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 0x140088e36
cmp byte [rax], 0
jne 0x140088e3b
inc rsi
dec rax
jmp 0x140088e23
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, [0x140293338]
mov r8d, 0x140
mov rcx, rbx
mov rdx, r14
call fcn.140001040
mov r14, rax
mov r12, rdx
lea r8, [0x140293350]
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.140089c2d
mov r9, rdx
lea rcx, [0x140293368]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, r12
mov r8, rax
call fcn.1400ff070
lea rax, [0x140293380]
mov qword [rsp + 0x20], rax
mov r9d, 0x140
mov rcx, rbx
mov rdx, r13
lea r8, [rsp + 0x1c8]
call fcn.140064b50
mov r14, rax
mov r12, rdx
lea r8, [0x140293398]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rbp
mov rdx, rbp
call fcn.140089c2d
mov r9, rdx
lea rcx, [0x1402933b0]
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov rdx, r12
mov r8, rax
call fcn.1400ff070
and qword [rsp + 0x3c], 0
mov byte [rsp + 0x44], 0xff
mov eax, 0x480
mov r9, qword [rsp + 0x30]
cmp rax, 0x4a6
je 0x140088f52
and word [r9 + rax], 0
add rax, 2
jmp 0x140088f3e
and qword [rsp + 0x48], 0
cmp r13, 0x141
jae 0x14008932d
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 0x140089071
movzx ebx, byte [rsp + rsi + 0x1c8]
mov rcx, r13
mov rdx, rbp
mov r8, r14
test rbx, rbx
je 0x140088fe6
call fcn.140089c56
test al, al
jne 0x1400890ac
cmp bl, byte [rsp + 0x44]
jne 0x140089019
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, 6
jne 0x140089060
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.140089cec
jmp 0x14008905c
call fcn.140089cec
test al, al
jne 0x1400890ac
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
cmp eax, 0x8a
jne 0x140089060
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.140089c56
jmp 0x14008905c
mov rcx, r13
mov rdx, rbp
mov r8, r14
mov r9, qword [rsp + 0x30]
call fcn.140089cec
test al, al
jne 0x1400890ac
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.140089d73
test al, al
jne 0x1400890ac
mov byte [rsp + 0x44], bl
inc rsi
mov r9, qword [rsp + 0x30]
jmp 0x140088f8c
cmp dword [rsp + 0x40], 0
je 0x140089091
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x48]
call fcn.140089cec
jmp 0x1400890a8
lea rcx, [rsp + 0x3c]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x48]
call fcn.140089c56
test al, al
je 0x1400890c2
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.1400893b0
mov rdi, r12
mov rcx, r12
mov edx, 2
mov r8d, 2
call fcn.1400888d0
mov rdx, qword [rsp + 0x70]
add edx, 0xfffffeff
mov rcx, r12
mov r8d, 5
call fcn.1400888d0
mov rdx, qword [rsp + 0x50]
dec edx
mov rcx, r12
mov r8d, 5
call fcn.1400888d0
lea rcx, [0x1402933f2]
xor eax, eax
mov r8, qword [rsp + 0x78]
cmp rax, 0x13
je 0x140089158
movzx edx, byte [rcx]
cmp byte [r8 + rdx + 0x240], 0
jne 0x140089155
inc rax
dec rcx
jmp 0x140089139
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.1400888d0
cmp rdi, rsi
jb 0x140089341
xor esi, esi
lea rdi, [0x1402933e0]
mov rcx, qword [rsp + 0x30]
cmp r14, rsi
je 0x1400891c5
movzx eax, byte [rsi + rdi]
movzx edx, byte [rcx + rax + 0xfc0]
mov rcx, r12
mov r8d, 3
call fcn.1400888d0
mov rcx, qword [rsp + 0x30]
inc rsi
jmp 0x14008919c
xor ebx, ebx
movabs rsi, 0x300000002
cmp rbx, qword [rsp + 0x48]
jae 0x140089263
mov r14, rbx
cmp rbx, 0x13f
ja 0x1400892c3
movzx edi, byte [rsp + r14 + 0x88]
cmp rdi, 0x13
mov rax, qword [rsp + 0x30]
jae 0x1400892d7
lea rbx, [r14 + 1]
movzx edx, word [rax + rdi*2 + 0xb40]
movzx r8d, byte [rax + rdi + 0xfc0]
mov rcx, r12
call fcn.1400888d0
cmp dil, 0x10
jb 0x1400891d1
cmp r14, 0x13f
je 0x140089303
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.1400888d0
add r14, 2
mov rbx, r14
jmp 0x1400891d1
mov rdi, r12
jmp 0x140088b25
cmp r11, rbx
cmovbe r11, rbx
lea r8, [0x140293da8]
mov rcx, r11
mov rdx, rbx
call fcn.140256c50
lea r8, [0x140293748]
mov edx, 0x120
jmp 0x14008929e
lea r8, [0x140293d90]
mov edx, 0x11
mov rcx, r10
call fcn.140256c50
lea r8, [0x140293860]
mov edx, 0x11
mov rcx, r9
call fcn.140256c50
lea r8, [0x140293530]
jmp 0x140089279
lea r8, [0x140293410]
mov edx, 0x140
mov rcx, r14
call fcn.140256c50
lea rcx, str.assertion_failed:_code___MAX_HUFF_SYMBOLS_2
lea r8, [0x140293458]
mov edx, 0x2b
call fcn.140256d30
lea r8, [0x1402938f8]
mov edx, 0x80
mov rcx, rax
call fcn.140256c50
lea r8, [0x140293470]
mov ecx, 0x140
mov edx, 0x140
call fcn.140256c50
lea r8, [0x140293dc0]
mov edx, 0x10000
mov rcx, rbx
call fcn.140256cc0
lea r8, [0x1402933c8]
mov edx, 0x140
mov rcx, r13
call fcn.140256cc0
lea r8, [0x1402933f8]
mov edx, 0x13
mov rcx, r14
call fcn.140256cc0
int3