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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x308], rbx
mov rax, qword [0x180332088]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r13, r9
mov r15, r8
mov rdi, rcx
xor esi, esi
cmp word [r8], si
jne 0x1801d9e23
mov r8d, esi
jmp 0x1801d9e3a
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [r15 + r8*2], si
jne 0x1801d9e30
add rcx, 0x40
mov rdx, r15
call fcn.18005c660
cmp word [r13], si
jne 0x1801d9e52
mov r8, rsi
jmp 0x1801d9e6b
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [r13 + r8*2], si
jne 0x1801d9e60
lea rbx, [rdi + 0x60]
mov rdx, r13
mov rcx, rbx
call fcn.18005c660
cmp qword [rbx + 0x18], 8
jb 0x1801d9e86
mov rcx, qword [rbx]
jmp 0x1801d9e89
mov rcx, rbx
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x10000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1801da1de
xor edx, edx
lea r12d, [rdx + 0x34]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, r12d
cmovb r12d, eax
mov ecx, r12d
call fcn.180203f3c
mov rsi, rax
test rax, rax
je 0x1801da1de
mov r8d, r12d
xor edx, edx
mov rcx, rax
call fcn.180233580
xor eax, eax
mov dword [rsp + 0x44], eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8d, r12d
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
lea rdx, str.__GS__
movzx eax, byte [rsi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x1801da1de
cmp rcx, 7
jne 0x1801d9f25
lea rcx, [rsi + 0xa]
lea rdx, str.__Dict__
call fcn.180254a70
test eax, eax
jne 0x1801da1de
mov dword [rsp + 0x30], 0x4e20
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x20], eax
lea r9, str.__GS_SYS_PY_CELL_DICT_IDX__
lea r8, str.WanNengWBInput
lea rdx, str._s__s__d__d__d
lea rcx, [rbp - 0x60]
call fcn.18005c530
cmp word [rbp - 0x60], 0
jne 0x1801d9f94
xor r8d, r8d
jmp 0x1801d9fab
lea rax, [rbp - 0x60]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1801d9fa0
lea r12, [rdi + 0x80]
lea rdx, [rbp - 0x60]
mov rcx, r12
call fcn.18005c660
mov rcx, rsi
call fcn.180085310
xor esi, esi
mov dword [rsp + 0x40], esi
cmp qword [r12 + 0x18], 8
jb 0x1801d9fd8
mov r12, qword [r12]
cmp qword [rbx + 0x18], 8
jb 0x1801d9fe2
mov rbx, qword [rbx]
lea rax, [rdi + 0x28]
lea rcx, [rdi + 8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x40]
lea r8, [rdi + 0x10]
mov rdx, rbx
mov rcx, rdi
call fcn.1801dfea0
mov qword [rdi + 0x18], rax
cmp dword [rsp + 0x40], esi
jne 0x1801da1de
test rax, rax
je 0x1801da1de
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rsi
mov word [rsp + 0x78], si
mov dword [rsp + 0x40], esi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x78]
mov rdx, r15
mov rcx, rdi
call fcn.1801db2f0
test eax, eax
je 0x1801da194
mov rdx, r15
mov rcx, rdi
call fcn.1801db1c0
test eax, eax
je 0x1801da194
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.18005cbe0
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x40]
mov rcx, qword [rdi + 0x18]
call fcn.1801baf70
test eax, eax
jne 0x1801da112
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1801da0bb
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rdi + 0x18], rsi
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1801da0ce
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x10], rsi
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x48], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.18005cbe0
lea r9, [rsp + 0x48]
mov r8, r13
mov rdx, r15
mov rcx, rdi
call fcn.1801da210
test eax, eax
je 0x1801da1ba
mov r15d, 1
mov rsi, qword [rdi + 0x18]
xor edx, edx
mov eax, edx
lea r9, str.__GS__
nop word [rax + rax]
movzx ecx, byte [rsi + rax]
inc rax
cmp cl, byte [r9 + rax - 1]
jne 0x1801da149
cmp rax, 7
jne 0x1801da130
cmp cl, byte [r9 + rax - 1]
mov r12d, r15d
cmovne r12d, edx
lea rcx, [rsi + 0xa]
lea rdx, str.__Dict__
call fcn.180254a70
test eax, eax
jne 0x1801da16f
test r12d, r12d
je 0x1801da16f
cmp byte [rsi + 0x1c], r15b
jne 0x1801da180
lea r8, [rdi + 0x18]
lea rdx, [rdi + 0x10]
call fcn.1801dfe50
xor esi, esi
jmp 0x1801da1ba
mov qword [rdi + 0x30], rsi
mov eax, dword [rsi + 0x30]
add rax, rsi
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x38], r15d
jmp 0x1801da1bd
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1801da1a7
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rdi + 0x18], rsi
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1801da1ba
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x10], rsi
mov r15d, esi
mov r8, qword [rbp - 0x70]
cmp r8, 8
jb 0x1801da1d9
inc r8
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.18005cac0
mov eax, r15d
jmp 0x1801da1e0
xor eax, eax
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1802037a0
mov rbx, qword [rsp + 0x308]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret