Function at 0x411c6630
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x318], rbx
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rsi, r9
mov qword [rsp + 0x50], r9
mov r15, r8
mov rbx, rcx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbx + 0x40]
mov rdx, r15
call fcn.41024690
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rsi
lea rcx, [rbx + 0x68]
call fcn.41024690
cmp qword [rbx + 0x88], 8
jb 0x411c66c5
mov rcx, qword [rbx + 0x70]
jmp 0x411c66c9
lea rcx, [rbx + 0x70]
xor r12d, r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x10000000
lea r8d, [r12 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x411c6704
xor eax, eax
jmp 0x411c6b57
mov esi, 0x34
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, esi
cmovb esi, eax
mov ebp, esi
mov ecx, esi
call fcn.4120fd60
mov r14, rax
test rax, rax
je 0x411c6b57
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.412121c0
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x48]
mov r8d, esi
mov rdx, r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, str.__GS__
mov rsi, r14
mov ecx, 7
repe cmpsb byte [rsi], byte [rdi]
jne 0x411c6b55
lea rsi, [r14 + 0xa]
lea rdi, str.__Dict__
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
jne 0x411c6b55
mov dword [rsp + 0x30], 0x4e20
mov eax, dword [r14 + 0x20]
mov dword [rsp + 0x28], eax
mov eax, dword [r14 + 0x18]
mov dword [rsp + 0x20], eax
lea r9, str.__GS_SYS_PY_CELL_DICT_IDX__
lea r8, str.SmartCloudInput
lea rdx, str._s__s__d__d__d
lea rcx, [rsp + 0xb0]
call fcn.412122b0
lea rsi, [rbx + 0x90]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xb0]
repne scasw ax, word [rdi]
not rcx
lea rbp, [rcx - 1]
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x411c67fd
lea rdi, [rsi + 8]
mov rax, qword [rdi]
jmp 0x411c6804
lea rdi, [rsi + 8]
mov rax, rdi
lea rcx, [rsp + 0xb0]
cmp rcx, rax
jb 0x411c685e
cmp rdx, 8
jb 0x411c681c
mov rcx, qword [rdi]
jmp 0x411c681f
mov rcx, rdi
mov rax, qword [rsi + 0x18]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0xb0]
cmp rcx, rax
jbe 0x411c685e
cmp rdx, 8
jb 0x411c683d
mov rdi, qword [rdi]
lea r8, [rsp + 0xb0]
sub r8, rdi
sar r8, 1
mov r9, rbp
mov rdx, rsi
mov rcx, rsi
call fcn.41022de0
jmp 0x411c68eb
movabs rax, 0x7ffffffffffffffe
cmp rbp, rax
jbe 0x411c6872
call fcn.4120fbc0
mov rax, qword [rsi + 0x20]
cmp rax, rbp
jae 0x411c688c
mov r8, qword [rsi + 0x18]
mov rdx, rbp
mov rcx, rsi
call fcn.41022ab0
jmp 0x411c68a4
test rbp, rbp
jne 0x411c68a4
mov qword [rsi + 0x18], r12
cmp rax, 8
jb 0x411c689e
mov rdi, qword [rdi]
mov word [rdi], r12w
jmp 0x411c68eb
test rbp, rbp
je 0x411c68eb
mov rdx, qword [rsi + 0x20]
cmp rdx, 8
jb 0x411c68b8
mov rcx, qword [rdi]
jmp 0x411c68bb
mov rcx, rdi
lea r12, [rbp + rbp]
add rdx, rdx
mov r9, r12
lea r8, [rsp + 0xb0]
call fcn.412118b0
mov qword [rsi + 0x18], rbp
cmp qword [rsi + 0x20], 8
jb 0x411c68e1
mov rdi, qword [rdi]
mov word [r12 + rdi], 0
xor r12d, r12d
mov rcx, r14
call fcn.41212980
mov dword [rsp + 0x44], r12d
cmp qword [rsi + 0x20], 8
jb 0x411c6905
mov rsi, qword [rsi + 8]
jmp 0x411c6909
add rsi, 8
cmp qword [rbx + 0x88], 8
jb 0x411c6919
mov rdx, qword [rbx + 0x70]
jmp 0x411c691d
lea rdx, [rbx + 0x70]
lea rax, [rbx + 0x28]
lea rcx, [rbx + 8]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x10]
mov rcx, rbx
call fcn.411fcbe0
mov qword [rbx + 0x18], rax
cmp dword [rsp + 0x44], 0
je 0x411c6957
xor eax, eax
jmp 0x411c6b57
test rax, rax
je 0x411c6b57
mov qword [rsp + 0xa8], 7
xor r13d, r13d
mov qword [rsp + 0xa0], r13
mov word [rsp + 0x90], r13w
mov dword [rsp + 0x40], r13d
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x88]
mov rdx, r15
mov rcx, rbx
call fcn.411c62f0
test eax, eax
jne 0x411c69d1
lea r8, [rbx + 0x18]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call fcn.411fcb90
nop
cmp qword [rsp + 0xa8], 8
jb 0x411c69ca
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
xor eax, eax
jmp 0x411c6b57
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x58]
call fcn.41022de0
lea r8, [rsp + 0x58]
mov edx, dword [rsp + 0x40]
mov rcx, qword [rbx + 0x18]
call fcn.411fbf00
test eax, eax
jne 0x411c6a8b
lea r8, [rbx + 0x18]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call fcn.411fcb90
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x58]
call fcn.41022de0
lea r9, [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov rdx, r15
mov rcx, rbx
call fcn.411c5d80
test eax, eax
jne 0x411c6a8b
cmp qword [rsp + 0xa8], 8
jb 0x411c6a84
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
xor eax, eax
jmp 0x411c6b57
mov rax, qword [rbx + 0x18]
lea rdi, str.__GS__
mov rsi, rax
mov ecx, 7
repe cmpsb byte [rsi], byte [rdi]
mov edx, 1
cmovne edx, r13d
lea rsi, [rax + 0xa]
lea rdi, str.__Dict__
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
jne 0x411c6b28
test edx, edx
je 0x411c6b28
cmp byte [rax + 0x1c], 1
jne 0x411c6af4
lea r8, [rbx + 0x18]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call fcn.411fcb90
nop
cmp qword [rsp + 0xa8], 8
jb 0x411c6af0
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
xor eax, eax
jmp 0x411c6b57
mov qword [rbx + 0x30], rax
mov ecx, dword [rax + 0x30]
add rcx, rax
mov qword [rbx + 0x20], rcx
mov dword [rbx + 0x38], 1
cmp qword [rsp + 0xa8], 8
jb 0x411c6b21
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
mov eax, 1
jmp 0x411c6b57
lea r8, [rbx + 0x18]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call fcn.411fcb90
nop
cmp qword [rsp + 0xa8], 8
jb 0x411c6b51
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
xor eax, eax
jmp 0x411c6b57
xor eax, eax
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.41211b80
mov rbx, qword [rsp + 0x318]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret