Function at 0x140054664
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x980]
sub rsp, 0xa80
mov rax, qword [0x140096008]
xor rax, rsp
mov qword [rbp + 0x970], rax
mov eax, dword [rdx + 0x22]
xor r13d, r13d
mov qword [rbp - 0x68], rcx
mov rsi, rdx
xor ecx, ecx
mov qword [rbp - 0x58], rdx
mov dword [rsp + 0x64], ecx
mov r12d, ecx
mov dword [rsp + 0x4c], ecx
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x70], ecx
mov dword [rbp - 0x7c], ecx
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x44], ecx
mov ecx, eax
and ecx, 6
mov dword [rsp + 0x78], r13d
mov dword [rbp - 0x80], r13d
mov dword [rsp + 0x7c], r13d
mov dword [rbp - 0x78], r13d
mov dword [rbp - 0x74], r13d
mov dword [rbp - 0x6c], r13d
mov dword [rsp + 0x40], r13d
mov dword [rbp - 0x60], ecx
test al, 4
je 0x1400546fb
xor eax, 4
or eax, 2
test al, 0x10
je 0x140054705
xor eax, 0x10
or eax, 0x600
mov r15d, 1
mov dword [rdx + 0x22], eax
mov dword [rdx + 0x2a], 3
mov eax, dword [0x1400b8c78]
cmp dword [rdx + 0x1f6], eax
je 0x140054733
mov dword [rdx + 0x1f6], eax
mov dword [rsp + 0x64], r15d
movzx edx, byte [0x140096f38]
mov rcx, qword [rsi + 0x1e6]
call fcn.1400796b0
mov rcx, qword [rsi + 0xba]
mov edx, eax
call fcn.1400797c0
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x58]
mov edx, 0x64
mov dword [rsi + 0x27e], eax
mov qword [rsi + 0x282], InitCommonControls
mov dword [rsi + 0x232], 0x19
mov dword [rsi + 0x22a], r13d
lea r8d, [rdx + 2]
mov qword [rsi + 0xa6], r13
call fcn.14004564c
test eax, eax
jne 0x140055509
mov rcx, qword [rsi + 0xc6]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, qword [rsp + 0x58]
mov ebx, r13d
lea r14, [rax + 0x40]
mov rcx, rdi
cmp ebx, r15d
je 0x1400547fa
mov edx, ebx
call fcn.140078d84
test rax, rax
je 0x1400547ea
cmp dword [rax + 0x18], r13d
je 0x1400547ea
mov rcx, rdi
mov dword [rbp - 0x80], r15d
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov r8d, r15d
mov edx, ebx
mov rcx, rdi
call fcn.140078ea8
jmp 0x1400547f3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
bts dword [r14], 0xa
jmp 0x140054855
mov edx, r15d
call fcn.140078d84
mov rdx, rax
test rax, rax
je 0x140054855
movsxd rcx, dword [rax + 0x14]
mov r8d, r13d
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, 0x5c
cmp dword [rdx + 0x10], r13d
jle 0x14005484c
add rax, rdx
mov ecx, dword [rax]
test cl, 4
je 0x14005483f
xor ecx, 4
mov dword [rsp + 0x40], r15d
mov dword [rax], ecx
mov qword [rax + 0x2c], r13
mov qword [rax + 0x34], r13
add r8d, r15d
add rax, 0x58
cmp r8d, dword [rdx + 0x10]
jl 0x140054826
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
add ebx, r15d
add r14, 0x34
cmp ebx, 6
jl 0x1400547b4
mov rcx, rdi
call fcn.14004708c
mov rcx, qword [rsi + 0xc6]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, qword [rsi + 0xc6]
call fcn.14004708c
mov r8d, dword [rsi + 0xf6]
lea r15, [rsi + 0xea]
mov ecx, dword [rsi + 0x26]
mov r9, r15
mov edx, 0x65
call fcn.14004564c
test eax, eax
jne 0x140055509
mov ecx, dword [rsi + 0x26]
lea r9, [rsi + 0x1da]
lea edx, [rax + 0x64]
lea r8d, [rax + 0x68]
call fcn.14004564c
test eax, eax
jne 0x140055509
mov rdx, qword [r15]
lea r8, [rsp + 0x44]
mov rcx, rsi
call fcn.140054534
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x74], ecx
test eax, eax
jne 0x140055509
mov ecx, dword [rsi + 0x26]
lea r14, [rsi + 0xde]
mov r9, r14
lea edx, [rax + 0x64]
lea r8d, [rax + 0x67]
call fcn.140045710
test eax, eax
jne 0x140055509
mov ebx, r13d
lea rdi, [rbp - 0x30]
lea esi, [rax + 1]
mov rcx, qword [r14]
mov edx, ebx
call fcn.140078d84
test rax, rax
je 0x140054933
cmp dword [rax], r13d
mov eax, r13d
cmovne r12d, esi
sete al
jmp 0x140054936
mov eax, r13d
mov dword [rdi], eax
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
add ebx, esi
add rdi, 4
cmp ebx, 0x1e
jl 0x140054915
mov rsi, qword [rbp - 0x58]
mov r9, r15
mov edx, 0x65
mov dword [rsp + 0x50], r12d
mov dword [rbp - 0x50], r13d
mov r8d, dword [rsi + 0xf6]
mov ecx, dword [rsi + 0x26]
call fcn.140045710
test eax, eax
je 0x14005497f
mov r15d, 1
jmp 0x140054aa1
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rcx, rax
xor edx, edx
call fcn.140021bb8
mov rcx, qword [r15]
mov ebx, dword [rax + 0xbc]
mov dword [rsp + 0x44], ebx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ecx, dword [rsi + 0x26]
lea r9, [rbp - 0x50]
mov r15d, 1
lea r8, [rbp - 0x30]
mov edx, ebx
mov dword [rsp + 0x20], r15d
call fcn.140053e50
mov edi, dword [rbp - 0x50]
cmp edi, 4
jge 0x140054a9e
mov ecx, dword [rsi + 0x26]
lea r8, [rsp + 0x48]
lea edx, [r15 + 0x66]
call fcn.140047a28
test eax, eax
jne 0x140055509
mov r14d, dword [rsp + 0x48]
mov ebx, r13d
test r14d, r14d
jle 0x140054a35
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x44]
mov r8d, ebx
mov edx, 0x67
call fcn.140047ad4
test eax, eax
jne 0x140055509
mov edx, dword [rsp + 0x44]
lea r9, [rbp - 0x50]
mov ecx, dword [rsi + 0x26]
lea r8, [rbp - 0x30]
mov dword [rsp + 0x20], r15d
call fcn.140053e50
add ebx, r15d
cmp ebx, r14d
jl 0x1400549f4
mov edi, dword [rbp - 0x50]
cmp edi, 4
jge 0x140054a9e
mov ecx, dword [rsi + 0x26]
lea r8, [rsp + 0x48]
mov r14d, 0x67
mov edx, r14d
call fcn.140047a28
test eax, eax
jne 0x140055509
mov edi, dword [rsp + 0x48]
mov ebx, r13d
test edi, edi
jle 0x140054a9e
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x44]
mov r8d, ebx
mov edx, r14d
call fcn.140047ad4
test eax, eax
jne 0x140055509
mov edx, dword [rsp + 0x44]
lea r9, [rbp - 0x50]
mov ecx, dword [rsi + 0x26]
lea r8, [rbp - 0x30]
mov dword [rsp + 0x20], r13d
call fcn.140053e50
add ebx, r15d
cmp ebx, edi
jl 0x140054a63
mov eax, r13d
test eax, eax
jne 0x140055509
mov rcx, rsi
call fcn.140054358
test eax, eax
jne 0x140055509
lea rax, [rbp - 0x74]
mov rcx, rsi
lea r9, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x7c]
lea rdx, [rbp - 0x50]
call fcn.140053f9c
test eax, eax
jne 0x140055509
mov ecx, dword [rsi + 0x26]
lea r8, [rsp + 0x48]
lea edx, [rax + 0x66]
call fcn.140047a28
test eax, eax
jne 0x140055509
mov eax, r13d
mov dword [rbp - 0x70], eax
cmp dword [rsp + 0x48], r13d
jle 0x140054d1c
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x44]
mov r8d, eax
mov edx, 0x66
call fcn.140047ad4
test eax, eax
jne 0x140055509
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x58]
mov ecx, dword [rsi + 0x26]
lea edx, [rax + 0x66]
call fcn.14004564c
test eax, eax
jne 0x140055509
test r12d, r12d
je 0x140054b53
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsi + 0x26]
call fcn.140003ab4
mov r12d, r13d
mov rcx, qword [rsp + 0x58]
mov edx, r12d
call fcn.140078d84
mov rbx, rax
test rax, rax
je 0x140054ca7
mov eax, dword [rax + 0x20]
bt eax, 0xc
jae 0x140054b88
btc eax, 0xc
mov dword [rsp + 0x6c], r15d
or dword [rbx + 0x3c], 0xffffffff
mov dword [rbx + 0x20], eax
bt eax, 0xe
jae 0x140054ba8
btc eax, 0xe
mov dword [rbx + 0x20], eax
cmp dword [rbx + 0x50], r13d
je 0x140054ba4
mov dword [rsp + 0x7c], r15d
mov dword [rbx + 0x50], r13d
or dword [rbx + 0x3c], 0xffffffff
movsxd rax, dword [rbx + 0x14]
mov edx, r13d
mov edi, dword [rbx + 0x10]
lea rax, [rax + rax*2]
shl rax, 4
add rax, 0x5c
test edi, edi
jle 0x140054bf0
add rax, rbx
mov ecx, dword [rax]
test cl, 4
je 0x140054be2
xor ecx, 4
mov qword [rax + 0x2c], r13
mov dword [rax], ecx
mov qword [rax + 0x34], r13
or dword [rbx + 0x3c], 0xffffffff
mov dword [rsp + 0x40], r15d
mov edi, dword [rbx + 0x10]
add edx, r15d
add rax, 0x58
cmp edx, edi
jl 0x140054bc5
mov eax, dword [rbx + 0x20]
test al, 2
je 0x140054ca7
movsxd r13, dword [rbx + 0x18]
xor eax, 2
or dword [rbx + 0x3c], 0xffffffff
mov r8, r13
mov dword [rsp + 0x70], r15d
mov edx, InitCommonControls
mov dword [rbx + 0x20], eax
movsxd rax, dword [rbx + 0x14]
lea r14, [rax + rax*2]
movsxd rax, edi
imul r15, rax, 0x58
shl r14, 4
add r15, 0x54
add r15, r14
add r15, rbx
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov r8, rax
test rax, rax
je 0x140054ca0
lea ecx, [r13 - 1]
sub r8d, r15d
xor r13d, r13d
mov r15d, 1
cmp r8d, ecx
jge 0x140054ca7
mov dword [rbp - 0x6c], r15d
mov r10d, r13d
mov dword [rbx + 0x18], r8d
test edi, edi
jle 0x140054ca7
lea rdx, [rbx + 0x84]
add rdx, r14
mov r9d, dword [rdx - 4]
cmp r9d, r8d
jl 0x140054c7f
mov dword [rdx], r13d
jmp 0x140054c91
mov ecx, dword [rdx]
add ecx, r9d
cmp ecx, r8d
jle 0x140054c91
mov eax, r8d
sub eax, r9d
mov dword [rdx], eax
add r10d, r15d
add rdx, 0x58
cmp r10d, dword [rbx + 0x10]
jl 0x140054c71
jmp 0x140054ca7
xor r13d, r13d
lea r15d, [r13 + 1]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
test rbx, rbx
je 0x140054ced
movsxd rdx, dword [rbp - 0x50]
mov rcx, r13
test rdx, rdx
jle 0x140054cd8
lea rax, [rbp - 0x4c]
cmp dword [rax], r12d
je 0x140054ced
add rcx, r15
add rax, 4
cmp rcx, rdx
jl 0x140054cc7
mov rcx, qword [rsp + 0x58]
mov r8d, r15d
mov edx, r12d
call fcn.140078ea8
mov dword [rsp + 0x78], r15d
add r12d, r15d
cmp r12d, 0x1e
jl 0x140054b56
mov rcx, qword [rsp + 0x58]
call fcn.14004708c
mov eax, dword [rbp - 0x70]
mov r12d, dword [rsp + 0x50]
add eax, r15d
mov dword [rbp - 0x70], eax
cmp eax, dword [rsp + 0x48]
jl 0x140054b07
mov ecx, dword [rsi + 0x26]
lea r8, [rsp + 0x48]
mov r12d, 0x69
mov edx, r12d
call fcn.140047a28
test eax, eax
jne 0x140055509
mov r14d, dword [rsp + 0x48]
mov ebx, r13d
test r14d, r14d
jle 0x140054dfd
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x44]
mov r8d, ebx
mov edx, r12d
call fcn.140047ad4
test eax, eax
jne 0x140055509
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x58]
mov ecx, dword [rsi + 0x26]
mov edx, r12d
call fcn.14004564c
test eax, eax
jne 0x140055509
mov rdi, qword [rsp + 0x58]
xor edx, edx
mov rcx, rdi
call fcn.140078d84
mov rdx, rax
test rax, rax
je 0x140054de0
movsxd rcx, dword [rax + 0x14]
mov r8d, r13d
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, 0x5c
cmp dword [rdx + 0x10], r13d
jle 0x140054de0
add rax, rdx
mov ecx, dword [rax]
test cl, 4
je 0x140054dd3
xor ecx, 4
mov dword [rsp + 0x40], r15d
mov dword [rax], ecx
or dword [rdx + 0x3c], 0xffffffff
mov qword [rax + 0x2c], r13
mov qword [rax + 0x34], r13
add r8d, r15d
add rax, 0x58
cmp r8d, dword [rdx + 0x10]
jl 0x140054db6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, rdi
call fcn.14004708c
add ebx, r15d
cmp ebx, r14d
jl 0x140054d4b
mov ecx, dword [rsi + 0x26]
lea r8, [rsp + 0x48]
mov edx, 0x65
call fcn.140047a28
mov ebx, eax
test eax, eax
jne 0x140055509
cmp dword [rsp + 0x48], r13d
mov r12d, r13d
mov r13d, dword [rbp - 0x7c]
jle 0x140055533
mov ecx, dword [rsi + 0x26]
lea r9, [rsp + 0x44]
mov r8d, r12d
mov edx, 0x65
call fcn.140047ad4
xor r14d, r14d
test eax, eax
jne 0x140055509
mov r8d, dword [rsp + 0x44]
lea r9, [rsp + 0x58]
mov ecx, dword [rsi + 0x26]
lea edx, [rax + 0x65]
call fcn.14004564c
mov ebx, eax
test eax, eax
jne 0x140055509
mov r15, qword [rsp + 0x58]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdi, rax
mov dword [rax + 0x68], r14d
or dword [rax + 0x10], 2
mov eax, dword [rax + 0x34]
cmp eax, 0x12
jg 0x140054ee7
je 0x140054ede
sub eax, 2
je 0x140054ecf
sub eax, 2
je 0x140054f1c
sub eax, 4
je 0x140054ec6
sub eax, 1
je 0x140054f1c
sub eax, 3
je 0x140054eb4
sub eax, 3
je 0x140054ebd
cmp eax, 1
jne 0x140054f2b
mov dword [rdi + 0x34], 6
jmp 0x140054f23
mov dword [rdi + 0x34], 5
jmp 0x140054ed3
mov dword [rdi + 0x34], 3
jmp 0x140054ed3
mov dword [rdi + 0x34], r14d
mov edx, 1
mov dword [rsp + 0x4c], edx
jmp 0x140054f30
mov dword [rdi + 0x34], InitCommonControls
jmp 0x140054ed3
cmp eax, 0x13
je 0x140054f1c
cmp eax, 0x16
je 0x140054eb4
jle 0x140054f2b
cmp eax, 0x18
jle 0x140054f13
cmp eax, 0x1a
je 0x140054f13
cmp eax, 0x1b
jle 0x140054f2b
cmp eax, 0x1d
jle 0x140054f13
add eax, 0xffffffe0
mov edx, 1
cmp eax, edx
ja 0x140054f30
mov dword [rdi + 0x34], 0x19
jmp 0x140054f23
mov dword [rdi + 0x34], InitCommonControls
mov dword [rsp + 0x4c], 1
mov edx, 1
mov r8d, dword [0x1400b8c7c]
mov eax, dword [0x1400b8c88]
mov ecx, dword [0x1400b8c84]
mov r9d, dword [0x1400b8c80]
cmp dword [rdi + 0x78], r8d
jne 0x140054f66
cmp dword [rdi + 0x7c], r9d
jne 0x140054f66
cmp dword [rdi + 0x80], ecx
jne 0x140054f66
cmp dword [rdi + 0x84], eax
je 0x140054f85
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x64], edx
mov edx, dword [0x1400b8c78]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.140018954
cmp dword [rdi + 0x8c], r14d
jle 0x140055069
mov r15d, dword [rsp + 0x68]
mov esi, 1
mov edx, r14d
mov rcx, rdi
call fcn.140021bb8
mov rcx, rax
cmp dword [rax + 0xc0], 0x67
jne 0x140054fbc
cmp dword [rax + 0xbc], 0
je 0x140054fd0
and dword [rax + 0xbc], 0
mov r13d, esi
mov dword [rax + 0xc0], 0x67
mov eax, dword [rax + 0x2c]
mov edx, 0x1000
test edx, eax
je 0x140054fe1
xor eax, edx
mov dword [rcx + 0x2c], eax
mov edx, dword [rcx + 0xf4]
mov eax, 0x100
test eax, edx
je 0x140054ff8
xor edx, eax
mov dword [rcx + 0xf4], edx
mov r8d, edx
test dl, dl
js 0x140055043
mov r8d, dword [0x1400b8c90]
cmp dword [rcx + 0x4c], r8d
jne 0x140055017
mov eax, dword [0x1400b8c94]
cmp dword [rcx + 0x48], eax
je 0x140055028
mov dword [rcx + 0x4c], r8d
mov eax, dword [0x1400b8c94]
mov dword [rcx + 0x48], eax
mov dword [rsp + 0x60], esi
mov eax, edx
mov r8d, edx
and eax, 3
cmp al, 3
je 0x140055043
or r8d, 3
mov dword [rsp + 0x60], esi
mov dword [rcx + 0xf4], r8d
test r8b, 4
cmovne r15d, esi
add r14d, esi
cmp r14d, dword [rdi + 0x8c]
jl 0x140054f9c
mov rsi, qword [rbp - 0x58]
mov dword [rsp + 0x68], r15d
mov r15, qword [rsp + 0x58]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rcx, r15
call fcn.14004708c
mov ecx, 1
add r12d, ecx
cmp r12d, dword [rsp + 0x48]
jl 0x140054e2b
mov r15d, dword [rsp + 0x68]
xor eax, eax
mov rdi, qword [rbp - 0x68]
test r15d, r15d
je 0x1400550aa
mov r8d, ecx
mov rcx, rdi
call fcn.1400046a4
xor eax, eax
mov r12d, dword [rsp + 0x4c]
cmp dword [rsp + 0x60], eax
jne 0x1400550be
test r12d, r12d
je 0x140055541
mov r14d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x40]
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
mov edi, 0x384
mov edx, 0x2cec
mov r9d, edi
call qword [sym.imp.USER32.dll_LoadStringW]
movsxd rbx, eax
test r15d, r15d
je 0x140055110
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
mov r9d, edi
lea r8, [r8 + rbx*2]
sub r9d, ebx
mov edx, 0x2cf0
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
xor r15d, r15d
test r12d, r12d
je 0x14005513d
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2ced
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x60], r15d
je 0x14005516d
cmp ebx, edi
jge 0x14005516d
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cef
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x64], r15d
je 0x14005519d
cmp ebx, edi
jge 0x14005519d
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cee
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x6c], r15d
je 0x1400551cd
cmp ebx, edi
jge 0x1400551cd
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf1
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x70], r15d
je 0x1400551fd
cmp ebx, edi
jge 0x1400551fd
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf2
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rbp - 0x6c], r15d
je 0x14005522c
cmp ebx, edi
jge 0x14005522c
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cfa
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x7c], r15d
je 0x14005525c
cmp ebx, edi
jge 0x14005525c
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf7
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
test r14d, r14d
je 0x14005528a
cmp ebx, edi
jge 0x14005528a
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf3
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x74], r15d
je 0x1400552ba
cmp ebx, edi
jge 0x1400552ba
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf5
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rsp + 0x78], r15d
je 0x1400552ea
cmp ebx, edi
jge 0x1400552ea
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf6
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
mov r14d, dword [rbp - 0x78]
test r14d, r14d
je 0x14005531c
cmp ebx, edi
jge 0x14005531c
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf4
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
mov r15d, dword [rbp - 0x74]
test r15d, r15d
je 0x14005534e
cmp ebx, edi
jge 0x14005534e
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf8
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [rbp - 0x80], 0
je 0x14005537d
cmp ebx, edi
jge 0x14005537d
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cf9
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
test r13d, r13d
je 0x1400553ab
cmp ebx, edi
jge 0x1400553ab
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, edi
sub r9d, ebx
mov edx, 0x2cfb
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
cmp dword [0x140096f08], 0
je 0x1400553dc
cmp ebx, edi
jge 0x1400553dc
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
sub edi, ebx
mov r9d, edi
mov edx, 0x2cfc
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
add ebx, eax
mov rcx, qword [0x1400b8300]
lea r8, [rbp + 0x50]
movsxd rax, ebx
mov r9d, 0x489
sub r9d, ebx
mov edx, 0x2d1e
lea r8, [r8 + rax*2]
call qword [sym.imp.USER32.dll_LoadStringW]
mov r13, qword [rbp - 0x68]
mov rcx, r13
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov edi, eax
test eax, eax
je 0x140055420
xor edx, edx
mov rcx, r13
call qword [sym.imp.USER32.dll_ShowWindow]
xor ebx, ebx
cmp dword [rsp + 0x60], ebx
jne 0x1400555e4
test r12d, r12d
jne 0x1400555e4
cmp dword [rsp + 0x64], ebx
jne 0x1400555e4
cmp dword [rsp + 0x68], ebx
jne 0x1400555e4
cmp dword [rsp + 0x6c], ebx
jne 0x1400555e4
cmp dword [rsp + 0x70], ebx
jne 0x1400555e4
cmp dword [rsp + 0x50], ebx
jne 0x1400555e4
cmp dword [rsp + 0x74], ebx
jne 0x1400555e4
cmp dword [rsp + 0x78], ebx
jne 0x1400555e4
test r14d, r14d
mov r14d, dword [rsp + 0x40]
jne 0x1400555e9
cmp dword [rsp + 0x7c], ebx
jne 0x1400555e9
test r15d, r15d
jne 0x1400555e9
cmp dword [rbp - 0x80], ebx
jne 0x1400555e9
test r14d, r14d
jne 0x1400555e9
cmp dword [0x140096f08], ebx
jne 0x1400555e9
lea r15d, [rbx + 1]
test edi, edi
je 0x1400554e9
test ebx, ebx
jne 0x1400554e9
lea edx, [rbx + 8]
mov rcx, r13
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetParent]
mov r8d, r15d
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_InvalidateRect]
test r14d, r14d
je 0x1400554f6
mov rcx, rsi
call fcn.1400600f4
test ebx, ebx
jne 0x140055507
mov rcx, r13
mov rdx, rsi
call fcn.140053c58
mov ebx, eax
mov eax, ebx
mov rcx, qword [rbp + 0x970]
xor rcx, rsp
call fcn.14008a940
mov rbx, qword [rsp + 0xad0]
add rsp, 0xa80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r12d, dword [rsp + 0x4c]
xor eax, eax
mov rdi, qword [rbp - 0x68]
mov r15d, r12d
mov r14d, dword [rsp + 0x50]
cmp dword [rsp + 0x64], eax
jne 0x1400550c3
test r15d, r15d
jne 0x1400550c3
cmp dword [rsp + 0x6c], eax
jne 0x1400550c3
cmp dword [rsp + 0x70], eax
jne 0x1400550c3
test r14d, r14d
jne 0x1400550c3
test r13d, r13d
mov r13d, dword [rsp + 0x40]
jne 0x1400550c8
cmp dword [rsp + 0x74], eax
jne 0x1400550c8
cmp dword [rsp + 0x78], eax
jne 0x1400550c8
cmp dword [rbp - 0x78], eax
jne 0x1400550c8
cmp dword [rsp + 0x7c], eax
jne 0x1400550c8
cmp dword [rbp - 0x74], eax
jne 0x1400550c8
cmp dword [rbp - 0x80], eax
jne 0x1400550c8
test r13d, r13d
jne 0x1400550c8
cmp dword [0x140096f08], eax
jne 0x1400550c8
cmp dword [rbp - 0x60], 2
je 0x140055507
mov rcx, rdi
jmp 0x1400554fd
mov r14d, dword [rsp + 0x40]
mov rbx, qword [0x140097108]
lea r8, [0x140096080]
mov rcx, qword [0x1400970d8]
lea rdx, [rbp + 0x50]
mov r15d, 1
mov r9d, r15d
mov qword [0x140097108], r15
call qword [sym.imp.USER32.dll_MessageBoxW]
mov qword [0x140097108], rbx
xor ebx, ebx
cmp eax, 2
setne bl
sub ebx, r15d
jmp 0x1400554be