Function at 0x140052650
Capabilities:
Copy file
Create thread
Extract resource via kernel32 functions

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3d8]
sub rsp, 0x4d8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
mov rax, qword [rbp + 0x448]
mov r12, qword [rbp + 0x440]
mov ebx, ecx
mov rdi, r9
mov qword [rbp - 0x60], r9
mov r15, r8
movups xmm0, xmmword [rax]
mov r14, rdx
mov qword [rbp - 0x48], rdx
mov dword [rsp + 0x64], ebx
movaps xmmword [rbp + 0x20], xmm0
mov qword [rbp - 8], r12
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [rsp + 0x60], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rbp + 0x280]
xor edx, edx
mov r8d, 0x140
mov dword [rbp + 0x118], eax
call fcn.1400e27d0
lea rdx, [rbp + 0x280]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea r13, [0x1400ed4fc]
xor r9d, r9d
mov qword [rbp + 0x120], rax
mov eax, r14d
mov qword [rsp + 0x30], r13
movups xmm0, xmmword [rbp + 0x118]
mov qword [rbp + 0x128], r13
mov r8, r13
mov rdx, r12
imul eax, ebx
movaps xmmword [rbp + 0x30], xmm0
mov dword [rbp], eax
sub eax, r12d
mov ecx, esi
mov dword [rbp + 0x130], eax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], r13
movups xmm1, xmmword [rbp + 0x128]
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x40], xmm1
call fcn.14009f1b0
lea rcx, [rbp + 0x280]
xor edx, edx
mov r8d, 0x140
mov qword [rbp - 0x40], rax
call fcn.1400e27d0
lea rdx, [rbp + 0x280]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rcx, rax
mov qword [rbp - 0x70], rax
call fcn.140072f70
or rsi, 0xffffffffffffffff
mov r14, rax
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x140052787
lea r13d, [rdi + rbx]
mov r8d, ebx
mov rdx, r15
sub r13d, ecx
lea rcx, [0x1400ed4fc]
add r13d, 2
mov dword [rsp + 0x74], r13d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov dl, 0x10
movzx r8d, al
mov ecx, r13d
mov dword [rbp - 0x74], eax
call fcn.14005fdf0
lea r8, [0x140001b00]
mov r9, rbx
mov qword [rbp - 0x80], rax
xor eax, eax
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, qword [rbp + 0x20]
mov rcx, rsi
mov rdx, rax
mov qword [rbp - 0x38], rax
inc rcx
cmp byte [rdi + rcx], 0
jne 0x1400527f5
imul ecx, dword [rsp + 0x60]
mov rax, qword [rbp - 0x70]
mov r9, rdx
add ecx, dword [rbp - 0x80]
add eax, 0xfffffff2
lea r8, str.parade
lea rdx, str.objective
imul ecx, r12d
sub ecx, r13d
add ecx, ebx
add eax, ecx
lea rcx, str.c0a6
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x68], eax
lea rax, str.c0a2
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 2
call fcn.14006fac0
mov qword [rbp - 0x68], rax
mov eax, dword [rsp + 0x60]
cmp r13d, eax
ja 0x1400528ae
mov rcx, rsi
nop
inc rcx
cmp byte [r15 + rcx], 0
jne 0x140052860
imul ecx, ebx
inc eax
mov r8d, r13d
imul eax, r12d
shl r8d, 4
sub ecx, eax
mov rax, qword [rbp - 0x40]
add eax, ecx
add r8d, eax
mov rax, rsi
add r8d, dword [rbp - 0x80]
add r8d, dword [rsp + 0x68]
inc rax
cmp byte [r14 + rax], 0
jne 0x140052891
sub r8d, eax
lea rdx, str.pimple
lea ecx, [r8 + 8]
call fcn.1400a4fe0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, qword [rbp - 0x60]
mov ebx, eax
mov dword [rbp - 0x54], eax
mov rax, qword [rbp - 0x70]
movzx edx, bl
mov qword [rsp + 0x28], rax
call fcn.1400adbb0
lea rcx, [rbp + 0x280]
xor edx, edx
movsx r13, al
mov r8d, 0x140
mov byte [rsp + 0x78], r13b
call fcn.1400e27d0
lea rdx, [rbp + 0x280]
lea rcx, [0x1400ed4fc]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
mov edx, 0x366
lea r8d, [rcx + 0x17]
mov qword [rbp - 0x20], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, r13
mov rcx, rsi
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rdx
inc rcx
cmp byte [r15 + rcx], 0
jne 0x140052922
mov eax, dword [rbp - 0x40]
mov r9, qword [rbp - 0x70]
mov r8, qword [rbp - 0x60]
sub eax, r9d
shl eax, 2
sub eax, r8d
sub eax, r12d
add eax, edx
add eax, dword [rsp + 0x64]
add eax, dword [rbp + 0x120]
sub eax, ecx
mov rcx, rsi
inc rcx
cmp byte [r14 + rcx], 0
jne 0x140052954
add eax, 0xffffffce
lea edx, [r12 + r12]
mov qword [rbp + 0x80], r8
movsd xmm1, qword [rbp + 0x80]
add eax, ecx
movzx ecx, bl
movsd qword [rbp + 0xa0], xmm1
mov ebx, dword [rsp + 0x64]
mov dword [rbp + 0x78], eax
mov eax, r8d
movups xmm0, xmmword [rbp + 0x70]
mov r8, qword [rbp - 0x20]
sub eax, r12d
mov dword [rsp + 0x7c], ecx
movaps xmmword [rbp + 0x90], xmm0
sub eax, dword [rbp - 0x38]
mov dword [rbp - 0x50], edx
sub eax, r9d
lea r9, [rbp + 0x90]
add eax, ebx
add eax, ecx
mov ecx, dword [rsp + 0x74]
add eax, edx
add ecx, 0xffffffe9
xor edx, edx
add eax, dword [rbp - 0x68]
add eax, ecx
lea rcx, [rbp + 0x230]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x70], eax
lea rax, str.c5a2
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1400a6ef0
mov rcx, rsi
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x1e0], xmm0
movaps xmmword [rbp + 0x1f0], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x200], xmm0
movaps xmmword [rbp + 0x210], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x220], xmm0
inc rcx
cmp byte [r15 + rcx], 0
jne 0x140052a25
imul ecx, dword [rbp - 0x60]
mov eax, dword [rsp + 0x7c]
mov edx, 0x104
imul eax, dword [rsp + 0x68]
sub eax, ecx
mov rcx, qword [rbp - 0x70]
lea eax, [rax + rcx*4]
lea rcx, [rbp + 0x280]
add eax, 0x28
sub eax, dword [rbp - 0x38]
sub eax, dword [rbp - 0x80]
add eax, ebx
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x6c], eax
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x138], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x140], rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov r10d, dword [rbp - 0x74]
mov qword [rbp + 0x148], rax
mov rax, qword [rbp - 0x80]
movsx r9d, r10b
movsx r10d, r13b
mov r13d, dword [rsp + 0x7c]
mov qword [rbp + 0x150], rax
xor eax, eax
lea r8, [0x1400ed4fc]
lea rdx, str.objective
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0x10
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], 0x10
mov ecx, r10d
mov dword [rsp + 0x28], 2
mov dword [rbp - 0x14], r10d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [rbp + 0x160], 0
mov qword [rbp + 0x158], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x168], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [rsp + 0x68]
movups xmm0, xmmword [rbp + 0x150]
movups xmm1, xmmword [rbp + 0x160]
mov r8, qword [rbp - 0x48]
mov qword [rbp + 0x170], rax
mov rax, qword [rbp - 0x60]
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm1
movsd xmm1, qword [rbp + 0x148]
movsd qword [rbp + 0x40], xmm1
mov r9d, eax
lea edx, [rcx*4]
mov rcx, qword [rbp - 0x70]
imul eax, r8d
imul r9d, dword [rbp - 0x68]
imul eax, ebx
mov rbx, qword [rbp - 0x40]
lea eax, [rax + rcx*2]
mov dword [rbp + 0x10], r9d
add eax, 0xffffffd8
sub eax, dword [rbp + 0x28]
sub eax, r12d
sub eax, r9d
sub eax, ebx
sub eax, dword [rbp + 0x118]
add eax, r13d
add eax, edx
add eax, dword [rsp + 0x74]
add eax, dword [rsp + 0x60]
mov dword [rbp + 0x178], eax
mov dword [rbp - 0x18], eax
lea rax, str.c0a2
movups xmm0, xmmword [rbp + 0x170]
movaps xmmword [rbp + 0xe0], xmm0
movups xmm0, xmmword [rbp + 0x138]
movaps xmmword [rbp + 0x30], xmm0
mov ecx, dword [rsp + 0x6c]
mov qword [rsp + 0x30], rax
call fcn.140088fa0
mov rcx, rsi
mov r13, rax
inc rcx
cmp byte [r14 + rcx], 0
jne 0x140052bd2
movzx eax, bl
imul cl
movzx ecx, byte [rbp + 0x70]
movzx edx, al
add cl, 2
movzx eax, r12b
imul cl
movzx ebx, al
movzx eax, byte [rbp - 0x54]
imul byte [rbp - 0x70]
movzx ecx, al
shl cl, 2
add al, cl
shl al, 3
sub bl, al
mov rax, qword [rbp - 0x80]
sub bl, dl
movzx ecx, al
add cl, cl
add al, cl
add al, al
add bl, al
movzx eax, byte [rbp - 0x74]
shl al, 4
add bl, al
mov rax, rsi
sub bl, byte [rbp + 0x118]
sub bl, byte [rsp + 0x60]
sub bl, byte [rbp - 0x60]
sub bl, byte [rbp - 0x68]
add bl, byte [rsp + 0x70]
add bl, byte [rsp + 0x6c]
add bl, byte [rsp + 0x64]
add bl, byte [rbp + 0x28]
add bl, byte [rbp + 0x220]
add bl, byte [rsp + 0x78]
nop
inc rax
cmp byte [r13 + rax], 0
jne 0x140052c50
sub bl, al
mov rax, rsi
sub bl, 0x34
inc rax
cmp byte [r15 + rax], 0
jne 0x140052c63
add bl, al
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
movzx ecx, bl
mov rdx, rax
mov qword [rbp - 0x10], rax
call fcn.140091550
xor ecx, ecx
mov edx, 0x171
lea r8d, [rcx + 0x12]
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x90], 4
call qword [sym.imp.KERNEL32.dll_FindResourceA]
movsx r8, bl
mov rdx, rsi
mov qword [rbp + 0x98], rax
mov qword [rbp - 0x30], r8
inc rdx
cmp byte [r14 + rdx], 0
jne 0x140052cb4
mov rcx, qword [rbp - 0x70]
mov eax, dword [rbp + 0x68]
mov r9d, dword [rsp + 0x6c]
movups xmm0, xmmword [rbp + 0x90]
imul r9d, dword [rbp - 0x68]
imul eax, ecx
imul edx, ecx
mov r10d, dword [rbp - 0x74]
mov ebx, dword [rsp + 0x60]
lea ecx, [rax + rax*4]
movaps xmmword [rbp + 0x30], xmm0
mov eax, dword [rbp - 0x38]
imul eax, dword [rsp + 0x68]
lea eax, [rax + rcx*2]
mov rcx, qword [rbp - 0x80]
lea eax, [rax*2 + 0x2e]
sub r9d, eax
movsx eax, r10b
imul eax, ecx
sub r9d, eax
mov eax, dword [rbp + 0x1f0]
imul eax, dword [rsp + 0x70]
sub r9d, eax
sub r9d, edx
mov dl, 0x10
sub r9d, r12d
sub r9d, r12d
sub r9d, dword [rbp - 0x50]
sub r9d, r8d
lea r8, [0x1400ed4fc]
sub r9d, ebx
add r9d, dword [rbp + 0x28]
add r9d, dword [rbp - 0x60]
add r9d, dword [rsp + 0x64]
add r9d, dword [rbp - 0x40]
add r9d, ecx
lea rcx, [rbp + 0x30]
mov dword [rbp + 0xa0], r9d
mov dword [rbp - 0x54], r9d
movsd xmm1, qword [rbp + 0xa0]
movsd qword [rbp + 0x40], xmm1
call fcn.1400925e0
mov qword [rbp + 0xb8], rax
call fcn.140085c70
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov qword [rbp + 0x60], rax
mov rax, qword [rbp - 0x20]
lea r8d, [rcx + 0x11]
mov edx, 0x2ac
mov qword [rbp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, qword [rbp - 0x68]
mov qword [rbp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov dword [rbp + 0x40], eax
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
lea r8d, [rcx + 0x1a]
mov edx, 0x127
mov dword [rbp + 0x50], 0
mov qword [rbp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, qword [rbp + 0x60]
movups xmm0, xmmword [rbp + 0x30]
movups xmm1, xmmword [rbp + 0x40]
mov rcx, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
mov qword [rbp + 8], rax
movaps xmmword [rbp + 0xc0], xmm0
movaps xmmword [rbp + 0xd0], xmm1
movsd xmm0, qword [rbp + 0x50]
movsd qword [rbp + 0xe0], xmm0
lea rax, str.observatory
lea r9, str.panties
lea r8, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
call fcn.140065fd0
cmp ebx, dword [rsp + 0x68]
mov dword [rbp - 0x58], eax
jae 0x140053338
mov edx, 0x4c
xor ecx, ecx
lea r8d, [rdx - 0x2f]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov ecx, dword [rsp + 0x74]
mov r9d, dword [rbp - 0x78]
mov rbx, rax
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov eax, dword [rbp - 0x14]
mov qword [rsp + 0x40], rcx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x70]
lea r8, [0x1400ed4fc]
lea rdx, str.c0a2
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rcx, rbx
mov r8, rax
mov qword [rbp + 0x110], rax
call fcn.140087e30
mov ecx, dword [rbp + 0xb8]
mov rbx, qword [rbp - 8]
mov r8, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x68]
mov r10d, dword [rbp - 0x14]
mov qword [rbp + 0xb0], rax
sub ecx, ebx
lea rax, [0x1400ed4fc]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp - 0x68]
lea r9d, [r8 + rcx*8]
add r9d, r9d
lea eax, [rax*4]
lea r8, str.c0a2
lea ecx, [rax + 1]
mov eax, dword [rsp + 0x60]
mov qword [rbp + 0x1a0], rbx
imul ecx, dword [rbp - 0x60]
sub r9d, ecx
mov ecx, dword [rsp + 0x64]
sub r9d, dword [rbp + 0x110]
add eax, 0xffffffbb
sub r9d, dword [rbp - 0x50]
sub r9d, dword [rsp + 0x70]
add r9d, edx
add r9d, ecx
add r9d, dword [rbp + 0x200]
add r9d, dword [rbp + 0x78]
add r9d, dword [rbp - 0x80]
add eax, r9d
xor r9d, r9d
mov dword [rbp + 0x198], eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x40], rdx
lea rdx, str.observatory
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov qword [rbp + 0x1a8], rax
mov rcx, rsi
inc rcx
cmp byte [r13 + rcx], 0
jne 0x140052f85
mov eax, dword [rbp + 0x98]
mov r9d, dword [rbp + 0x1e4]
mov r11, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x64]
mov r10, qword [rbp - 0x30]
lea eax, [rax*4]
add ecx, eax
mov eax, 0xa
sub eax, r9d
lea ecx, [rcx*2 + 0x13]
add ecx, r11d
imul eax, ebx
lea edx, [rax + rcx*2]
mov rcx, qword [rbp - 0x68]
lea eax, [rcx*4]
sub edx, eax
lea rax, str.jiffy
sub edx, dword [rbp + 0x120]
mov qword [rbp + 0x1b8], rax
mov rax, rsi
add edx, r8d
add edx, dword [rsp + 0x7c]
add edx, dword [rbp - 0x10]
add edx, dword [rsp + 0x6c]
add edx, r10d
mov dword [rbp + 0x1b0], edx
inc rax
cmp byte [rdi + rax], 0
jne 0x140053006
mov edx, 1
mov rcx, rsi
sub edx, eax
imul edx, ebx
nop dword [rax]
inc rcx
cmp byte [r12 + rcx], 0
jne 0x140053020
imul ecx, dword [rbp - 0x78]
mov eax, dword [rbp + 0x158]
imul eax, r10d
mov r10, qword [rbp + 0xb0]
neg ecx
shl ecx, 2
sub ecx, eax
mov eax, dword [rbp + 0x148]
lea ecx, [rcx*4 + 0x14]
imul eax, dword [rsp + 0x70]
sub ecx, eax
mov eax, r10d
add edx, ecx
mov rcx, rsi
imul eax, dword [rbp + 8]
add edx, eax
sub edx, dword [rbp - 0x48]
sub edx, dword [rbp - 0x10]
sub edx, dword [rbp - 0x38]
sub edx, dword [rsp + 0x60]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x140053075
lea eax, [r8 + rdx]
mov edx, dword [rsp + 0x68]
mov qword [rbp + 0xc0], r10
mov r10, qword [rbp + 0x110]
add ecx, eax
lea eax, [rdx*4]
add ecx, eax
lea rax, str.lasagna
mov qword [rbp + 0x1d0], rbx
add ecx, dword [rbp - 0x50]
mov qword [rbp + 0xc8], r10
mov rdx, rsi
add ecx, dword [rbp - 0x40]
mov qword [rbp + 0x1c8], rax
add ecx, r11d
mov dword [rbp + 0x1c0], ecx
nop
inc rdx
cmp byte [r14 + rdx], 0
jne 0x1400530d0
mov eax, dword [rbp + 0x170]
mov edi, dword [rsp + 0x74]
mov r11, qword [rbp - 0x60]
lea eax, [rax*4 + 8]
mov ecx, edi
sub ecx, dword [rbp - 0x20]
inc ecx
imul ecx, ebx
sub ecx, eax
mov rax, qword [rbp - 0x80]
dec eax
imul eax, r11d
add ecx, eax
mov eax, dword [rbp - 0x28]
imul eax, r10d
mov r10, qword [rbp + 0xb0]
add ecx, eax
mov rax, rsi
sub ecx, dword [rsp + 0x7c]
sub ecx, dword [rbp + 0x38]
sub ecx, dword [rbp - 0x78]
sub ecx, dword [rsp + 0x6c]
sub ecx, dword [rbp - 0x30]
add ecx, r8d
add ecx, r10d
add ecx, r9d
mov r9d, dword [rsp + 0x70]
add ecx, r9d
sub ecx, edx
nop
inc rax
cmp byte [r12 + rax], 0
jne 0x140053140
sub ecx, eax
mov rax, rsi
nop
inc rax
cmp byte [r15 + rax], 0
jne 0x140053150
add ecx, eax
mov rax, rsi
nop
inc rax
cmp byte [r13 + rax], 0
jne 0x140053160
add ecx, eax
mov r8, rsi
mov dword [rbp + 0xd0], ecx
inc r8
cmp byte [r15 + r8], 0
jne 0x140053176
mov eax, dword [rbp - 0x54]
mov rcx, qword [rbp - 0x40]
imul r8d, r11d
imul eax, dword [rbp - 0x20]
add eax, ebx
lea edx, [rax + rcx*8]
mov eax, r9d
xor ecx, ecx
sub eax, dword [rbp - 0x38]
lea edx, [rdx + 9]
imul eax, dword [rbp - 0x68]
lea edx, [rax + rdx*2]
mov rax, qword [rbp - 0x28]
sub edx, r8d
lea r8d, [rcx + 0x12]
imul eax, r10d
add edx, eax
sub edx, dword [rbp + 0x28]
sub edx, dword [rbp - 0x58]
sub edx, dword [rbp - 0x18]
sub edx, dword [rbp - 0x80]
add edx, dword [rbp]
add edx, dword [rbp + 0x78]
add edx, dword [rbp - 0x30]
add edx, dword [rbp - 0x70]
add edx, dword [rsp + 0x60]
mov dword [rbp + 0xd4], edx
mov edx, 0x165
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov edx, 0x192
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp - 0x48]
lea r8d, [rcx + 0x13]
mov qword [rbp + 0xe0], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, rsi
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x1e8]
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140053220
mov rax, qword [rbp - 0x80]
imul ecx, dword [rsp + 0x6c]
mov r8, qword [rbp - 0x48]
add eax, eax
sub eax, r8d
imul ecx, dword [rbp - 0x30]
lea edx, [rax*2 + 0x42]
mov eax, dword [rbp - 0x60]
sub edx, ecx
imul eax, dword [rbp - 0x38]
sub edx, eax
mov rax, rsi
inc rax
cmp byte [r15 + rax], 0
jne 0x140053254
imul eax, dword [rsp + 0x60]
movaps xmm0, xmmword [rbp + 0xc0]
movaps xmm1, xmmword [rbp + 0xd0]
mov dword [rbp + 0xf4], 2
lea r8, [rbp + 0xc0]
lea rcx, str.c3a1
add edx, eax
movsx rax, byte [rbp - 0x74]
movaps xmmword [rbp + 0x150], xmm0
movaps xmm0, xmmword [rbp + 0xe0]
movaps xmmword [rbp + 0x160], xmm1
sub edx, eax
lea rax, [0x1400ed86c]
sub edx, dword [rbp - 0x58]
mov qword [rbp + 0xf8], rax
movaps xmmword [rbp + 0x170], xmm0
movaps xmm0, xmmword [rbp + 0x190]
sub edx, dword [rsp + 0x70]
movaps xmmword [rbp + 0xc0], xmm0
movaps xmm0, xmmword [rbp + 0x1b0]
sub edx, edi
add edx, ebx
add edx, dword [rsp + 0x64]
movaps xmmword [rbp + 0xe0], xmm0
add edx, dword [rbp - 0x10]
movsd xmm0, qword [rbp + 0x1d0]
movsd qword [rbp + 0x100], xmm0
mov dword [rbp + 0xf0], edx
lea rdx, str.himalayan
movaps xmm1, xmmword [rbp + 0xf0]
movaps xmmword [rbp + 0x180], xmm1
movaps xmm1, xmmword [rbp + 0x1a0]
movaps xmmword [rbp + 0xd0], xmm1
movaps xmm1, xmmword [rbp + 0x1c0]
movaps xmmword [rbp + 0xf0], xmm1
call fcn.14006cb90
jmp 0x14005333c
mov rbx, qword [rbp - 8]
lea rcx, [rbp + 0x280]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rbp + 0x280]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rbp - 0x28], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, rsi
mov rdi, rax
inc rdx
cmp byte [r12 + rdx], 0
jne 0x140053370
imul edx, dword [rbp - 0x48]
mov rax, rsi
inc rax
cmp byte [r14 + rax], 0
jne 0x140053381
imul eax, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x7c]
mov r8, rdi
add edx, eax
mov rax, qword [rbp - 0x10]
lea ecx, [r10 + rax*2]
mov eax, 1
sub eax, dword [rbp - 0x40]
shl ecx, 5
imul eax, dword [rbp - 0x70]
add ecx, eax
mov eax, ebx
mov rbx, qword [rbp - 0x68]
add ebx, 2
imul eax, dword [rbp - 0x50]
sub ecx, eax
mov rax, qword [rbp - 0x60]
add edx, ecx
mov cl, 8
mov qword [rsp + 0x20], rax
sub edx, dword [rbp + 0x148]
sub edx, dword [rbp + 8]
sub edx, dword [rbp - 0x58]
sub edx, dword [rsp + 0x6c]
sub edx, dword [rbp - 0x30]
sub edx, dword [rbp - 0x80]
add edx, eax
add edx, dword [rsp + 0x64]
add edx, dword [rbp - 0x18]
add ebx, edx
mov rdx, qword [rbp - 0x28]
mov r9d, ebx
call fcn.140074310
mov rcx, rsi
mov r8d, eax
inc rcx
cmp byte [r12 + rcx], 0
jne 0x140053402
imul edi, dword [rbp - 0x28]
mov eax, dword [rbp + 0x208]
mov rdx, qword [rbp - 8]
mov r9, qword [rbp - 0x38]
mov r10, qword [rbp - 0x48]
add edi, edi
imul eax, dword [rsp + 0x70]
imul ecx, dword [rbp + 0xb8]
sub edi, edx
sub edi, dword [rbp - 0x78]
sub edi, r9d
shl edi, 2
sub edi, eax
mov eax, dword [rbp + 0x10]
imul eax, dword [rsp + 0x68]
sub edi, eax
mov eax, r10d
imul eax, dword [rbp + 0x60]
add edi, eax
mov rax, rsi
sub edi, ecx
inc rax
cmp byte [r14 + rax], 0
jne 0x140053455
imul eax, dword [rbp - 0x40]
imul eax, dword [rbp - 0x70]
add edi, eax
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [r15 + rax], 0
jne 0x140053470
mov rcx, qword [rbp - 0x60]
imul eax, r10d
add edi, eax
mov eax, ecx
imul eax, ebx
add edi, eax
movsx rax, byte [rbp - 0x74]
add edi, eax
sub edi, r8d
sub edi, dword [rsp + 0x7c]
sub edi, dword [rbp - 0x58]
sub edi, dword [rbp - 0x54]
sub edi, dword [rsp + 0x6c]
sub edi, dword [rbp - 0x68]
sub edi, r9d
sub edi, dword [rbp + 0x78]
sub edi, dword [rbp - 0x30]
sub edi, dword [rsp + 0x74]
sub edi, dword [rsp + 0x60]
add edi, dword [rbp + 0x28]
add edi, ecx
add edi, edx
add edi, edx
add edi, dword [rsp + 0x64]
add edi, dword [rbp + 8]
add edi, dword [rbp - 0x10]
add edi, dword [rbp - 0x20]
add edi, dword [rbp - 0x80]
add edi, dword [rbp + 0x118]
nop word [rax + rax]
inc rsi
cmp byte [r13 + rsi], 0
jne 0x1400534e0
lea eax, [rdi - 0x37]
add eax, esi
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x4d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret