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

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x46cdb5
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0xd0], sil
mov byte [rsp + 0xd1], r8b
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x38], edx
mov r10, qword [rsp + 0x88]
mov r11, r10
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub r11, rdx
mov dword [rsp + 0x2c], r11d
jmp 0x46c865
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], r11d
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x80], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x34], edx
mov r10, qword [rsp + 0x80]
mov r11, r10
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub r11, rdx
mov dword [rsp + 0x28], r11d
jmp 0x46c8d2
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x58], r11d
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rdx
shr rdx, 1
movabs rax, 0x89705f4136b4a598
mul rdx
shr rdx, 0x1c
mov dword [rsp + 0x30], edx
mov rdi, qword [rsp + 0x78]
mov r10, rdi
shr r10, 1
movabs rax, 0x89705f4136b4a598
mov rcx, rdx
mul r10
shr rdx, 0x1c
imul rdx, rdx, 0x3b9aca00
sub rdi, rdx
mov dword [rsp + 0x24], edi
jmp 0x46c938
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x48], edi
test ecx, ecx
je 0x46c94e
jmp 0x46c980
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call sym.strconv.ryuDigits32
jmp 0x46cbfd
cmp dword [rsp + 0x54], ecx
jb 0x46c98b
jmp 0x46ca65
cmp dword [rsp + 0x50], 0
jne 0x46c994
jmp 0x46c99a
inc dword [rsp + 0x54]
jmp 0x46c99c
jmp 0x46c99c
movzx edx, byte [rsp + 0xd0]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x46c9ae
jmp 0x46c9ba
cmp dword [rsp + 0x58], 0
sete byte [rsp + 0x23]
jmp 0x46c9bc
jmp 0x46c9bc
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xd0], dl
cmp dword [rsp + 0x58], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x46c9d9
jmp 0x46c9db
jmp 0x46ca07
cmp dword [rsp + 0x58], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x46c9ec
jmp 0x46c9fa
movzx edx, byte [rsp + 0xd1]
mov byte [rsp + 0x22], dl
jmp 0x46c9fc
jmp 0x46c9fc
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x46ca07
movzx r8d, byte [rsp + 0x23]
mov byte [rsp + 0xd1], r8b
mov ebx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x4c]
movzx esi, byte [rsp + 0xd0]
mov rax, qword [rsp + 0xb0]
mov r9d, 8
call sym.strconv.ryuDigits32
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov r10, qword [r10 + 0x20]
add r10, 9
mov qword [rdx + 0x20], r10
nop dword [rax]
jmp 0x46cbfb
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov qword [rdx + 0x18], 0
mov qword [rsp + 0x90], 9
mov edx, dword [rsp + 0x5c]
mov dword [rsp + 0x44], edx
jmp 0x46ca8d
cmp dword [rsp + 0x44], 0
ja 0x46ca99
jmp 0x46cb1c
mov edx, dword [rsp + 0x44]
mov r10d, 0xcccccccd
imul rdx, r10
shr rdx, 0x23
mov dword [rsp + 0x40], edx
mov r11d, dword [rsp + 0x44]
imul r10, r11
shr r10, 0x23
lea r10d, [r10 + r10*4]
shl r10d, 1
sub r11d, r10d
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x44], edx
mov rax, qword [rsp + 0x90]
lea rdx, [rax - 1]
mov qword [rsp + 0x90], rdx
mov r10, qword [rsp + 0xb0]
test byte [r10], al
mov rcx, qword [r10 + 8]
mov r10, qword [r10]
mov r11d, dword [rsp + 0x3c]
add r11d, 0x30
nop
cmp rcx, rdx
ja 0x46cb0a
jmp 0x46cdac
lea rdx, [rax + r10]
lea rdx, [rdx - 1]
mov byte [rdx], r11b
jmp 0x46cb17
jmp 0x46ca8d
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov r10, qword [rdx]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x90]
jmp 0x46cb40
cmp rcx, rax
jae 0x46cb4a
jmp 0x46cda7
mov r11, qword [rsp + 0xb0]
test byte [r11], al
sub rdx, rax
sub rcx, rax
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
lea rdx, [r10 + rax]
cmp dword [0x005b5ea0], 0
je 0x46cb7c
jmp 0x46cb7e
jmp 0x46cb95
mov rax, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov r10, qword [rax]
mov qword [r11 + 8], r10
mov r11, rax
jmp 0x46cb95
mov qword [r11], rdx
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r10, qword [rsp + 0x90]
add r10, 0xfffffffffffffff7
neg r10
mov qword [rdx + 0x18], r10
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov r9, qword [rdx + 0x18]
add r9, 8
mov qword [rsp + 0x98], r9
mov ebx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov edi, dword [rsp + 0x48]
movzx esi, byte [rsp + 0xd0]
movzx r8d, byte [rsp + 0xd1]
mov rax, qword [rsp + 0xb0]
call sym.strconv.ryuDigits32
jmp 0x46cbfb
jmp 0x46cbfd
jmp 0x46cbff
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46cc17
jmp 0x46cc57
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rax, qword [rbx + 0x18]
lea rbx, [rax - 1]
cmp rcx, rbx
ja 0x46cc45
nop
jmp 0x46cd9f
lea rdx, [rax + rdx]
lea rdx, [rdx - 1]
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46cc59
jmp 0x46cc59
cmp byte [rsp + 0x23], 0
nop
jne 0x46cc64
jmp 0x46cc8a
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rbx, qword [rbx + 0x18]
dec rbx
mov qword [rdx + 0x18], rbx
jmp 0x46cc85
jmp 0x46cbff
jmp 0x46cc8c
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x46cca4
jmp 0x46ccc9
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
test rcx, rcx
ja 0x46ccbf
jmp 0x46cd98
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x46cccb
jmp 0x46cccb
cmp byte [rsp + 0x23], 0
jne 0x46ccd7
jmp 0x46cd85
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rbx, qword [rbx + 0x18]
dec rbx
mov qword [rdx + 0x18], rbx
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
mov rbx, qword [rbx + 0x20]
dec rbx
mov qword [rdx + 0x20], rbx
mov rdx, qword [rsp + 0xb0]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rbx, qword [rdx]
mov rdx, qword [rdx + 0x10]
jmp 0x46cd2c
cmp rcx, 1
jae 0x46cd34
jmp 0x46cd8e
mov rsi, qword [rsp + 0xb0]
test byte [rsi], al
dec rdx
lea rdi, [rcx - 1]
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdx
neg rdx
sar rdx, 0x3f
and edx, 1
add rdx, rbx
cmp dword [0x005b5ea0], 0
je 0x46cd65
jmp 0x46cd67
jmp 0x46cd78
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdx
mov rbx, qword [rsi]
mov qword [r11 + 8], rbx
jmp 0x46cd78
mov qword [rsi], rdx
jmp 0x46cd7d
nop dword [rax]
jmp 0x46cc8c
add rsp, 0xa0
pop rbp
ret
mov eax, 1
call sym.runtime.panicSliceB
xor eax, eax
call sym.runtime.panicIndex
mov rax, rbx
call sym.runtime.panicIndex
call sym.runtime.panicSliceBU
mov rax, rdx
call sym.runtime.panicIndexU
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
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]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
jmp sym.strconv.ryuDigits