Function at 0x140002620
Capabilities:
Generate random numbers via winapi
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rdi, rdx
lea r9, [rsp + 0x70]
mov ebx, ecx
lea r8, [0x1400059c0]
xorps xmm0, xmm0
xor edx, edx
xor ecx, ecx
movups xmmword [rsp + 0x70], xmm0
call qword [sym.imp.USER32.dll_EnumDisplayMonitors]
xorps xmm0, xmm0
lea r9, [rsp + 0x70]
lea r8, [0x1400059c0]
xor edx, edx
xor ecx, ecx
movups xmmword [rsp + 0x70], xmm0
call qword [sym.imp.USER32.dll_EnumDisplayMonitors]
mov rbp, qword [rsp + 0x78]
mov rcx, rdi
mov rax, qword [rsp + 0x70]
mov r14d, ebp
sub r14d, eax
shr rbp, 0x20
shr rax, 0x20
sub ebp, eax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8d, ebp
mov edx, r14d
mov rcx, rdi
mov r15, rax
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rdx, rax
mov rcx, r15
mov r12, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov dword [rsp + 0x40], 0xcc0020
xor r13d, r13d
mov dword [rsp + 0x38], r13d
mov r9d, r14d
mov dword [rsp + 0x30], r13d
xor r8d, r8d
mov qword [rsp + 0x28], rdi
xor edx, edx
mov rcx, r15
mov dword [rsp + 0x20], ebp
call qword [sym.imp.GDI32.dll_BitBlt]
mov eax, r14d
mov dword [rsp + 0x60], 0x800000
cdq
mov rcx, rdi
sub eax, edx
sar eax, 1
mov dword [rsp + 0x70], eax
mov eax, ebp
cdq
sub eax, edx
lea edx, [r13 + 1]
sar eax, 1
mov dword [rsp + 0x74], eax
mov r8, qword [rsp + 0x70]
test bl, 1
je 0x140002734
lea edx, [r13 - 1]
call fcn.140001cb0
mov rcx, qword [0x14001fc40]
test rcx, rcx
jne 0x140002778
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140002771
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x68]
mov qword [rsp + 0xc0], rsi
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov esi, dword [rsp + 0x68]
mov rcx, qword [0x14001fc40]
btr esi, 0x1f
test rcx, rcx
jne 0x1400027d7
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400027d0
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x64]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov ebx, dword [rsp + 0x64]
mov rcx, qword [0x14001fc40]
btr ebx, 0x1f
test rcx, rcx
jne 0x14000282e
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140002827
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x70]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
movzx eax, byte [rsp + 0x70]
mov rcx, rdi
shl eax, 0x10
movzx edx, bl
shl edx, 8
or edx, eax
movzx eax, sil
or edx, eax
call qword [sym.imp.GDI32.dll_SetBkColor]
mov rcx, qword [0x14001fc40]
test rcx, rcx
jne 0x14000289c
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140002895
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x70]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov esi, dword [rsp + 0x70]
mov rcx, qword [0x14001fc40]
btr esi, 0x1f
test rcx, rcx
jne 0x1400028f3
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400028ec
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x64]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov ebx, dword [rsp + 0x64]
mov rcx, qword [0x14001fc40]
btr ebx, 0x1f
test rcx, rcx
jne 0x14000294a
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140002943
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x68]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
movzx eax, byte [rsp + 0x68]
mov rcx, rdi
shl eax, 0x10
movzx edx, bl
shl edx, 8
or edx, eax
movzx eax, sil
or edx, eax
call qword [sym.imp.GDI32.dll_SetTextColor]
mov rcx, qword [0x14001fc40]
test rcx, rcx
jne 0x1400029b8
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1400029b1
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x70]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov ebx, dword [rsp + 0x70]
mov rcx, qword [0x14001fc40]
btr ebx, 0x1f
test rcx, rcx
jne 0x140002a0f
lea r9d, [rcx + 1]
mov dword [rsp + 0x20], 0xf0000040
lea rcx, [0x14001fc40]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x140002a08
lea ecx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x14001fc40]
lea r8, [rsp + 0x64]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov eax, ebx
mov dword [rsp + 0x20], 8
cdq
lea r9, str.HYDROGEN
idiv ebp
mov eax, dword [rsp + 0x64]
mov rcx, rdi
btr eax, 0x1f
mov r8d, edx
cdq
idiv r14d
call qword [sym.imp.GDI32.dll_TextOutW]
mov eax, dword [rsp + 0x60]
mov r9d, r14d
mov dword [rsp + 0x50], eax
xor r8d, r8d
mov dword [rsp + 0x48], ebp
xor edx, edx
mov dword [rsp + 0x40], r14d
mov rcx, rdi
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], ebp
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r12
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rsi, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400059f0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret