Function at 0x1400099d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x5f0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x640], rbx
mov rax, qword [0x140090f00]
xor rax, rsp
mov qword [rsp + 0x5e8], rax
mov rdi, rdx
mov r13, rcx
mov word [rsp + 0x1f0], 0
xor edx, edx
mov r8d, 0x3e6
lea rcx, [rsp + 0x1f2]
call fcn.14004a690
lea rcx, [rsp + 0x70]
call fcn.140068c30
nop
lea r8, [0x140079928]
lea rdx, str.MENUDATA
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x140009a8b
lea rax, [0x140078a28]
mov qword [rsp + 0x70], rax
lea rax, [0x140098088]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x140009a7a
call fcn.140015198
lea rcx, [rsp + 0x70]
call fcn.140068860
xor eax, eax
jmp 0x140009ee7
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbp, rax
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
lea ecx, [rbx + 1]
mov edi, ecx
call fcn.1400151a0
mov rsi, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14004a690
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.140047160
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1400667d0
lea rdx, str.TheAppMenu
lea rcx, [rsp + 0x70]
call fcn.140067ff0
mov rdi, rax
test rax, rax
jne 0x140009b3b
lea rax, [0x140078a28]
mov qword [rsp + 0x70], rax
lea rax, [0x140098088]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x140009b2a
call fcn.140015198
lea rcx, [rsp + 0x70]
call fcn.140068860
xor eax, eax
jmp 0x140009ee7
mov byte [rsp + 0xe0], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0xe1]
call fcn.14004a690
mov rcx, rdi
call fcn.140068040
mov r12, rax
test rax, rax
je 0x140009eb3
xor r14d, r14d
lea r15, [0x14007a0f8]
movabs rbp, 0x7ffffffffffffffe
mov ecx, 0x30
call fcn.140015154
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140009bc2
mov qword [rax + 0x20], 7
mov qword [rax + 0x18], r14
mov word [rax + 8], 0
mov qword [rax + 0x28], r14
xor r8d, r8d
lea rdx, [0x14007a0e8]
mov rcx, rax
call fcn.1400029c0
nop
jmp 0x140009bc5
mov rbx, r14
mov qword [rsp + 0x30], rbx
mov ecx, 0x18
call fcn.140015154
mov rdi, rax
test rax, rax
je 0x140009be9
mov qword [rax], r15
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
jmp 0x140009bec
mov rdi, r14
mov ecx, 0x20
call fcn.140015154
mov rdx, rax
test rax, rax
je 0x140009c0c
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x140009c0f
mov rdx, r14
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x28], rdi
mov rcx, qword [r12 + 0x38]
add rcx, 0x10
je 0x140009eb3
lea rdx, [rsp + 0xe0]
sub rdx, rcx
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
add rcx, 1
test al, al
jne 0x140009c40
lea rcx, [rsp + 0xe0]
call fcn.14006b780
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
or r9d, 0xffffffff
lea r8, [rsp + 0xe0]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x20], rax
or r9d, 0xffffffff
lea r8, [rsp + 0xe0]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r8, rdi
mov rdx, r12
mov rcx, r13
call fcn.140009fa0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1f0]
repne scasw ax, word [rdi]
not rcx
lea rsi, [rcx - 1]
mov rdx, qword [rbx + 0x20]
cmp rdx, 8
jb 0x140009ce1
lea rdi, [rbx + 8]
mov rax, qword [rdi]
jmp 0x140009ce8
lea rdi, [rbx + 8]
mov rax, rdi
lea rcx, [rsp + 0x1f0]
cmp rcx, rax
jb 0x140009d42
cmp rdx, 8
jb 0x140009d00
mov rcx, qword [rdi]
jmp 0x140009d03
mov rcx, rdi
mov rax, qword [rbx + 0x18]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x1f0]
cmp rcx, rax
jbe 0x140009d42
cmp rdx, 8
jb 0x140009d21
mov rdi, qword [rdi]
lea r8, [rsp + 0x1f0]
sub r8, rdi
sar r8, 1
mov r9, rsi
mov rdx, rbx
mov rcx, rbx
call fcn.1400027c0
jmp 0x140009dcb
cmp rsi, rbp
jbe 0x140009d4c
call fcn.140064b10
mov rax, qword [rbx + 0x20]
cmp rax, rsi
jae 0x140009d66
mov r8, qword [rbx + 0x18]
mov rdx, rsi
mov rcx, rbx
call fcn.140002af0
jmp 0x140009d7f
test rsi, rsi
jne 0x140009d7f
mov qword [rbx + 0x18], r14
cmp rax, 8
jb 0x140009d78
mov rdi, qword [rdi]
mov word [rdi], 0
jmp 0x140009dcb
test rsi, rsi
je 0x140009dcb
mov rdx, qword [rbx + 0x20]
cmp rdx, 8
jb 0x140009d93
mov rcx, qword [rdi]
jmp 0x140009d96
mov rcx, rdi
lea rbp, [rsi + rsi]
add rdx, rdx
mov r9, rbp
lea r8, [rsp + 0x1f0]
call fcn.140046d10
mov qword [rbx + 0x18], rsi
cmp qword [rbx + 0x20], 8
jb 0x140009dbb
mov rdi, qword [rdi]
mov word [rdi + rbp], 0
movabs rbp, 0x7ffffffffffffffe
mov rcx, r12
call fcn.140068160
mov r12, rax
mov rdi, qword [r13]
mov rdx, qword [rdi + 8]
test rdx, rdx
jne 0x140009de8
mov rcx, r14
jmp 0x140009df3
mov rcx, qword [rdi + 0x10]
sub rcx, rdx
sar rcx, 3
test rdx, rdx
je 0x140009e1c
mov rax, qword [rdi + 0x18]
sub rax, rdx
sar rax, 3
cmp rcx, rax
jae 0x140009e1c
mov rax, qword [rdi + 0x10]
mov qword [rax], rbx
add rax, 8
mov qword [rdi + 0x10], rax
jmp 0x140009eaa
mov rbx, qword [rdi + 0x10]
cmp rdx, rbx
jbe 0x140009e2a
call fcn.140046fa0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x140009e60
mov rcx, qword [rdi + 0x10]
mov rax, rcx
sub rax, rsi
sar rax, 3
je 0x140009e60
cmp rsi, rcx
jbe 0x140009e57
call fcn.140046fa0
sub rbx, rsi
sar rbx, 3
jmp 0x140009e63
mov rbx, r14
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.14000cd00
mov rsi, qword [rdi + 8]
cmp rsi, qword [rdi + 0x10]
jbe 0x140009e95
call fcn.140046fa0
lea rax, [rsi + rbx*8]
cmp rax, qword [rdi + 0x10]
ja 0x140009ea5
cmp rax, qword [rdi + 8]
jae 0x140009eaa
call fcn.140046fa0
test r12, r12
jne 0x140009b80
lea rax, [0x140078a28]
mov qword [rsp + 0x70], rax
lea rax, [0x140098088]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
je 0x140009ed8
call fcn.140015198
lea rcx, [rsp + 0x70]
call fcn.140068860
mov eax, 1
mov rcx, qword [rsp + 0x5e8]
xor rcx, rsp
call fcn.1400469b0
mov rbx, qword [rsp + 0x640]
add rsp, 0x5f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret