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

Disassembly:
lea r12, [rsp - 0x5f0]
cmp r12, qword [r14 + 0x10]
jbe 0x584553
push rbp
mov rbp, rsp
sub rsp, 0x668
mov qword [rsp + 0x678], rax
mov qword [rsp + 0x680], rbx
mov qword [rsp + 0x688], rcx
mov qword [rsp + 0x690], rdi
mov dword [rsp + 0x698], esi
mov qword [rsp + 0x5d8], 0
movups xmmword [rsp + 0x5e0], xmm15
cmp dword [rsp + 0x698], 0x10
jge 0x58453f
jmp 0x583ba9
mov rax, qword [rsp + 0x688]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x28], eax
inc eax
mov dword [rsp + 0x44], eax
mov rdx, qword [rsp + 0x690]
movsxd rcx, eax
cmp rdx, rcx
jae 0x583bd5
jmp 0x58453a
jmp 0x583bd7
mov qword [rsp + 0x688], rcx
nop
call sym.compress_flate.maxNode
mov word [rsp + 0x60], ax
mov dword [rsp + 0x64], ebx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x680]
mov rsi, qword [rsp + 0x688]
cmp rsi, rcx
ja 0x583c0d
jmp 0x58452f
lea rsi, [rdx + rcx*8]
mov word [rsi], ax
lea rsi, [rdx + rcx*8]
lea rsi, [rsi + 4]
mov dword [rsi], ebx
mov esi, dword [rsp + 0x28]
dec esi
cmp dword [rsp + 0x698], esi
jg 0x583c2f
jmp 0x583c3e
mov esi, dword [rsp + 0x28]
dec esi
mov dword [rsp + 0x698], esi
jmp 0x583c42
nop
jmp 0x583c42
lea rdi, [rsp + 0x88]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ad9d
mov rbp, qword [rbp]
lea rdi, [rsp + 0x1c8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call sym.runtime.duffzero
mov rbp, qword [rbp]
mov dword [rsp + 0x34], 1
jmp 0x583c82
mov esi, dword [rsp + 0x34]
cmp dword [rsp + 0x698], esi
jge 0x583c94
jmp 0x583dfb
movups xmmword [rsp + 0x74], xmm15
movups xmmword [rsp + 0x78], xmm15
mov esi, dword [rsp + 0x34]
mov dword [rsp + 0x74], esi
mov rcx, qword [rsp + 0x688]
mov rdi, qword [rsp + 0x680]
cmp rcx, 1
ja 0x583cc5
nop
jmp 0x584525
mov edi, dword [rdi + 0xc]
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x688]
mov r8, qword [rsp + 0x680]
nop dword [rax]
cmp rcx, 2
ja 0x583ceb
jmp 0x584516
mov r8d, dword [r8 + 0x14]
mov dword [rsp + 0x7c], r8d
mov rcx, qword [rsp + 0x688]
mov r9, qword [rsp + 0x680]
test rcx, rcx
ja 0x583d0e
jmp 0x58450f
mov r9d, dword [r9 + 4]
mov rcx, qword [rsp + 0x688]
mov r10, qword [rsp + 0x680]
cmp rcx, 1
ja 0x583d2d
jmp 0x584505
add r9d, dword [r10 + 0xc]
mov dword [rsp + 0x80], r9d
movsxd rax, dword [rsp + 0x34]
nop
cmp rax, 0x10
jb 0x583d4b
jmp 0x5844f9
lea r10, [rax + rax*4]
lea r11, [rsp + r10*4 + 0x88]
movups xmmword [r11], xmm15
movups xmmword [r11 + 4], xmm15
lea r11, [rsp + r10*4 + 0x88]
mov dword [r11], esi
lea rsi, [rsp + r10*4 + 0x8c]
mov dword [rsi], edi
lea rsi, [rsp + r10*4 + 0x90]
mov dword [rsi], r8d
lea rsi, [rsp + r10*4 + 0x94]
mov dword [rsi], r9d
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x583d9b
jmp 0x5844ef
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x583db7
jmp 0x5844e5
lea rsi, [rsi + rax*4]
mov dword [rsi], 2
cmp dword [rsp + 0x34], 1
je 0x583dca
jmp 0x583dee
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x583dda
jmp 0x5844da
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x94]
mov dword [rsi], 0x7fffffff
jmp 0x583df0
jmp 0x583df0
jmp 0x583df2
inc dword [rsp + 0x34]
jmp 0x583c82
movsxd rax, dword [rsp + 0x698]
mov esi, dword [rsp + 0x28]
lea esi, [rsi + rsi]
lea esi, [rsi - 4]
cmp rax, 0x10
jb 0x583e18
jmp 0x5844d0
lea rdi, [rax + rax*4]
lea rdi, [rsp + rdi*4 + 0x98]
mov dword [rdi], esi
mov esi, dword [rsp + 0x698]
mov dword [rsp + 0x30], esi
jmp 0x583e33
jmp 0x583e35
movsxd rax, dword [rsp + 0x30]
nop word [rax + rax]
cmp rax, 0x10
jb 0x583e4b
jmp 0x5844c6
lea rsi, [rax + rax*4]
lea rdi, [rsp + rsi*4 + 0x88]
mov qword [rsp + 0x5c8], rdi
test byte [rdi], al
lea rsi, [rsp + rsi*4 + 0x94]
cmp dword [rsi], 0x7fffffff
sete byte [rsp + 0x1f]
je 0x583e78
jmp 0x583e90
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
cmp dword [rsi + 8], 0x7fffffff
sete byte [rsp + 0x1f]
jmp 0x583e92
jmp 0x583e92
cmp byte [rsp + 0x1f], 0
jne 0x583e9b
jmp 0x583ee5
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov dword [rsi + 0x10], 0
mov esi, dword [rsp + 0x30]
inc esi
mov dword [rsp + 0x40], esi
movsxd rax, esi
cmp rax, 0x10
jb 0x583ec5
nop
jmp 0x5844bc
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x94]
mov dword [rsi], 0x7fffffff
inc dword [rsp + 0x30]
nop dword [rax + rax]
jmp 0x584330
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi + 4]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi + 8]
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
cmp dword [rdi + 0xc], esi
jg 0x583f17
jmp 0x583fec
movsxd rax, dword [rsp + 0x30]
nop dword [rax]
cmp rax, 0x10
jb 0x583f2b
jmp 0x5844b2
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x30]
nop dword [rax]
cmp rax, 0x10
jb 0x583f4b
jmp 0x5844a8
lea rsi, [rsi + rax*4]
mov esi, dword [rsi]
inc esi
mov dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov edi, dword [rdi + 8]
mov dword [rsi + 4], edi
movsxd rax, dword [rsp + 0x30]
mov esi, dword [rsp + 0x24]
nop word [rax + rax]
cmp rax, 0x10
jb 0x583f8b
jmp 0x58449e
shl rax, 6
lea rdi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x30]
nop dword [rax]
cmp rax, 0x10
jb 0x583fab
jmp 0x584494
lea rdi, [rdi + rax*4]
mov dword [rdi], esi
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x688]
mov rsi, qword [rsp + 0x680]
cmp rcx, rax
ja 0x583fd0
jmp 0x58448f
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
lea rsi, [rsi + rax*8]
lea rsi, [rsi + 4]
mov esi, dword [rsi]
mov dword [rdi + 8], esi
jmp 0x584199
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov edi, dword [rdi + 0xc]
mov dword [rsi + 4], edi
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x584016
jmp 0x584485
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
test byte [rsi], al
movsxd rcx, dword [rsp + 0x30]
cmp rcx, 0x10
jbe 0x584034
jmp 0x584479
jmp 0x584036
mov qword [rsp + 0x650], rsi
mov qword [rsp + 0x658], rcx
mov qword [rsp + 0x660], 0x10
mov esi, dword [rsp + 0x30]
dec esi
movsxd rax, esi
nop dword [rax + rax]
cmp rax, 0x10
jb 0x58406b
jmp 0x58446f
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
test byte [rsi], al
movsxd rcx, dword [rsp + 0x30]
nop
cmp rcx, 0x10
jbe 0x58408b
jmp 0x584465
jmp 0x58408d
mov qword [rsp + 0x638], rsi
mov qword [rsp + 0x640], rcx
mov qword [rsp + 0x648], 0x10
mov rsi, qword [rsp + 0x650]
mov rdi, qword [rsp + 0x658]
mov r8, qword [rsp + 0x660]
mov qword [rsp + 0x620], rsi
mov qword [rsp + 0x628], rdi
mov qword [rsp + 0x630], r8
mov rsi, qword [rsp + 0x640]
mov rdi, qword [rsp + 0x638]
mov r8, qword [rsp + 0x648]
mov qword [rsp + 0x608], rdi
mov qword [rsp + 0x610], rsi
mov qword [rsp + 0x618], r8
mov rdi, qword [rsp + 0x628]
mov qword [rsp + 0x58], rdi
cmp rsi, rdi
jl 0x58411d
jmp 0x584124
mov qword [rsp + 0x58], rsi
jmp 0x584126
jmp 0x584126
mov rsi, qword [rsp + 0x608]
cmp qword [rsp + 0x620], rsi
jne 0x58413a
jmp 0x58415f
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
shl rcx, 2
mov rbx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x620]
call sym.runtime.memmove
jmp 0x584162
nop
jmp 0x584162
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
dec esi
mov dword [rsp + 0x3c], esi
movsxd rax, esi
cmp rax, 0x10
jb 0x584185
nop dword [rax]
jmp 0x58445a
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x98]
mov dword [rsi], 2
jmp 0x584199
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov edi, dword [rdi + 0x10]
dec edi
mov dword [rsi + 0x10], edi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
cmp dword [rsi + 0x10], 0
je 0x5841ca
jmp 0x5842fc
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
cmp dword [rsp + 0x698], esi
je 0x5841e5
nop
jmp 0x5842b5
jmp 0x5841e7
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x5841fa
jmp 0x584450
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x584219
jmp 0x584446
lea rsi, [rsi + rax*4]
mov esi, dword [rsi]
nop
cmp dword [rsp + 0x28], esi
jne 0x584433
jmp 0x58422c
mov esi, dword [rsp + 0x698]
inc esi
mov dword [rsp + 0x44], esi
mov rdi, qword [rsp + 0x678]
test byte [rdi], al
add rdi, 0x30
test byte [rdi], al
movsxd rcx, esi
cmp rcx, 0x11
jbe 0x584257
jmp 0x584429
jmp 0x584259
mov qword [rsp + 0x5f0], rdi
mov qword [rsp + 0x5f8], rcx
mov qword [rsp + 0x600], 0x11
mov qword [rsp + 0x48], 1
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x584291
jmp 0x58441f
shl rax, 6
lea rdx, [rsp + rax + 0x1c8]
mov qword [rsp + 0x5d0], rdx
mov edx, dword [rsp + 0x698]
mov dword [rsp + 0x2c], edx
jmp 0x584349
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
inc esi
mov dword [rsp + 0x38], esi
movsxd rax, esi
mov esi, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
add esi, dword [rdi + 4]
nop dword [rax + rax]
cmp rax, 0x10
jb 0x5842e8
jmp 0x58433f
lea rdi, [rax + rax*4]
lea rdi, [rsp + rdi*4 + 0x94]
mov dword [rdi], esi
inc dword [rsp + 0x30]
jmp 0x58432e
jmp 0x5842fe
mov esi, dword [rsp + 0x30]
dec esi
movsxd rax, esi
cmp rax, 0x10
jb 0x58430f
jmp 0x584335
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x98]
cmp dword [rsi], 0
nop
jg 0x584324
jmp 0x58432c
dec dword [rsp + 0x30]
jmp 0x58432a
jmp 0x5842fe
jmp 0x58432e
jmp 0x584330
jmp 0x583e33
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
cmp dword [rsp + 0x2c], 0
jg 0x584352
jmp 0x5843c2
movsxd rax, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x5d0]
test byte [rdx], al
cmp rax, 0x10
jb 0x58436c
jmp 0x584415
lea rdx, [rdx + rax*4]
mov edx, dword [rdx]
mov rsi, qword [rsp + 0x5d0]
test byte [rsi], al
mov edi, dword [rsp + 0x2c]
dec edi
movsxd rax, edi
cmp rax, 0x10
jb 0x58438d
jmp 0x58440b
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x5f8]
mov r8, qword [rsp + 0x5f0]
lea rsi, [rsi + rax*4]
sub edx, dword [rsi]
cmp rdi, rcx
jb 0x5843af
jmp 0x584403
lea rsi, [r8 + rdi*4]
mov dword [rsi], edx
inc qword [rsp + 0x48]
jmp 0x5843bc
dec dword [rsp + 0x2c]
jmp 0x584349
mov rbx, qword [rsp + 0x5f8]
mov rcx, qword [rsp + 0x600]
mov rdx, qword [rsp + 0x5f0]
mov qword [rsp + 0x5d8], rdx
mov qword [rsp + 0x5e0], rbx
mov qword [rsp + 0x5e8], rcx
mov rax, qword [rsp + 0x5d8]
add rsp, 0x668
pop rbp
ret
mov rax, rdi
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov edx, 0x11
call sym.runtime.panicSliceAlen
lea rax, [0x005aa460]
lea rbx, [0x006b6578]
call sym.runtime.gopanic
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
nop
call sym.runtime.panicIndex
mov edx, 0x10
call sym.runtime.panicSliceAlen
mov ecx, 0x10
call sym.runtime.panicIndex
mov edx, 0x10
nop
call sym.runtime.panicSliceAlen
mov ecx, 0x10
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
nop
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
nop
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
xor eax, eax
call sym.runtime.panicIndex
mov eax, 2
nop dword [rax + rax]
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov rax, rcx
mov rcx, rsi
call sym.runtime.panicIndex
call sym.runtime.panicSliceAcap
lea rax, [0x005aa460]
lea rbx, [0x006b6568]
call sym.runtime.gopanic
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], esi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov esi, dword [rsp + 0x28]
jmp sym.compress_flate._huffmanEncoder_.bitCounts