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

Disassembly:
lea r12, [rsp - 0xd0]
cmp r12, qword [r14 + 0x10]
jbe 0x4a6340
push rbp
mov rbp, rsp
sub rsp, 0x148
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x168], rax
mov rdx, qword [rax]
cmp qword [rdx + 0x238], 0
je 0x4a576c
mov edx, 0xa
jmp 0x4a586a
mov dword [rsp + 0x48], 0
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x10]
xor ebx, ebx
xor ecx, ecx
lea rdi, [rsp + 0x48]
xor esi, esi
mov r8, rsi
mov r9, rbx
mov r10d, ecx
mov rax, rdx
call sym.internal_syscall_windows.GetVolumeInformationByHandle
nop word [rax + rax]
test rax, rax
jne 0x4a58bc
lea rax, [0x004f8f40]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rcx]
test byte [rdx], al
cmp dword [0x006400b0], 0
je 0x4a57de
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rbx, qword [rdx + 0x238]
mov qword [r11 + 8], rbx
mov qword [rdx + 0x238], rax
lea rax, [0x005ddc80]
call sym.sync._Pool_.Get
lea rcx, [0x004e8060]
nop dword [rax + rax]
cmp rax, rcx
jne 0x4a6330
mov rdx, qword [rsp + 0x168]
mov r12, qword [rdx]
mov r12, qword [r12 + 0x238]
test byte [r12], al
cmp dword [0x006400b0], 0
je 0x4a5839
call sym.runtime.gcWriteBarrier2
mov qword [r11], rbx
mov r13, qword [r12]
mov qword [r11 + 8], r13
mov qword [r12], rbx
mov r12, qword [rdx]
mov r12, qword [r12 + 0x238]
mov r13d, dword [rsp + 0x48]
mov dword [r12 + 0x10], r13d
mov rax, rdx
mov rcx, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x170]
mov edx, 0xb
mov r12, qword [rax]
mov r12, qword [r12 + 0x238]
mov qword [rsp + 0x108], r12
test rbx, rbx
mov r13, 0xffffffffffffffff
mov r15, rbx
cmovle rbx, r13
xor esi, esi
xor edi, edi
xor r8d, r8d
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
xor r13d, r13d
xor esi, esi
mov qword [rsp + 0x138], rsi
xor esi, esi
mov qword [rsp + 0x130], rsi
xor esi, esi
jmp 0x4a59a6
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0xe8], rax
lea rax, [0x004fa5c0]
call sym.runtime.newobject
mov qword [rax + 8], 7
lea rcx, [0x00508f68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x230]
mov rcx, qword [rcx + 0x228]
mov qword [rax + 0x18], rdx
cmp dword [0x006400b0], 0
je 0x4a5918
call sym.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0xe8]
mov qword [rax + 0x20], rdx
cmp dword [0x006400b0], 0
jne 0x4a5940
mov rdx, qword [rsp + 0x140]
jmp 0x4a5950
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x140]
mov qword [r11], rdx
mov qword [rax + 0x28], rdx
lea rdx, [0x00537918]
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x160], rax
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rcx
mov r8, rcx
xor r9d, r9d
mov r10, rcx
mov r11, rcx
add rsp, 0x148
pop rbp
ret
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x68]
test rbx, rbx
je 0x4a5d60
cmp qword [r12 + 8], 0
jne 0x4a5a94
mov rcx, qword [rax]
test byte [rcx], al
mov r15, qword [r12]
mov r12, qword [r15 + 8]
test r12, r12
jbe 0x4a6326
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x128], r13
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xc0], r10
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0xb0], r11
mov dword [rsp + 0x4c], edx
mov rax, qword [rcx + 0x10]
mov rcx, qword [r15]
mov ebx, edx
mov rdi, r12
call sym.internal_syscall_windows.GetFileInformationByHandleEx
test rax, rax
jne 0x4a5aca
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x178]
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x108]
mov r13, qword [rsp + 0x128]
mov r15, qword [rsp + 0x170]
mov edx, 0xa
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x60], rax
xor eax, eax
mov byte [rsp + 0x47], al
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x60]
jmp 0x4a5e40
mov r15, qword [rsp + 0x170]
jmp 0x4a598c
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0xe8], rax
lea rdx, [0x00537938]
cmp rax, rdx
jne 0x4a5b55
lea rcx, [0x00536ea0]
call sym.runtime.ifaceeq
test al, al
je 0x4a5b3e
mov rdx, qword [rsp + 0x170]
test rdx, rdx
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x128]
jmp 0x4a5d63
mov rax, qword [rsp + 0xe8]
lea rdx, [0x00537938]
mov rbx, qword [rsp + 0x140]
mov r12d, dword [rsp + 0x4c]
nop word [rax + rax]
cmp r12d, 0xb
jne 0x4a5b96
cmp rax, rdx
je 0x4a5b6f
xor ecx, ecx
jmp 0x4a5b98
lea rcx, [0x00535e40]
call sym.runtime.ifaceeq
lea rdx, [0x00537938]
mov rbx, qword [rsp + 0x140]
mov ecx, eax
mov rax, qword [rsp + 0xe8]
jmp 0x4a5b98
xor ecx, ecx
test cl, cl
je 0x4a5be5
mov rdx, qword [rsp + 0x170]
test rdx, rdx
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x128]
nop
jmp 0x4a5d63
mov rax, qword [rsp + 0x168]
call sym.os._File_.Stat
test rax, rax
je 0x4a5c0a
mov rcx, qword [rax + 0x18]
mov rax, rbx
nop
call rcx
test al, al
je 0x4a5c8f
lea rax, [0x004fa5c0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1c
lea rcx, [0x0050f8f9]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x230]
mov rcx, qword [rcx + 0x228]
mov qword [rax + 0x18], rdx
cmp dword [0x006400b0], 0
je 0x4a5c56
call sym.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov rdx, qword [rsp + 0xe8]
mov qword [rax + 0x20], rdx
cmp dword [0x006400b0], 0
jne 0x4a5c79
mov rdx, qword [rsp + 0x140]
jmp 0x4a5c89
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x140]
mov qword [r11], rdx
mov qword [rax + 0x28], rdx
jmp 0x4a5cf5
lea rax, [0x004fa5c0]
call sym.runtime.newobject
mov qword [rax + 8], 7
lea rcx, [0x00508f68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x168]
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x230]
mov rcx, qword [rcx + 0x228]
mov qword [rax + 0x18], rdx
cmp dword [0x006400b0], 0
je 0x4a5cdb
call sym.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
lea rdx, [0x00537938]
mov qword [rax + 0x20], rdx
lea rdx, [0x00535ec0]
mov qword [rax + 0x28], rdx
lea rdx, [0x00537918]
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x130]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x138]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xe0]
add rsp, 0x148
pop rbp
ret
test r15, r15
jle 0x4a5d71
lea rdx, [r8 + rdi]
add rdx, rsi
test rdx, rdx
je 0x4a5da8
movups xmmword [rsp + 0x158], xmm15
mov rax, qword [rsp + 0x130]
mov rbx, r8
mov rcx, r10
mov r8, r11
mov r10, rsi
mov r11, r9
mov rsi, rdi
mov r9, qword [rsp + 0x138]
mov rdi, r13
add rsp, 0x148
pop rbp
ret
mov rdx, qword [0x005dd500]
mov r12, qword [0x005dd508]
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x160], r12
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rcx
mov r8, rcx
xor r9d, r9d
mov r10, rcx
mov r11, rcx
add rsp, 0x148
pop rbp
ret
sete r12b
mov edx, dword [rsp + 0x54]
mov byte [rsp + 0x47], r12b
mov r13, rsi
mov qword [rsp + 0x120], r8
mov rsi, rdi
mov qword [rsp + 0x130], r11
mov r8, r10
mov r12, qword [rsp + 0x108]
mov r11, rcx
mov r10, r9
mov rdi, rbx
mov rcx, qword [rsp + 0x178]
mov rbx, r15
mov r9, rax
mov rax, qword [rsp + 0x168]
mov r15, qword [rsp + 0x170]
nop dword [rax]
test rbx, rbx
je 0x4a598c
movzx r15d, byte [rsp + 0x47]
test r15b, r15b
jne 0x4a5abd
mov r15, qword [r12]
mov rax, qword [r15 + 8]
mov rdx, qword [r12 + 8]
cmp rdx, rax
jae 0x4a631b
mov r15, qword [r15]
mov eax, dword [r15 + rdx]
add rax, rdx
mov qword [r12 + 8], rax
mov eax, dword [r15 + rdx]
test eax, eax
jne 0x4a5e8e
mov qword [r12 + 8], 0
mov qword [rsp + 0xa8], rdx
mov r12d, dword [r15 + rdx + 0x3c]
shr r12d, 1
lea rdx, [r15 + rdx]
lea rdx, [rdx + 0x68]
test r12, r12
jl 0x4a6316
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x118], r15
mov dword [rsp + 0x50], eax
mov eax, r12d
mov r15d, 2
mul r15
jo 0x4a6311
mov rdx, qword [rsp + 0xf0]
neg rdx
cmp rax, rdx
ja 0x4a6311
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], rsi
mov rax, qword [rsp + 0xf0]
mov ebx, r12d
mov ecx, ebx
call sym.syscall.UTF16ToString
cmp rbx, 1
jne 0x4a5f4a
cmp byte [rax], 0x2e
nop
jne 0x4a5f4a
mov edx, dword [rsp + 0x50]
test edx, edx
jmp 0x4a5f5d
cmp rbx, 2
jne 0x4a5fbc
cmp word [rax], 0x2e2e
jne 0x4a5fbc
mov edx, dword [rsp + 0x50]
test edx, edx
mov rdx, qword [rsp + 0x108]
mov r13, qword [rsp + 0x178]
mov r15, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsp + 0x120]
mov r11, qword [rsp + 0x130]
jmp 0x4a5de7
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0x178]
test rdx, rdx
jne 0x4a60ad
mov r12, qword [rsp + 0x98]
inc r12
mov rcx, qword [rsp + 0xa0]
cmp rcx, r12
jb 0x4a5ffc
mov rsi, qword [rsp + 0x130]
jmp 0x4a6033
mov rax, qword [rsp + 0x130]
mov rbx, r12
mov edi, 1
lea rsi, [0x004e95e0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x178]
mov rsi, rax
mov r12, rbx
mov rax, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x58]
lea r13, [r12 - 1]
shl r13, 4
mov qword [rsi + r13 + 8], rbx
cmp dword [0x006400b0], 0
je 0x4a605a
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r15, qword [rsi + r13]
mov qword [r11 + 8], r15
mov qword [rsi + r13], rax
mov rdx, qword [rsp + 0x108]
lea r15, [0x00537d58]
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov r9, rcx
mov r10, r12
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x120]
mov r11, rsi
mov r12, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x110]
jmp 0x4a62f6
nop
lea rax, [0x005038c0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x118]
mov ebx, dword [rdx + rcx + 0x38]
mov dword [rax + 0x10], ebx
mov ebx, dword [rdx + rcx + 0xc]
mov esi, dword [rdx + rcx + 8]
mov dword [rax + 0x14], esi
mov dword [rax + 0x18], ebx
mov ebx, dword [rdx + rcx + 0x14]
mov esi, dword [rdx + rcx + 0x10]
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], ebx
mov ebx, dword [rdx + rcx + 0x1c]
mov esi, dword [rdx + rcx + 0x18]
mov dword [rax + 0x24], esi
mov dword [rax + 0x28], ebx
mov rbx, qword [rdx + rcx + 0x28]
shr rbx, 0x20
mov dword [rax + 0x2c], ebx
mov rbx, qword [rdx + rcx + 0x28]
mov dword [rax + 0x30], ebx
mov ebx, dword [rdx + rcx + 0x40]
mov dword [rax + 0x34], ebx
mov rbx, qword [rdx + rcx + 0x60]
shr rbx, 0x20
mov dword [rax + 0x5c], ebx
mov rcx, qword [rdx + rcx + 0x60]
mov dword [rax + 0x60], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x006400b0], 0
jne 0x4a6146
mov rdx, qword [rsp + 0xf8]
jmp 0x4a6156
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0xf8]
mov qword [r11], rdx
mov qword [rsp + 0x100], rax
mov qword [rax], rdx
mov rdx, qword [rsp + 0x108]
mov r12d, dword [rdx + 0x10]
mov dword [rax + 0x58], r12d
movups xmmword [rax + 0x48], xmm15
mov r12, qword [rsp + 0x178]
nop
cmp r12, 1
jne 0x4a622d
mov rbx, qword [rsp + 0x80]
inc rbx
mov rcx, qword [rsp + 0x88]
nop dword [rax]
cmp rcx, rbx
jb 0x4a61af
mov rsi, qword [rsp + 0x110]
jmp 0x4a61e3
mov rax, qword [rsp + 0x110]
mov edi, 1
lea rsi, [0x004f3f60]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x108]
mov r12, qword [rsp + 0x178]
mov rsi, rax
mov rax, qword [rsp + 0x100]
lea r13, [rbx - 1]
shl r13, 4
lea r15, [0x00537d58]
mov qword [rsi + r13], r15
cmp dword [0x006400b0], 0
je 0x4a6211
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdi, qword [rsi + r13 + 8]
mov qword [r11 + 8], rdi
mov qword [rsi + r13 + 8], rax
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x120]
jmp 0x4a62de
mov rbx, qword [rsp + 0x70]
inc rbx
mov rcx, qword [rsp + 0x78]
cmp rcx, rbx
jb 0x4a6249
mov rsi, qword [rsp + 0x120]
jmp 0x4a6280
mov rax, qword [rsp + 0x120]
mov edi, 1
lea rsi, [0x004f7780]
nop dword [rax]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x108]
mov r12, qword [rsp + 0x178]
mov rsi, rax
mov rax, qword [rsp + 0x100]
lea r13, [rbx - 1]
shl r13, 4
lea r15, [0x00537d90]
mov qword [rsi + r13], r15
cmp dword [0x006400b0], 0
je 0x4a62b1
nop dword [rax]
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdi, qword [rsi + r13 + 8]
mov qword [r11 + 8], rdi
mov qword [rsi + r13 + 8], rax
lea r15, [0x00537d58]
mov rax, rcx
mov rdi, rbx
mov rbx, qword [rsp + 0x80]
mov r8, rsi
mov rcx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x110]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0x130]
mov r15, qword [rsp + 0x90]
dec r15
mov r13, r12
mov r12d, dword [rsp + 0x50]
test r12d, r12d
jmp 0x4a5de7
call sym.runtime.panicunsafeslicelen
call sym.runtime.panicunsafeslicelen
mov rcx, rax
mov rax, rdx
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
call sym.runtime.panicIndex
mov rbx, rcx
lea rcx, [0x004eda40]
call sym.runtime.panicdottypeE
nop
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
jmp sym.os._File_.readdir