Function at 0x14003a9c0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
or rdi, 0xffffffffffffffff
movzx ebp, dl
mov rbx, rcx
mov rsi, rdi
nop dword [rax + rax]
inc rsi
cmp byte [rcx + rsi], 0
jne 0x14003a9f0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r12, rax
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, r12
mov ecx, esi
mov r15, rax
mov qword [rsp + 0x68], rax
call fcn.140094360
mov r14, rax
mov qword [rsp + 0x78], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, 4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
lea r8d, [rcx + 0x13]
mov edx, 0x1a2
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor eax, eax
lea r8, [0x140001b00]
mov qword [rsp + 0x28], rax
lea r9d, [rax + 4]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r13, rax
mov qword [rsp + 0x60], rax
cmp bpl, sil
ja 0x14003ad2b
movzx eax, bpl
mov rcx, rdi
mov dword [rsp + 0x100], eax
nop
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14003aa90
imul ecx, eax
mov rbp, rdi
imul ecx, r13d
inc rbp
cmp byte [rbx + rbp], 0
jne 0x14003aaa4
sub ebp, ecx
xor ecx, ecx
mov edx, 0x299
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, rdi
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14003aac3
mov eax, r13d
sub eax, r15d
mov r15, rdi
add ecx, eax
mov dword [rsp + 0x80], ecx
nop
inc r15
cmp byte [rbx + r15], 0
jne 0x14003aae0
mov eax, r12d
xor ecx, ecx
mov edx, 0x2e9
lea r8d, [rcx + 0xe]
imul eax, esi
sub eax, r13d
add r15d, eax
mov dword [rsp + 0x84], r15d
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov ecx, ebp
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x90], xmm0
call fcn.140096a00
mov ecx, ebp
mov qword [rsp + 0x108], rax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov r12, rdi
mov r8, rax
inc r12
cmp byte [rbx + r12], 0
jne 0x14003ab45
movzx eax, byte [rsp + 0x84]
mov r9, r13
xor edx, edx
imul bpl
movzx ecx, al
movzx eax, r13b
imul cl
movzx ecx, al
movzx eax, byte [rsp + 0xf8]
imul cl
lea rcx, [0x1400ed830]
sub r12b, al
lea rax, str.morning
sub r12b, byte [rsp + 0x108]
mov qword [rsp + 0x30], rax
lea rax, str.cleric
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], r12b
call fcn.14007f1d0
movzx r8d, r12b
mov rcx, rdi
mov rdx, rax
mov dword [rsp + 0xf8], r8d
nop dword [rax + rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x14003abc0
mov rax, qword [rsp + 0x108]
imul ecx, esi
mov r13d, 1
lea eax, [rax + rax*2]
sub r13d, eax
lea eax, [r8 + r8*2]
add eax, eax
imul r13d, dword [rsp + 0x60]
sub r13d, eax
lea eax, [r15 + rcx]
add r13d, eax
mov rax, rdi
add r13d, ebp
nop dword [rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x14003ac00
sub r13d, eax
mov rax, rdi
inc rax
cmp byte [rdx + rax], 0
jne 0x14003ac10
sub r13d, eax
mov rax, rdi
nop
cmp byte [r14 + rax + 1], 0
lea rax, [rax + 1]
jne 0x14003ac20
mov ecx, dword [rsp + 0x100]
mov r14, rdi
imul ecx, esi
lea ecx, [rcx + rax*8]
sub ecx, r8d
sub ecx, dword [rsp + 0x68]
inc r14
cmp byte [rbx + r14], 0
jne 0x14003ac43
lea eax, [r15 + rcx]
lea r9, str.c2a2
add r14d, eax
add r14d, dword [rsp + 0x70]
mov dword [rsp + 0x20], r14d
call fcn.1400a4980
xor ecx, ecx
lea r8d, [rcx + 0x10]
mov edx, 0x224
mov r15, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r8, qword [rsp + 0x78]
mov edx, esi
mov qword [rsp + 0x100], rax
xor eax, eax
lea ecx, [r13 - 7]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0xf8]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], esi
mov r9d, r14d
mov rdx, rbx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExA]
movsxd r9, ebp
movzx r8d, r12b
mov rdx, rbx
xor ecx, ecx
mov r14, rax
call qword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
mov edx, eax
inc rdi
cmp byte [rbx + rdi], 0
jne 0x14003ace1
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
lea eax, [rax + rax*8]
mov r8, r14
add eax, eax
sub ecx, eax
sub ecx, r15d
lea eax, [rcx - 0x1c]
lea rcx, [rsp + 0x90]
add eax, esi
add edi, eax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x100]
call fcn.1400a84d0
lea rax, str.c0ret
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret