Function at 0x140049bb0
Capabilities:
Copy file
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x200], rax
lea rax, [0x1400ed988]
or rsi, 0xffffffffffffffff
mov rbx, rdx
mov rdi, rcx
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x60], rax
mov r15, rsi
inc r15
cmp byte [rcx + r15], 0
jne 0x140049c00
lea rax, str.thunderstorm
lea r12, [0x1400ed4d4]
mov dword [rbp - 0x50], r15d
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], r12
mov rcx, rsi
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140049c27
mov eax, r15d
xor edx, edx
mov r8d, 0x140
sub eax, ecx
lea rcx, [rbp + 0xc0]
mov dword [rbp - 0x34], r15d
mov dword [rbp - 0x38], eax
mov qword [rbp - 0x30], r12
call fcn.1400e27d0
lea rdx, [rbp + 0xc0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r14, rsi
mov qword [rbp - 0x28], rax
nop dword [rax + rax]
inc r14
cmp byte [rbx + r14], 0
jne 0x140049c70
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x140049c80
movaps xmm0, xmmword [rbp - 0x60]
movaps xmm1, xmmword [rbp - 0x50]
imul r14d, eax
lea r8, str.management
lea rcx, [rbp - 0x20]
xor r9d, r9d
mov rdx, r12
mov dword [rsp + 0x20], r14d
movaps xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x40]
movaps xmmword [rbp - 0x10], xmm1
movaps xmm1, xmmword [rbp - 0x30]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call fcn.1400c8b50
mov r13d, eax
mov dword [rsp + 0x70], eax
test r14b, r14b
jne 0x140049e41
xor ecx, ecx
mov edx, 0x224
lea r8d, [rcx + 0x1a]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.1400bdce0
mov r12, rsi
mov qword [rbp - 0x80], rax
nop
inc r12
cmp byte [rdi + r12], 0
jne 0x140049d00
xor ecx, ecx
movsxd rax, r14d
lea r8, [0x1400ed4d4]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ecx
lea rdx, str.management
mov ecx, r14d
xor r9d, r9d
call qword [sym.imp.USER32.dll_CreateWindowExA]
lea rdx, str.c0a1
mov r8d, 8
mov r9, rax
mov ecx, r12d
mov qword [rsp + 0x68], rax
call fcn.1400961e0
mov rcx, rsi
mov r13, rax
inc rcx
cmp byte [rbx + rcx], 0
jne 0x140049d72
imul ecx, r15d
mov rax, rsi
sub ecx, dword [rsp + 0x78]
sub ecx, r12d
sub ecx, r14d
add ecx, 0xfffffff8
add ecx, dword [rsp + 0x68]
inc rax
cmp byte [rdi + rax], 0
jne 0x140049d93
add ecx, dword [rbp - 0x80]
add eax, ecx
mov rcx, rdi
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov ecx, dword [rsp + 0x68]
mov rdx, rax
mov qword [rbp - 0x80], rax
call fcn.1400be4e0
mov rcx, rsi
nop
inc rcx
cmp byte [r13 + rcx], 0
jne 0x140049dd0
imul ecx, eax
mov rdx, rsi
inc rdx
cmp byte [rdi + rdx], 0
jne 0x140049de1
mov r13, qword [rsp + 0x78]
add edx, 8
lea r8, str.c0a1
add r13d, ecx
add r13d, edx
lea rdx, str.vietnam
mov ecx, r13d
call fcn.14008c440
mov rcx, rsi
cmp byte [rdi + rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140049e11
movzx eax, byte [rbp - 0x80]
imul byte [rsp + 0x68]
sub r13b, al
sub r13b, r12b
lea edx, [rcx + r13]
lea rcx, [rbp - 0x80]
add dl, 4
call fcn.140073930
lea r12, [0x1400ed4d4]
xor ecx, ecx
mov edx, 0x23d
lea r8d, [rcx + 0x15]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rbp - 0x60], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov dword [rbp - 0x48], eax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rbp - 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
lea r8d, [rcx + 3]
mov edx, 0x1eb
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r8d, r14d
mov rdx, r12
mov rcx, r12
mov r13, rax
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [rsp + 0x68]
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rbp - 0x60]
movups xmm1, xmmword [rbp - 0x50]
movsxd r12, eax
mov r8, r13
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm1
movzx r9d, r12b
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp], xmm0
call fcn.1400be0b0
mov byte [rsp + 0x60], al
xor eax, eax
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movups xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 0x10], rax
mov edx, 8
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rbp - 0x10]
movsd qword [rbp - 0x70], xmm1
call fcn.14007f080
mov dword [rbp + 0x28], 0x20
mov r13, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x30], rax
mov rdx, rsi
inc rdx
cmp byte [rdi + rdx], 0
jne 0x140049f26
mov r8d, dword [rsp + 0x70]
mov ecx, dword [rbp - 0x40]
imul ecx, r8d
shl ecx, 2
sub eax, ecx
lea ecx, [rax + rax*4]
movsx rax, r12b
add ecx, eax
mov eax, dword [rsp + 0x68]
sub ecx, dword [rsp + 0x78]
add eax, ecx
movsx ecx, byte [rsp + 0x60]
add edx, eax
lea rax, str.cupola
mov r9d, ecx
mov qword [rbp + 0x40], rax
movsx eax, r12b
xor r12d, r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], 8
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], r8d
mov dword [rbp + 0x38], edx
mov dword [rsp + 0x28], eax
lea r8, str.management
lea rdx, str.inlay
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rdx, rsi
mov qword [rbp + 0x48], rax
lea rax, str.c0a2
mov qword [rbp + 0x50], rax
inc rdx
cmp byte [rdi + rdx], r12b
jne 0x140049fc3
lea ecx, [r13 - 0xa]
lea eax, [rdx + rdx*2]
mov qword [rbp + 0x60], r12
lea ecx, [rcx + rax*2]
mov dword [rbp + 0x58], ecx
mov rcx, rsi
inc rcx
cmp byte [rbx + rcx], r12b
jne 0x140049fe0
movzx eax, dl
imul cl
movzx r12d, al
sub r12b, byte [rsp + 0x78]
sub r12b, 2
add r12b, byte [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
lea r8d, [rcx + 6]
mov edx, 0x304
mov r13, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea r9, str.geometry
lea rcx, [rbp + 0x70]
movaps xmm0, xmmword [rbp + 0x20]
movaps xmm1, xmmword [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov r8, r13
movzx edx, r12b
movaps xmmword [rbp + 0x70], xmm0
movaps xmm0, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0x80], xmm1
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x20], 1
movaps xmm1, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0x90], xmm0
movsd xmm0, qword [rbp + 0x60]
movsd qword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xa0], xmm1
call fcn.140077420
mov r8, rsi
mov r9, rax
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x14004a080
nop word [rax + rax]
inc rsi
cmp byte [rdi + rsi], 0
jne 0x14004a090
imul r9d, dword [rbp - 0x80]
mov eax, dword [rbp - 0x10]
imul r8d, esi
movsx edx, r12b
imul eax, dword [rbp + 0x20]
imul edx, r13d
imul ecx, eax, 0xfffffffb
mov eax, dword [rbp - 0x60]
sub ecx, edx
imul eax, dword [rsp + 0x70]
lea ecx, [rcx*8 + 0x10]
sub ecx, eax
lea eax, [rcx + r8]
add eax, r9d
sub eax, dword [rsp + 0x78]
add eax, dword [rsp + 0x68]
add eax, r14d
add eax, r15d
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x360]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret