Function at 0x1801d5370
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rsp + 0xe0], rbx
mov rax, qword [0x180332088]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rbx, rdx
mov r14, rcx
lea r8, str.DICT
lea rdx, str.PySingleData
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
jne 0x1801d53d2
xor eax, eax
jmp 0x1801d56a8
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
xor r13d, r13d
mov qword [rbp - 0x49], r13
lea edi, [rbx + 1]
mov eax, 2
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180203f3c
mov r15, rax
test rax, rax
je 0x1801d53cb
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.180233580
mov r8d, ebx
mov rdx, rsi
mov rcx, r15
call fcn.180232390
mov eax, 0xfeff
cmp word [r15], ax
lea rdi, [r15 + 2]
je 0x1801d5452
mov rdi, r15
lea r12, [r15 + rbx*2]
cmp rdi, r12
jae 0x1801d566e
nop
cmp word [rdi], 0
je 0x1801d566e
lea rdx, [0x1802b0788]
mov rcx, rdi
call fcn.180232988
mov rsi, rax
test rax, rax
je 0x1801d566e
mov word [rax], r13w
lea rdx, [0x1802b0a54]
mov rcx, rdi
call fcn.180232988
mov rbx, rax
mov word [rax], r13w
mov ecx, 0x20
call fcn.1802037c4
mov qword [rbp - 0x31], rax
mov dword [rax + 0x10], r13d
xor ecx, ecx
mov qword [rax], rcx
mov dword [rax + 8], ecx
mov word [rax + 0xc], cx
mov qword [rax + 0x18], r13
mov qword [rbp - 0x49], rax
lea rdx, [rbx + 2]
mov rcx, rax
call fcn.1801e0500
mov rcx, rdi
mov rdx, qword [rbp - 0x49]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
lea rcx, [rcx + 2]
lea rdx, [rdx + 2]
test ax, ax
jne 0x1801d54e0
mov qword [rbp - 9], 7
mov qword [rbp - 0x11], r13
mov word [rbp - 0x21], r13w
cmp word [rdi], ax
jne 0x1801d550e
mov r8, r13
jmp 0x1801d551d
or r8, 0xffffffffffffffff
inc r8
cmp word [rdi + r8*2], 0
jne 0x1801d5512
mov rdx, rdi
lea rcx, [rbp - 0x21]
call fcn.18005c660
nop
mov rcx, qword [r14]
mov rax, qword [rcx]
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x21]
call qword [rax]
nop
mov r8, qword [rbp - 9]
cmp r8, 8
jb 0x1801d5555
inc r8
mov rdx, qword [rbp - 0x21]
lea rcx, [rbp - 0x21]
call fcn.18005cac0
mov qword [rbp - 9], 7
mov qword [rbp - 0x11], r13
mov word [rbp - 0x21], r13w
mov rax, qword [0x180344fd0]
test rax, rax
jne 0x1801d5590
mov ecx, reloc.OLEAUT32.dll_SetErrorInfo
call fcn.1802037c4
mov qword [rbp - 0x29], rax
mov rcx, rax
call fcn.180184b70
nop
mov qword [0x180344fd0], rax
mov rdx, rdi
mov rcx, rax
call fcn.180186080
mov rbx, rax
mov qword [rbp + 0x17], 7
mov qword [rbp + 0xf], r13
mov word [rbp - 1], r13w
xor r8d, r8d
lea rdx, [0x1802abc2c]
lea rcx, [rbp - 1]
call fcn.18005c660
nop
movzx r8d, word [rbx + 0x2c]
mov edx, 1
lea rcx, [rbp - 1]
call fcn.1800619e0
movzx r8d, word [rbx + 0x30]
mov edx, 1
lea rcx, [rbp - 1]
call fcn.1800619e0
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
lea r8, [rbp - 0x49]
lea rdx, [rbp - 1]
call qword [rax]
mov rax, qword [rbp - 0x49]
cmp dword [rax + 0x10], 0
ja 0x1801d5609
mov rax, r13
jmp 0x1801d5623
mov rax, qword [rax + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, rdx
sar rcx, 3
test rcx, rcx
je 0x1801d5661
mov rax, qword [rdx]
mov qword [rbp - 0x41], rax
mov rcx, qword [r14 + 0x10]
mov rax, qword [rcx]
lea r8, [rbp - 0x41]
lea rdx, [rbp - 1]
call qword [rax]
lea rdi, [rsi + 4]
mov r8, qword [rbp + 0x17]
cmp r8, 8
jb 0x1801d5656
inc r8
mov rdx, qword [rbp - 1]
lea rcx, [rbp - 1]
call fcn.18005cac0
cmp rdi, r12
jb 0x1801d5460
jmp 0x1801d566e
lea rcx, str.invalid_vector_T__subscript
call fcn.1802011b0
nop
lea rdx, [0x1802b09ec]
mov rcx, r14
call fcn.1801d58d0
lea rdx, [0x1802b09f4]
mov rcx, r14
call fcn.1801d58d0
lea rdx, [0x1802b09f0]
mov rcx, r14
call fcn.1801d58d0
mov rcx, r15
call fcn.180085310
mov eax, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1802037a0
mov rbx, qword [rsp + 0xe0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret