Function at 0x180023530
Capabilities:
Extract resource via kernel32 functions
Identify system language via api

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x3f8
mov eax, 0x8ed
mov word [rsp + 0x288], ax
movzx eax, word [0x1800a6364]
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x80], 0x5419
mov byte [rsp + 0x20], 0x27
mov eax, dword [0x1800a6384]
mov byte [rsp + 0x24], al
movzx eax, word [0x1800a6364]
mov qword [rsp + 0x90], rax
movabs rax, 0x65064226e0c44
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x26], 0x34
mov qword [rsp + 0x68], 0xb9
movzx eax, word [0x1800a6330]
mov word [rsp + 0x30], ax
mov qword [rsp + 0x60], 0x54
movsx eax, word [0x1800a6254]
mov dword [rsp + 0x34], eax
movabs rax, 0xa4ab50b5a9482
mov qword [rsp + 0x58], rax
movzx eax, word [0x1800a6244]
movsx rax, ax
mov qword [rsp + 0x50], rax
mov rax, qword [0x1800a6308]
mov qword [rsp + 0x78], rax
mov rax, qword [0x1800a62f8]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1800a62c4]
mov byte [rsp + 0x25], al
mov eax, dword [0x1800a62dc]
cdqe
mov qword [rsp + 0x70], rax
movzx eax, byte [0x1800a6284]
mov byte [rsp + 0x21], al
mov rax, qword [0x1800a6328]
mov qword [rsp + 0x98], rax
mov eax, dword [0x1800a6378]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x23], 0x4a
movzx eax, byte [0x1800a637c]
mov byte [rsp + 0x22], al
mov rax, qword [0x1800a6338]
mov word [rsp + 0x28], ax
movzx eax, word [0x1800a6380]
mov word [rsp + 0x2c], ax
movzx eax, word [0x1800a6358]
mov word [rsp + 0x284], ax
mov byte [rsp + 0xe9], 0xad
mov dword [rsp + 0x358], 0x2336b0c2
mov dword [rsp + 0x35c], 7
mov qword [rsp + 0x3c8], 9
mov dword [rsp + 0x360], 0x9897
mov dword [rsp + 0x368], 0x3298
mov eax, 0xde
mov word [rsp + 0x260], ax
mov eax, dword [0x1800a6330]
mov dword [rsp + 0x36c], eax
mov byte [rsp + 0xe8], 0x2a
mov rax, qword [0x1800a62e0]
mov byte [0x1800a622b], al
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0x48]
add eax, 0xc9b53c5f
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xe4]
add eax, 0xe7
mov dword [rsp + 0xa4], eax
mov rax, qword [0x1800a6348]
cmp qword [rsp + 0x70], rax
jne 0x180023747
mov rax, qword [0x1800a62e0]
not rax
mov byte [0x1800a622b], al
movzx eax, byte [0x1800a61fe]
movabs rcx, 0xa5a98308c1251
sub rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18002375b
mov eax, dword [rsp + 0x34]
cdqe
mov rcx, qword [0x1800a62e0]
xor rax, rcx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0xe4]
add eax, 0x19b
mov dword [rsp + 0x104], eax
mov qword [rsp + 0x70], 4
movzx eax, byte [0x1800a6284]
mov byte [0x1800a61ff], al
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x1e0], rax
cmp qword [rsp + 0x1e0], 0
je 0x1800237cd
cmp qword [rsp + 0x1e0], 1
je 0x1800237e1
cmp qword [rsp + 0x1e0], 2
je 0x1800237f4
cmp qword [rsp + 0x1e0], 3
je 0x180023806
cmp qword [rsp + 0x1e0], 4
je 0x180023826
jmp 0x180023862
movzx eax, word [0x1800a62c4]
movzx eax, ax
mov qword [rsp + 0x70], rax
jmp 0x180023862
mov rax, qword [0x1800a62e0]
sub rax, 0xb4d9
mov byte [rsp + 0x22], al
jmp 0x180023862
movsx eax, byte [rsp + 0x24]
imul eax, dword [0x1800a6368]
mov byte [rsp + 0x24], al
jmp 0x180023862
movabs rax, 0x99ff6b4bdbdbf
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x180023862
mov rax, qword [0x1800a62e0]
mov ecx, 8
imul rcx, rcx, 0xc3
lea rdx, [0x18044a9d0]
mov qword [rdx + rcx], rax
mov eax, dword [0x1800a62dc]
not eax
sub eax, 0x8dfa
cdqe
mov rcx, qword [rsp + 0x40]
sub rax, rcx
mov word [0x1800a6254], ax
mov eax, dword [rsp + 0xe4]
add eax, 0x2f6
mov dword [rsp + 0x290], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xdc], eax
mov dword [rsp + 0x48], 0x991bc11c
movzx eax, byte [rsp + 0x22]
mov rcx, qword [0x1800a6338]
sub rax, rcx
movzx ecx, byte [rsp + 0x22]
or rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0xdc]
add eax, 0x3c2
mov dword [rsp + 0x25c], eax
mov rax, qword [0x1800a6328]
add rax, 0x217c
mov qword [0x1800a6300], rax
mov rax, qword [rsp + 0x50]
movabs rcx, 0xdbb3bf10d6391
add rax, rcx
mov qword [0x1800a62f8], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x18b
mov dword [rsp + 0x370], eax
movsx eax, byte [0x1800a622f]
movzx ecx, word [0x1800a6350]
movzx ecx, cx
sub eax, ecx
mov byte [0x1800a622f], al
mov eax, 8
imul rax, rax, 0xf2e
lea rcx, [0x1803f3340]
movzx edx, word [0x1800a6350]
movzx edx, dx
sub rdx, qword [rcx + rax]
mov rax, rdx
mov word [0x1800a6350], ax
mov eax, dword [rsp + 0xdc]
add eax, 0x121
mov dword [rsp + 0x258], eax
mov qword [0x1800a6310], 0xd880
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xcc], eax
mov byte [rsp + 0x21], 3
movzx eax, word [rsp + 0x28]
test eax, eax
je 0x180023988
movsx eax, word [0x1800a6254]
mov dword [rsp + 0x1c0], eax
jmp 0x180023995
mov eax, dword [0x1800a62dc]
mov dword [rsp + 0x1c0], eax
movsxd rax, dword [rsp + 0x1c0]
mov qword [rsp + 0x40], rax
mov rax, qword [0x1800a6370]
add rax, 0x3d347947
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x21]
mov byte [rsp + 0x88], al
cmp byte [rsp + 0x88], 0
je 0x1800239f1
cmp byte [rsp + 0x88], 1
je 0x180023a10
cmp byte [rsp + 0x88], 2
je 0x180023a1a
cmp byte [rsp + 0x88], 3
je 0x180023a6f
jmp 0x180023a7c
movsx rax, byte [0x1800a622f]
movabs rcx, 0x48f07c71433c1
imul rax, rcx
mov qword [0x1800a62e8], rax
jmp 0x180023a7c
mov dword [rsp + 0x4c], 0x28c4
jmp 0x180023a7c
cmp dword [0x1800a626c], 0
je 0x180023a34
mov rax, qword [0x1800a6358]
mov qword [rsp + 0x298], rax
jmp 0x180023a46
movzx eax, word [0x1800a6350]
movzx eax, ax
mov qword [rsp + 0x298], rax
movzx eax, byte [rsp + 0x298]
mov byte [0x1800a61ff], al
mov rax, qword [rsp + 0x68]
add rax, 0xb
movsx rcx, byte [rsp + 0x24]
and rcx, rax
mov rax, rcx
mov byte [rsp + 0x24], al
jmp 0x180023a7c
movsx eax, word [rsp + 0x30]
sar eax, 1
mov dword [0x1800a62dc], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x264
mov dword [rsp + 0x134], eax
call qword [sym.imp.USER32.dll_GetShellWindow]
mov word [0x1800a62c4], ax
mov eax, dword [rsp + 0xcc]
add eax, 0x272
mov dword [rsp + 0x138], eax
xor eax, eax
mov word [0x1800a6284], ax
movzx eax, byte [rsp + 0x26]
movzx eax, al
movabs rcx, 0x91b5c806b4f92
add rax, rcx
mov byte [0x1800a61fe], al
mov rax, qword [rsp + 0x78]
xor rax, 0x4dfd
mov word [0x1800a6380], ax
movzx eax, word [0x1800a6284]
mov dword [rsp + 0x28c], eax
cmp dword [rsp + 0x28c], 0
je 0x180023aff
jmp 0x180023b1e
movzx eax, word [rsp + 0x98]
mov word [rsp + 0x30], ax
mov rax, qword [0x1800a62f8]
sub rax, 0xa2
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0xcc]
add eax, 0xb3
mov dword [rsp + 0xb0], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xe0], eax
mov rax, qword [0x1800a62f8]
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
cmp rax, rcx
je 0x180023b73
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x1800a6368]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a6368], eax
mov eax, 0xe5009612
mov qword [0x1800a6330], rax
jmp 0x180023ba0
mov eax, 1
imul rax, rax, 0x11a7
lea rcx, [0x18054f0e0]
movzx edx, byte [rsp + 0x30]
mov byte [rcx + rax], dl
movzx eax, byte [0x1800a61fb]
movsx eax, al
add eax, 0xa
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x372
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0xe0]
add eax, 0xc7
mov dword [rsp + 0x374], eax
mov eax, dword [rsp + 0xe0]
add eax, 0x341
mov dword [rsp + 0x13c], eax
movzx eax, word [rsp + 0x2c]
cwde
movzx ecx, word [rsp + 0x28]
cmp eax, ecx
jg 0x180023cea
movzx eax, byte [rsp + 0x23]
movzx eax, al
cmp rax, qword [0x1800a6340]
jle 0x180023c1b
mov dword [rsp + 0x34], 0x38
mov rax, qword [0x1800a6340]
inc rax
mov qword [0x1800a6340], rax
jmp 0x180023ce8
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x180023c44
movzx eax, byte [0x1800a622b]
test eax, eax
je 0x180023c44
mov rax, qword [rsp + 0x78]
sub rax, 0x6b26
mov byte [rsp + 0x25], al
jmp 0x180023ce8
movzx eax, word [rsp + 0x28]
test eax, eax
jne 0x180023c66
movzx eax, word [0x1800a6380]
cwde
test eax, eax
jne 0x180023c66
mov dword [rsp + 0x1cc], 1
jmp 0x180023c71
mov dword [rsp + 0x1cc], 0
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x180023c86
mov dword [rsp + 0x1c4], 1
jmp 0x180023c91
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
cmp dword [0x1800a637c], eax
jbe 0x180023cad
mov dword [rsp + 0x1c8], 1
jmp 0x180023cb8
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jg 0x180023ce8
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
and rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180023d0e
cmp qword [0x1800a6330], 0
je 0x180023d0e
movzx eax, byte [rsp + 0x20]
movsx ax, al
mov word [0x1800a6284], ax
mov eax, 0xe7b6
mov word [rsp + 0x28], ax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xec], eax
cmp dword [0x1800a626c], 0
je 0x180023d33
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x2a8], rax
jmp 0x180023d42
mov rax, qword [0x1800a6318]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x2a8]
mov qword [0x1800a6330], rax
mov dword [rsp + 0x48], 0x37
mov eax, dword [rsp + 0xec]
add eax, 0x129
mov dword [rsp + 0x378], eax
mov rax, qword [rsp + 0x40]
movsx rcx, word [rsp + 0x30]
cmp rax, rcx
jl 0x180023d89
mov dword [rsp + 0x1d4], 1
jmp 0x180023d94
mov dword [rsp + 0x1d4], 0
mov rax, qword [rsp + 0x40]
cmp rax, 0x2c
jl 0x180023dac
mov dword [rsp + 0x1d0], 1
jmp 0x180023db7
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jle 0x180023e90
mov rax, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x2c]
movsx rcx, cx
cmp rax, rcx
jb 0x180023dee
mov dword [rsp + 0xf4], 1
jmp 0x180023df9
mov dword [rsp + 0xf4], 0
mov rax, qword [rsp + 0x90]
cmp rax, 0x26
jb 0x180023e14
mov dword [rsp + 0x1d8], 1
jmp 0x180023e1f
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0xf4], eax
jl 0x180023e64
movzx eax, word [0x1800a6284]
mov ecx, dword [0x1800a6354]
add eax, ecx
mov eax, eax
movzx ecx, byte [0x1800a622e]
movsx rcx, cl
mov rdx, qword [0x1800a6300]
sub rdx, rcx
mov rcx, rdx
sub rax, rcx
mov qword [0x1800a6348], rax
jmp 0x180023e8e
xor eax, eax
test eax, eax
je 0x180023e8e
movzx eax, word [0x1800a6364]
sub eax, 0x5e6bc25
mov dword [0x1800a6354], eax
movsx eax, word [0x1800a636c]
imul eax, eax, 0x133400d9
mov word [rsp + 0x30], ax
jmp 0x180023ecd
movzx eax, word [0x1800a6364]
cmp eax, 0xbd60
je 0x180023ecd
mov eax, dword [0x1800a6378]
xor eax, dword [0x1800a637c]
not eax
mov eax, eax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [0x1800a6358]
add rdx, rax
mov rax, rdx
add rcx, rax
mov rax, rcx
mov word [0x1800a6360], ax
mov eax, dword [rsp + 0xec]
add eax, 0x9712
mov dword [rsp + 0x37c], eax
mov eax, dword [rsp + 0xec]
add eax, 0xf9
mov dword [rsp + 0x100], eax
mov rax, qword [0x1800a62f8]
cmp qword [0x1800a6348], rax
jae 0x180023f10
mov dword [rsp + 0xfc], 1
jmp 0x180023f1b
mov dword [rsp + 0xfc], 0
cmp qword [0x1800a6348], 0x38
jae 0x180023f32
mov dword [rsp + 0xf8], 1
jmp 0x180023f3d
mov dword [rsp + 0xf8], 0
mov eax, dword [rsp + 0xf8]
cmp dword [rsp + 0xfc], eax
jg 0x180023f4f
jmp 0x180023f81
movzx eax, byte [rsp + 0x22]
mov rcx, qword [rsp + 0x50]
add rax, rcx
movzx ecx, byte [rsp + 0x22]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
mov eax, dword [0x1800a62dc]
cdqe
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov dword [0x1800a62dc], eax
mov dword [rsp + 0x4c], 2
movsx eax, byte [rsp + 0x25]
not eax
mov word [0x1800a6350], ax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
je 0x180023fc5
cmp dword [rsp + 0xa0], 1
je 0x180023ff7
cmp dword [rsp + 0xa0], 2
je 0x180024017
jmp 0x180024059
mov rax, qword [rsp + 0x60]
imul rax, qword [0x1800a6330]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
movsx eax, word [0x1800a6254]
sub eax, 0xa38
mov word [0x1800a636c], ax
jmp 0x180024059
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
imul rax, rcx
mov rcx, qword [rsp + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x180024059
mov eax, dword [0x1800a62dc]
cdqe
add rax, qword [rsp + 0x78]
mov rcx, qword [0x1800a62e8]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x21], al
movsx eax, word [0x1800a6254]
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
imul eax, ecx
movsx ecx, word [0x1800a6254]
add ecx, eax
mov eax, ecx
mov word [0x1800a6254], ax
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x100]
xor eax, ecx
xor eax, 0x1bc
mov ecx, dword [rsp + 0x290]
mov edx, dword [rsp + 0x104]
add ecx, edx
mov edx, dword [rsp + 0x104]
xor edx, 0x331
add ecx, edx
mov edx, dword [rsp + 0xa4]
mov r8d, dword [rsp + 0xa4]
sub edx, r8d
mov r8d, dword [rsp + 0xa4]
mov r9d, 0x331
sub r9d, r8d
mov r8d, r9d
imul edx, r8d
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x220], eax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.USER32.dll_OpenIcon]
mov word [0x1800a6254], ax
movsx eax, word [0x1800a6254]
test eax, eax
je 0x1800240e5
jmp 0x180024127
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180024127
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x18002410c
mov rax, qword [0x1800a62f0]
mov qword [rsp + 0x2b0], rax
jmp 0x180024119
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x2b0], rax
movzx eax, byte [rsp + 0x2b0]
mov byte [0x1800a622e], al
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xa8], eax
mov eax, dword [0x1800a62dc]
imul eax, eax, 0x7e2f33a5
test eax, eax
je 0x1800241f5
movzx eax, byte [rsp + 0x22]
test eax, eax
jne 0x180024191
movabs rax, 0x2814827017ee6
xor ecx, ecx
cmp rcx, rax
je 0x180024191
movzx eax, byte [0x1800a622e]
movsx rax, al
xor rax, qword [0x1800a6308]
mov byte [0x1800a622e], al
movsx eax, byte [0x1800a61ff]
sub eax, 0x95
cdqe
mov qword [0x1800a6318], rax
jmp 0x1800241f0
movzx eax, byte [rsp + 0x21]
movsx rax, al
cmp qword [0x1800a6330], rax
je 0x1800241b1
mov qword [rsp + 0x2b8], 1
jmp 0x1800241bd
mov qword [rsp + 0x2b8], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x2b8]
add rcx, rax
mov rax, rcx
test rax, rax
je 0x1800241f0
movsx rax, byte [rsp + 0x24]
add rax, qword [rsp + 0x60]
movsx rcx, byte [rsp + 0x24]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x24], al
jmp 0x180024426
mov rax, qword [0x1800a6318]
test rax, rax
jne 0x18002420e
mov dword [rsp + 0x108], 1
jmp 0x180024219
mov dword [rsp + 0x108], 0
movsx eax, byte [0x1800a622f]
cmp eax, dword [rsp + 0x108]
je 0x180024236
mov dword [rsp + 0x10c], 1
jmp 0x180024241
mov dword [rsp + 0x10c], 0
movsx eax, word [0x1800a6254]
mov ecx, dword [0x1800a6368]
sub ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x10c]
jge 0x180024287
mov rax, qword [0x1800a6340]
mov rcx, qword [0x1800a62e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a62e8], rax
mov eax, 4
mov word [0x1800a6364], ax
jmp 0x180024426
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
je 0x180024393
mov eax, dword [rsp + 0x48]
shl eax, 7
cdqe
mov qword [0x1800a62f0], rax
movzx eax, byte [0x1800a61fe]
test eax, eax
jne 0x1800242bf
mov dword [rsp + 0x118], 1
jmp 0x1800242ca
mov dword [rsp + 0x118], 0
cmp qword [0x1800a6320], 0
jne 0x1800242e1
mov dword [rsp + 0x114], 1
jmp 0x1800242ec
mov dword [rsp + 0x114], 0
movzx eax, word [rsp + 0x2c]
cwde
test eax, eax
jne 0x180024303
mov dword [rsp + 0x11c], 1
jmp 0x18002430e
mov dword [rsp + 0x11c], 0
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
jne 0x180024327
mov dword [rsp + 0x110], 1
jmp 0x180024332
mov dword [rsp + 0x110], 0
movzx eax, word [0x1800a6244]
cwde
not eax
movsx ecx, word [rsp + 0x30]
imul ecx, dword [rsp + 0x110]
add eax, ecx
test eax, eax
jne 0x18002435c
mov dword [rsp + 0x120], 1
jmp 0x180024367
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x114]
mov ecx, dword [rsp + 0x118]
sub ecx, eax
mov eax, ecx
imul eax, dword [rsp + 0x11c]
add eax, dword [rsp + 0x120]
mov byte [0x1800a622b], al
jmp 0x180024426
movzx eax, byte [0x1800a622e]
movsx eax, al
test eax, eax
jne 0x1800243ba
movzx eax, word [0x1800a6244]
cwde
test eax, eax
jne 0x1800243ba
mov dword [rsp + 0x124], 0
jmp 0x1800243c5
mov dword [rsp + 0x124], 1
movzx eax, word [0x1800a622c]
movzx eax, ax
cmp dword [rsp + 0x124], eax
jne 0x1800243e5
mov dword [rsp + 0x128], 1
jmp 0x1800243f0
mov dword [rsp + 0x128], 0
mov eax, dword [rsp + 0x128]
not eax
test eax, eax
je 0x180024426
mov rax, qword [rsp + 0x60]
add rax, 0xe3
mov qword [0x1800a6300], rax
movzx eax, byte [0x1800a61fe]
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xa8]
add eax, 0x4800
mov dword [rsp + 0x254], eax
movzx eax, byte [0x1800a61fb]
movsx rax, al
cmp rax, qword [0x1800a6330]
ja 0x180024459
call qword [sym.imp.USER32.dll_AnyPopup]
mov byte [rsp + 0x24], al
jmp 0x180024468
movzx eax, byte [0x1800a622b]
inc al
mov byte [0x1800a622b], al
mov eax, dword [rsp + 0xa8]
add eax, 0xac57
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x140
mov dword [rsp + 0x12c], eax
movzx eax, word [0x1800a622c]
movzx eax, ax
test eax, eax
je 0x180024517
mov eax, dword [0x1800a62dc]
movsx ecx, byte [rsp + 0x25]
cmp eax, ecx
jle 0x1800244b9
movzx eax, word [rsp + 0x28]
shl eax, 2
mov byte [rsp + 0x23], al
jmp 0x180024515
movzx eax, word [0x1800a6360]
test eax, eax
je 0x1800244da
cmp qword [rsp + 0x60], 0
je 0x1800244da
mov qword [rsp + 0x2a0], 1
jmp 0x1800244e6
mov qword [rsp + 0x2a0], 0
mov rax, qword [0x1800a6308]
not rax
mov rcx, qword [0x1800a6318]
sub rax, rcx
cmp qword [rsp + 0x2a0], rax
jle 0x180024515
mov rax, qword [rsp + 0x70]
sub rax, 0xdaeb
mov dword [0x1800a6378], eax
jmp 0x18002453b
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x18002453b
mov rax, qword [rsp + 0x90]
xor rax, 0x69ca
mov word [rsp + 0x2c], ax
mov byte [0x1800a61fe], 0x4e
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x2c0], rax
cmp qword [rsp + 0x2c0], 0
je 0x18002457c
mov dword [rsp + 0x250], 1
mov edx, dword [rsp + 0x250]
mov rcx, qword [rsp + 0x2c0]
call qword [sym.imp.USER32.dll_GetSystemMenu]
mov qword [rsp + 0x3d0], rax
mov eax, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x12c]
or eax, ecx
mov ecx, dword [rsp + 0x254]
imul ecx, ecx, 0x57
add eax, ecx
mov ecx, 0x187b22
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x258]
mov edx, dword [rsp + 0x25c]
xor ecx, edx
imul ecx, ecx, 0
add eax, ecx
mov dword [rsp + 0x224], eax
movzx eax, byte [0x1800a622e]
movsx ax, al
mov word [rsp + 0x2c], ax
mov rax, qword [0x1800a6348]
dec rax
mov qword [0x1800a6348], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xac], eax
mov byte [rsp + 0x21], 1
mov rax, qword [rsp + 0x40]
add rax, 0xe0
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x38]
cdqe
movabs rcx, 0xfff76b8932220e13
add rax, rcx
mov rcx, qword [rsp + 0x98]
add rax, rcx
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x21]
mov byte [rsp + 0x264], al
cmp byte [rsp + 0x264], 0
je 0x180024639
jmp 0x180024648
movabs rax, 0x290178ea3909
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xac]
add eax, 0xe8
mov dword [rsp + 0x384], eax
movzx eax, word [0x1800a622c]
movzx eax, ax
cmp rax, qword [rsp + 0x68]
jb 0x180024724
cmp qword [0x1800a6358], 0
je 0x1800246d9
cmp qword [0x1800a6308], 0
je 0x180024695
mov rax, qword [0x1800a6320]
mov qword [rsp + 0x2c8], rax
jmp 0x1800246a6
movzx eax, byte [rsp + 0x20]
movsx rax, al
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x60], rax
movzx eax, word [rsp + 0x2c]
movsx rax, ax
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x180024722
movzx eax, word [rsp + 0x2c]
cwde
not eax
test eax, eax
je 0x180024722
movzx eax, byte [rsp + 0x20]
movsx rax, al
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
add rax, 0xe1
mov word [0x1800a6364], ax
mov eax, dword [0x1800a6354]
mov eax, eax
movabs rcx, 0xaa3b23da72246
sub rax, rcx
mov word [0x1800a6360], ax
jmp 0x180024783
mov eax, dword [rsp + 0x34]
movsx ecx, byte [rsp + 0x25]
cmp eax, ecx
jl 0x180024746
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x180024746
mov dword [rsp + 0x130], 1
jmp 0x180024751
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x130]
not eax
test eax, eax
je 0x180024783
mov eax, 2
imul rax, rax, 0x5b
lea rcx, [0x1803ec690]
movzx edx, word [rsp + 0x28]
mov word [rcx + rax], dx
mov rax, qword [0x1800a62f0]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xac]
add eax, 0x64
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0xac]
add eax, 0xc1cd
mov dword [rsp + 0x388], eax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov byte [0x1800a61ff], al
call qword [sym.imp.USER32.dll_GetCursor]
mov qword [rsp + 0x3a0], rax
mov qword [rsp + 0x3a8], 0
cmp qword [rsp + 0x3a0], 0
je 0x1800247f7
mov rcx, qword [rsp + 0x3a8]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov dword [rsp + 0x38c], eax
mov eax, dword [rsp + 0x280]
mov ecx, 0x7a06
sub ecx, eax
mov eax, ecx
add eax, 0xffff8a02
mov ecx, dword [rsp + 0x138]
mov edx, dword [rsp + 0x134]
add ecx, edx
mov edx, dword [rsp + 0x134]
mov r8d, dword [rsp + 0x138]
xor edx, r8d
sub ecx, edx
mov edx, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0xb0]
sub edx, r8d
mov r8d, dword [rsp + 0xb0]
add r8d, 0x146
imul edx, r8d
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x228], eax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xb4]
add eax, 0x68
mov dword [rsp + 0x26c], eax
mov eax, dword [rsp + 0xb4]
add eax, 0x5c
mov dword [rsp + 0x390], eax
movabs rax, 0xe4780a806394f
mov rcx, qword [0x1800a62e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6358], rax
movzx eax, word [0x1800a6284]
sub eax, 0xaa24c3ae
movzx ecx, word [0x1800a6244]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800a6244], ax
mov eax, dword [rsp + 0xb4]
add eax, 0x129
mov dword [rsp + 0x218], eax
mov dword [0x1800a6384], 0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800a6384]
mov dword [rsp + 0x268], eax
cmp dword [rsp + 0x268], 0
je 0x180024912
jmp 0x18002495c
movzx eax, word [0x1800a6360]
add eax, 0xbd14d71b
mov eax, eax
mov qword [rsp + 0x68], rax
movzx eax, byte [0x1800a622e]
movsx eax, al
test eax, eax
je 0x180024942
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x2d0], rax
jmp 0x180024950
mov eax, dword [0x1800a637c]
mov qword [rsp + 0x2d0], rax
movzx eax, byte [rsp + 0x2d0]
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x26c]
mov ecx, dword [rsp + 0x218]
xor eax, ecx
xor eax, 0x13a
mov ecx, dword [rsp + 0x13c]
mov edx, dword [rsp + 0x13c]
add ecx, edx
mov edx, dword [rsp + 0x140]
mov r8d, dword [rsp + 0x140]
sub edx, r8d
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x22c], eax
lea rax, [rsp + 0x3d8]
lea rcx, str.x_cp20001
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x3d8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xb8], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0x3b0], 0
cmp qword [rsp + 0x2d8], 0
je 0x180024a32
mov dword [rsp + 0x21c], 1
mov r8d, dword [rsp + 0x21c]
mov rdx, qword [rsp + 0x3b0]
mov rcx, qword [rsp + 0x2d8]
call qword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [rsp + 0x394], eax
mov eax, dword [rsp + 0x220]
mov ecx, dword [rsp + 0xb8]
add eax, ecx
mov dword [rsp + 0x15c], eax
movzx eax, word [0x1800a6364]
test eax, eax
je 0x180024a65
mov rax, qword [0x1800a6358]
mov qword [rsp + 0x2e0], rax
jmp 0x180024a76
movzx eax, byte [rsp + 0x20]
movsx rax, al
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [0x1800a6310], rax
mov eax, dword [rsp + 0x224]
mov ecx, dword [rsp + 0xb8]
add eax, ecx
mov dword [rsp + 0x230], eax
mov qword [0x1800a6318], 0x7828
mov eax, dword [rsp + 0x228]
mov ecx, dword [rsp + 0xb8]
add eax, ecx
mov dword [rsp + 0x398], eax
movzx eax, byte [rsp + 0x20]
movsx rax, al
cmp qword [0x1800a62e8], rax
jbe 0x180024add
mov dword [rsp + 0x148], 1
jmp 0x180024ae8
mov dword [rsp + 0x148], 0
cmp qword [0x1800a62e8], 0x46
jbe 0x180024aff
mov dword [rsp + 0x144], 1
jmp 0x180024b0a
mov dword [rsp + 0x144], 0
mov eax, dword [rsp + 0x144]
cmp dword [rsp + 0x148], eax
jg 0x180024bbc
mov qword [0x1800a6300], 1
cmp qword [rsp + 0x80], 0
jne 0x180024b42
mov qword [rsp + 0x2e8], 1
jmp 0x180024b4e
mov qword [rsp + 0x2e8], 0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x2e8]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x20], al
mov qword [rsp + 0x58], 0x7d5932c3
mov rax, qword [0x1800a6300]
mov qword [rsp + 0x2f0], rax
cmp qword [rsp + 0x2f0], 0
je 0x180024b98
cmp qword [rsp + 0x2f0], 1
je 0x180024baa
jmp 0x180024bbc
movsx eax, byte [0x1800a622f]
xor eax, 0xf835
mov byte [rsp + 0x25], al
jmp 0x180024bbc
movsx eax, byte [rsp + 0x25]
movsx ecx, byte [0x1800a6243]
add eax, ecx
mov byte [rsp + 0x25], al
mov qword [rsp + 0x200], 0
movzx eax, word [rsp + 0x28]
test eax, eax
je 0x180024d18
mov qword [0x1800a6348], 4
movzx eax, byte [rsp + 0x23]
movzx eax, al
add eax, 0xc5
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x38]
sub eax, 0x669ca83f
mov dword [rsp + 0x48], eax
mov rax, qword [0x1800a6348]
mov qword [rsp + 0x1e8], rax
cmp qword [rsp + 0x1e8], 0
je 0x180024c58
cmp qword [rsp + 0x1e8], 1
je 0x180024c9e
cmp qword [rsp + 0x1e8], 2
je 0x180024cb5
cmp qword [rsp + 0x1e8], 3
je 0x180024cc7
cmp qword [rsp + 0x1e8], 4
je 0x180024cfc
jmp 0x180024d16
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
jne 0x180024c71
mov dword [rsp + 0x14c], 1
jmp 0x180024c7c
mov dword [rsp + 0x14c], 0
xor eax, eax
sub eax, dword [rsp + 0x14c]
mov dword [rsp + 0x4c], eax
mov rax, qword [0x1800a6338]
shl rax, 8
mov qword [rsp + 0x98], rax
jmp 0x180024d16
mov rax, qword [rsp + 0x80]
sub rax, 0xf6
mov qword [0x1800a6310], rax
jmp 0x180024d16
mov rax, qword [0x1800a6308]
add rax, 0x46
mov word [rsp + 0x30], ax
jmp 0x180024d16
mov rax, qword [0x1800a6330]
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, byte [rsp + 0x26]
movzx eax, al
mov rcx, qword [0x1800a6310]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6310], rax
jmp 0x180024d16
movsx eax, byte [0x1800a61ff]
add eax, 0xda3c
mov dword [0x1800a637c], eax
mov dword [rsp + 0x34], 4
jmp 0x180024d35
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x180024d35
mov eax, dword [0x1800a6354]
add eax, dword [0x1800a637c]
mov eax, eax
mov qword [0x1800a6320], rax
mov qword [rsp + 0x1f8], 0
mov rax, qword [0x1800a62e0]
sub rax, 0xd2
mov qword [0x1800a6370], rax
movzx eax, byte [0x1800a622e]
movsx rax, al
movabs rcx, 0x4019d2fc57f86
add rax, rcx
mov ecx, dword [0x1800a6354]
not ecx
mov ecx, ecx
sub rax, rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x278], 0
mov rcx, qword [rsp + 0x98]
call qword [sym.imp.USER32.dll_OpenIcon]
mov eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x210], 0
movzx eax, byte [rsp + 0x22]
cmp rax, qword [rsp + 0x78]
jl 0x180024dc5
mov dword [rsp + 0x154], 1
jmp 0x180024dd0
mov dword [rsp + 0x154], 0
movzx eax, byte [rsp + 0x22]
cmp eax, 4
jl 0x180024de7
mov dword [rsp + 0x150], 1
jmp 0x180024df2
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
mov dword [rsp + 0xd8], 0
movzx eax, word [rsp + 0x418]
mov r8d, 0xa
mov edx, eax
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0x200], rax
cmp qword [rsp + 0x200], 0
je 0x180026012
mov qword [rsp + 0x60], 4
mov rax, qword [rsp + 0x80]
add rax, 0x512fd433
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1f0], rax
cmp qword [rsp + 0x1f0], 0
je 0x180024ea1
cmp qword [rsp + 0x1f0], 1
je 0x180024eb8
cmp qword [rsp + 0x1f0], 2
je 0x180024ecf
cmp qword [rsp + 0x1f0], 3
je 0x180024ef1
cmp qword [rsp + 0x1f0], 4
je 0x180024f04
jmp 0x180024f6c
mov rax, qword [0x1800a6310]
sub rax, 0x67ee547a
mov qword [rsp + 0x68], rax
jmp 0x180024f6c
movzx eax, word [rsp + 0x28]
imul eax, eax, 0x984e
mov word [0x1800a622c], ax
jmp 0x180024f6c
mov eax, dword [0x1800a6384]
shl eax, 8
cdqe
mov qword [0x1800a62f8], rax
mov rax, qword [rsp + 0x68]
shr rax, 8
mov qword [rsp + 0x70], rax
jmp 0x180024f6c
movzx eax, byte [rsp + 0x20]
movsx eax, al
add eax, 0x5b2a1ff1
mov byte [rsp + 0x23], al
jmp 0x180024f6c
mov rax, qword [rsp + 0x50]
add rax, 0xe3f0
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
jne 0x180024f38
mov dword [rsp + 0x158], 1
jmp 0x180024f43
mov dword [rsp + 0x158], 0
movsx rax, word [0x1800a636c]
imul rax, qword [0x1800a6310]
movzx ecx, word [0x1800a6284]
add ecx, dword [rsp + 0x158]
movsxd rcx, ecx
imul rax, rcx
mov byte [rsp + 0x23], al
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xbc]
add eax, 0x135
mov dword [rsp + 0x328], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov word [0x1800a62c4], ax
movzx eax, word [0x1800a62c4]
movzx eax, ax
test eax, eax
je 0x180024fa9
jmp 0x180024fe9
mov rax, qword [rsp + 0x90]
not rax
mov rcx, qword [0x1800a6328]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [0x1800a62e0]
mov rcx, qword [rsp + 0x40]
add rax, rcx
mov rcx, qword [0x1800a62e0]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a62e0], rax
mov eax, dword [rsp + 0xbc]
add eax, 0x175
mov dword [rsp + 0x184], eax
cmp qword [0x1800a6330], 0
je 0x180025008
jmp 0x180025035
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180025025
movsx rax, byte [rsp + 0x25]
mov rcx, qword [rsp + 0x58]
cmp rax, rcx
jb 0x180025035
mov eax, dword [rsp + 0x34]
sub eax, 0x21b90438
cdqe
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0xbc]
add eax, 0x103
mov dword [rsp + 0x188], eax
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov qword [rsp + 0x1f8], rax
cmp qword [rsp + 0x1f8], 0
je 0x180025089
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [rsp + 0x2f8], rax
jmp 0x180025095
mov qword [rsp + 0x2f8], 0
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x278], rax
mov eax, dword [rsp + 0x22c]
imul eax, eax, 0x1c6
mov ecx, dword [rsp + 0x230]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x15c]
mov edx, dword [rsp + 0x15c]
imul ecx, edx
cmp eax, ecx
je 0x180026012
movzx eax, word [0x1800a6284]
mov rcx, qword [rsp + 0x98]
not rcx
and rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xc0], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov word [0x1800a622c], ax
mov eax, dword [rsp + 0xc0]
add eax, 0x226b
mov dword [rsp + 0x32c], eax
mov eax, dword [rsp + 0xc0]
add eax, 0xc6
mov dword [rsp + 0x234], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x208], rax
cmp qword [rsp + 0x208], 0
je 0x180025188
mov rcx, qword [rsp + 0x208]
call qword [sym.imp.USER32.dll_IsWindow]
mov dword [rsp + 0x330], eax
mov rcx, qword [rsp + 0x208]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [rsp + 0x364], eax
mov rcx, qword [rsp + 0x208]
call qword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [rsp + 0x334], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x11e
mov dword [rsp + 0x338], eax
mov rax, qword [0x1800a6308]
sar rax, 1
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x234]
imul eax, eax, 0x86
mov ecx, 0x69d6
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x23c], eax
movzx eax, word [0x1800a6364]
add eax, dword [0x1800a637c]
mov word [0x1800a6364], ax
movsx rax, word [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
sub rax, rcx
test rax, rax
jne 0x1800251fb
mov dword [rsp + 0x160], 1
jmp 0x180025206
mov dword [rsp + 0x160], 0
movzx eax, byte [rsp + 0x26]
movzx eax, al
mov ecx, dword [rsp + 0x160]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x22]
imul eax, ecx
cdqe
mov qword [rsp + 0x50], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x48e9
mov dword [rsp + 0x168], eax
mov eax, dword [0x1800a626c]
inc eax
mov dword [0x1800a626c], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x72ef
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x3bd8
mov dword [rsp + 0x34c], eax
movzx eax, byte [0x1803be0b0]
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x164]
sub eax, ecx
mov ecx, dword [rsp + 0x164]
mov edx, dword [rsp + 0x168]
xor ecx, edx
add eax, ecx
mov ecx, 0x1319
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x240], eax
mov rax, qword [rsp + 0x78]
sar rax, 6
mov qword [0x1800a62e0], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
cmp rax, rcx
jge 0x18002530d
mov eax, dword [0x1803be0b0]
mov qword [0x1800a6308], rax
movzx eax, byte [rsp + 0x20]
movsx eax, al
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
jmp 0x18002546c
cmp qword [rsp + 0x68], 0
je 0x180025347
mov rax, qword [0x1800a6320]
shr rax, 5
mov word [0x1800a6360], ax
mov eax, 4
imul rax, rax, 0x31a4
lea rcx, [0x1805b56d0]
mov eax, dword [rcx + rax]
mov qword [rsp + 0x50], rax
jmp 0x18002546c
movzx eax, byte [rsp + 0x26]
movzx eax, al
cmp eax, 0x9d3ae5e7
jne 0x180025363
mov dword [rsp + 0x170], 1
jmp 0x18002536e
mov dword [rsp + 0x170], 0
movsx eax, byte [0x1800a61ff]
test eax, eax
jge 0x180025386
mov dword [rsp + 0x16c], 1
jmp 0x180025391
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x16c]
cmp dword [rsp + 0x170], eax
jg 0x1800253d4
movsx eax, word [rsp + 0x30]
imul eax, eax, 0x693c50bf
cdqe
mov qword [0x1800a62e0], rax
mov eax, dword [rsp + 0x34]
cdqe
mov ecx, 8
imul rcx, rcx, 0x54
lea rdx, [0x18055fc00]
mov qword [rdx + rcx], rax
jmp 0x18002546c
movzx eax, word [rsp + 0x28]
test eax, eax
jne 0x1800253eb
mov qword [rsp + 0x300], 1
jmp 0x1800253f7
mov qword [rsp + 0x300], 0
mov rax, qword [rsp + 0x58]
cmp rax, qword [rsp + 0x300]
ja 0x180025413
mov dword [rsp + 0x174], 1
jmp 0x18002541e
mov dword [rsp + 0x174], 0
mov rax, qword [rsp + 0x58]
not rax
movzx ecx, byte [rsp + 0x20]
movsx rcx, cl
sub rax, rcx
mov ecx, dword [rsp + 0x174]
not ecx
movsxd rcx, ecx
sub rax, rcx
test rax, rax
je 0x18002546c
movzx eax, byte [0x1800a622b]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x38]
cdqe
movabs rcx, 0x4fdcf228ea584
add rax, rcx
mov word [0x1800a6380], ax
mov eax, dword [rsp + 0xc8]
add eax, 0x5040
mov dword [rsp + 0x33c], eax
movzx eax, word [0x1800a6350]
movzx eax, ax
test eax, eax
je 0x1800254cd
movzx eax, byte [0x1800a622b]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetParent]
mov byte [rsp + 0x22], al
movzx eax, byte [rsp + 0x22]
test eax, eax
jl 0x1800254ab
jmp 0x1800254cb
movzx eax, byte [0x1800a61fb]
movsx rax, al
movabs rcx, 0xa7043d391f272
imul rax, rcx
mov qword [0x1800a62e8], rax
jmp 0x1800254e3
movzx eax, byte [rsp + 0x21]
movsx eax, al
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
add eax, ecx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xc8]
add eax, 0x462a
mov dword [rsp + 0x354], eax
movsx eax, byte [0x1800a6243]
mov ecx, dword [rsp + 0x48]
cmp eax, ecx
jne 0x180025538
lea rax, [rsp + 0x3b8]
lea rcx, str.Get_unlock_key
mov rdi, rax
mov rsi, rcx
mov ecx, 0xf
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x3b8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1800a6364], ax
jmp 0x18002557f
movzx eax, byte [rsp + 0x26]
movzx eax, al
test eax, eax
je 0x18002557f
movzx eax, word [0x1800a6244]
movsx rax, ax
sub rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
imul rcx, rax
mov rax, rcx
mov qword [0x1800a6300], rax
movzx eax, word [0x1800a6350]
movzx eax, ax
add eax, 0x5b573bca
cdqe
mov qword [0x1800a6340], rax
mov eax, dword [rsp + 0xc8]
add eax, 0xefeb
mov dword [rsp + 0x348], eax
mov eax, dword [rsp + 0x48]
sar eax, 6
mov byte [rsp + 0x23], al
mov dword [0x1800a6354], 0xd352ce6c
movzx eax, byte [0x1800a61fb]
movsx eax, al
movsx ecx, byte [rsp + 0x24]
mov edx, dword [0x1800a6354]
add edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x180025698
mov eax, 0x9db49658
mov rcx, qword [0x1800a6358]
add rcx, rax
mov rax, rcx
mov word [0x1800a636c], ax
mov rax, qword [0x1800a62f8]
mov ecx, dword [rsp + 0x4c]
add ecx, 0x2b44
movsxd rcx, ecx
cmp rax, rcx
jne 0x180025698
mov eax, dword [0x1800a6354]
not eax
imul eax, eax, 0x34e9de0
mov eax, eax
mov rcx, qword [rsp + 0x58]
imul rax, rcx
mov dword [rsp + 0x48], eax
movzx eax, word [rsp + 0x28]
mov rcx, qword [0x1800a6300]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6300]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6300], rax
jmp 0x18002559d
movzx eax, word [0x1800a62c4]
movzx eax, ax
mov ecx, dword [0x1800a62dc]
cmp eax, ecx
jge 0x1800256b9
mov dword [rsp + 0x180], 1
jmp 0x1800256c4
mov dword [rsp + 0x180], 0
movzx eax, word [0x1800a62c4]
movzx eax, ax
cmp eax, 7
jge 0x1800256e0
mov dword [rsp + 0x17c], 1
jmp 0x1800256eb
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x17c]
cmp dword [rsp + 0x180], eax
jge 0x180025708
mov eax, dword [rsp + 0x98]
mov dword [0x1800a637c], eax
mov eax, dword [rsp + 0x188]
mov ecx, dword [rsp + 0x184]
sub eax, ecx
mov ecx, dword [rsp + 0x184]
mov edx, dword [rsp + 0x188]
sub ecx, edx
lea eax, [rax + rcx + 0x292]
mov dword [rsp + 0x244], eax
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
je 0x180025759
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov ecx, eax
call qword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov eax, eax
mov qword [rsp + 0x68], rax
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xf0], eax
movzx eax, byte [rsp + 0x22]
mov ecx, eax
call qword [sym.imp.USER32.dll_IsZoomed]
mov dword [0x1800a626c], eax
mov eax, dword [rsp + 0xf0]
add eax, 0xbb
mov dword [rsp + 0x238], eax
mov rax, qword [0x1800a62e0]
movabs rcx, 0x429701e08e949
add rax, rcx
mov byte [0x1800a6243], al
movzx eax, word [rsp + 0x2c]
dec ax
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0xf0]
add eax, 0x3189
mov dword [rsp + 0x344], eax
mov byte [rsp + 0x20], 0xfb
mov eax, dword [rsp + 0xf0]
add eax, 0xb7
mov dword [rsp + 0x340], eax
mov rax, qword [0x1800a62e8]
cmp qword [rsp + 0x78], rax
jbe 0x1800257f9
mov dword [rsp + 0x190], 1
jmp 0x180025804
mov dword [rsp + 0x190], 0
cmp qword [rsp + 0x78], 0x59
jle 0x180025819
mov dword [rsp + 0x18c], 1
jmp 0x180025824
mov dword [rsp + 0x18c], 0
mov eax, dword [rsp + 0x18c]
cmp dword [rsp + 0x190], eax
jle 0x1800259ce
movzx eax, word [rsp + 0x2c]
cwde
movsx ecx, byte [0x1800a6243]
cmp eax, ecx
jge 0x180025856
mov dword [rsp + 0x198], 1
jmp 0x180025861
mov dword [rsp + 0x198], 0
movzx eax, word [rsp + 0x2c]
cwde
cmp eax, 0x5e
jge 0x180025879
mov dword [rsp + 0x194], 1
jmp 0x180025884
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
cmp dword [rsp + 0x198], eax
jne 0x1800259a7
movzx eax, word [0x1800a62c4]
movzx eax, ax
movsx ecx, word [rsp + 0x30]
add eax, ecx
movzx ecx, word [0x1800a62c4]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1800a62c4], ax
cmp qword [0x1800a6328], 0
jne 0x1800258d5
mov dword [rsp + 0x19c], 1
jmp 0x1800258e0
mov dword [rsp + 0x19c], 0
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
jne 0x1800258f9
mov dword [rsp + 0x1a0], 1
jmp 0x180025904
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x34]
not eax
cdqe
imul rax, qword [rsp + 0x98]
movsx ecx, word [0x1800a636c]
not ecx
movsx edx, byte [rsp + 0x25]
xor ecx, edx
movsxd rcx, ecx
imul rax, rcx
test rax, rax
jne 0x18002593e
mov dword [rsp + 0x1a4], 1
jmp 0x180025949
mov dword [rsp + 0x1a4], 0
movzx eax, word [rsp + 0x2c]
cwde
not eax
mov ecx, dword [rsp + 0x19c]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800a61fe]
mov edx, dword [rsp + 0x1a0]
sub edx, ecx
mov ecx, edx
not ecx
imul eax, ecx
sub eax, dword [rsp + 0x1a4]
test eax, eax
jne 0x18002598c
mov qword [rsp + 0x308], 1
jmp 0x180025998
mov qword [rsp + 0x308], 0
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x58], rax
jmp 0x1800259c9
mov rax, qword [0x1800a6308]
add rax, 0xd8
mov ecx, dword [0x1800a6384]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [0x1800a6384], eax
jmp 0x180025aef
mov rax, qword [rsp + 0x58]
cmp rax, qword [0x1800a62e8]
jne 0x1800259e9
mov dword [rsp + 0x48], 0xe141fba4
jmp 0x180025aef
cmp dword [0x1800a637c], 0
je 0x180025a96
movzx eax, word [0x1800a6284]
test eax, eax
jne 0x180025a0e
mov dword [rsp + 0x1a8], 1
jmp 0x180025a19
mov dword [rsp + 0x1a8], 0
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov ecx, dword [rsp + 0x1a8]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x180025a3e
mov qword [rsp + 0x310], 1
jmp 0x180025a4a
mov qword [rsp + 0x310], 0
movsx eax, byte [0x1800a6243]
movzx ecx, word [rsp + 0x28]
imul ecx, ecx, 0x245ad0ae
add eax, ecx
cdqe
mov rcx, qword [rsp + 0x58]
not rcx
mov rdx, qword [0x1800a62f0]
imul rdx, rcx
mov rcx, rdx
not rcx
mov rdx, qword [rsp + 0x310]
add rdx, rax
mov rax, rdx
add rcx, rax
mov rax, rcx
mov qword [0x1800a6340], rax
jmp 0x180025aef
movzx eax, byte [0x1800a61fe]
test eax, eax
je 0x180025aba
mov rax, qword [0x1800a6370]
test rax, rax
je 0x180025aba
mov dword [rsp + 0x1ac], 1
jmp 0x180025ac5
mov dword [rsp + 0x1ac], 0
mov eax, dword [rsp + 0x1ac]
not eax
test eax, eax
je 0x180025aef
movsx eax, word [rsp + 0x30]
movzx ecx, byte [0x1800a622b]
imul eax, ecx
movsx ecx, word [rsp + 0x30]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x238]
add eax, 0x80fa
xor eax, 0x8334
mov dword [rsp + 0x248], eax
cmp qword [rsp + 0x278], 0
je 0x180026012
cmp qword [rsp + 0x60], 0
jne 0x180025b2c
mov qword [rsp + 0x318], 1
jmp 0x180025b38
mov qword [rsp + 0x318], 0
mov rax, qword [0x1800a6308]
not rax
mov rcx, qword [0x1800a6310]
mov rdx, qword [rsp + 0x318]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
mov byte [0x1800a622e], al
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
je 0x180025c47
mov eax, dword [0x1800a62dc]
cmp eax, 0xd7f6
je 0x180025b9f
mov rax, qword [0x1800a6328]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180025c45
movzx eax, word [0x1800a6244]
cwde
test eax, eax
je 0x180025bde
mov rax, qword [rsp + 0x58]
add rax, 0xfb
mov qword [0x1800a6340], rax
movzx eax, word [0x1800a6364]
mov ecx, dword [rsp + 0x38]
add eax, ecx
movzx ecx, word [0x1800a6364]
sub ecx, eax
mov eax, ecx
mov word [0x1800a6364], ax
jmp 0x180025c45
cmp qword [rsp + 0x70], 0
je 0x180025c45
mov eax, dword [rsp + 0x38]
cdqe
movabs rcx, 0xf0d8d7d8b14fa
imul rax, rcx
movzx ecx, byte [0x1800a61fe]
sub rcx, rax
mov rax, rcx
mov byte [0x1800a61fe], al
cmp dword [0x1800a6368], 0
je 0x180025c28
mov eax, dword [0x1800a6378]
cdqe
mov qword [rsp + 0x320], rax
jmp 0x180025c38
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x320], rax
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x50], rax
jmp 0x180025c5f
cmp qword [rsp + 0x70], 0
je 0x180025c5f
movzx eax, word [rsp + 0x28]
add eax, 0xbae8be70
mov byte [0x1800a622b], al
mov eax, dword [0x1803be0b0]
mov dword [rsp + 0xd0], eax
mov rax, qword [0x1800a6338]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jbe 0x180025c8a
mov dword [rsp + 0x1b4], 1
jmp 0x180025c95
mov dword [rsp + 0x1b4], 0
mov rax, qword [0x1800a6338]
cmp rax, 0x48
jbe 0x180025caf
mov dword [rsp + 0x1b0], 1
jmp 0x180025cba
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jge 0x180025cf0
mov eax, 2
imul rax, rax, 0x2d
lea rcx, [0x180612380]
movsx eax, word [rcx + rax]
movzx ecx, byte [rsp + 0x26]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x26], al
jmp 0x180025d6d
mov rax, qword [0x1800a6318]
not rax
mov ecx, dword [0x1800a637c]
cmp rax, rcx
jle 0x180025d12
mov dword [rsp + 0x1b8], 1
jmp 0x180025d1d
mov dword [rsp + 0x1b8], 0
movzx eax, word [0x1800a622c]
movzx eax, ax
not eax
cmp dword [rsp + 0x1b8], eax
jne 0x180025d6d
movabs rax, 0xbdefc7914b383
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x2c]
movsx rax, ax
movabs rcx, 0x4347cadc73cc7
sub rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x23c]
mov ecx, dword [rsp + 0xd0]
add eax, ecx
mov dword [rsp + 0x24c], eax
mov eax, dword [rsp + 0x4c]
cdqe
movabs rcx, 0xeed401dbb9f61
add rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x240]
mov ecx, dword [rsp + 0xd0]
add eax, ecx
mov dword [rsp + 0x350], eax
mov eax, dword [rsp + 0x244]
mov ecx, dword [rsp + 0xd0]
add eax, ecx
mov dword [rsp + 0xd4], eax
movabs rax, 0x797d5edfd6131
mov qword [0x1800a6300], rax
movzx eax, word [0x1800a6350]
movzx eax, ax
mov rcx, qword [rsp + 0x90]
mov edx, 0xa102a241
add rcx, rdx
cmp rax, rcx
jne 0x180025e21
movzx eax, word [0x1800a6360]
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
add eax, ecx
cmp eax, 1
jne 0x180025e21
jmp 0x180025dca
mov eax, dword [rsp + 0xd4]
imul eax, eax, 0x33d
mov ecx, dword [rsp + 0xd4]
mov edx, dword [rsp + 0xd4]
add ecx, edx
mov edx, dword [rsp + 0x248]
mov edi, dword [rsp + 0x24c]
add edx, edi
add ecx, edx
cmp eax, ecx
je 0x180026012
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov eax, eax
mov rcx, qword [rsp + 0x420]
mov qword [rcx], rax
mov rax, qword [rsp + 0x420]
mov eax, dword [rax]
mov dword [rsp + 0xd8], eax
movsxd rax, dword [rsp + 0xd8]
inc rax
mov rcx, rax
call fcn.1800765e8
mov qword [rsp + 0x210], rax
cmp qword [rsp + 0x210], 0
je 0x180026012
mov qword [0x1800a6328], 2
mov rax, qword [0x1800a6348]
inc rax
mov qword [0x1800a6348], rax
movzx eax, word [0x1800a6364]
shl eax, 6
mov word [rsp + 0x28], ax
mov rax, qword [0x1800a6328]
mov qword [rsp + 0x270], rax
cmp qword [rsp + 0x270], 0
je 0x180025f16
cmp qword [rsp + 0x270], 1
je 0x180025f5a
cmp qword [rsp + 0x270], 2
je 0x180025f8f
jmp 0x180025fe7
movzx eax, word [0x1800a6364]
sub rax, qword [rsp + 0x80]
movzx ecx, word [0x1800a6364]
sub rcx, rax
mov rax, rcx
mov word [0x1800a6364], ax
movabs rax, 0x7b6b55394e70
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6330], rax
jmp 0x180025fe7
mov rax, qword [rsp + 0x90]
mov ecx, 0xb90ecdc9
add rax, rcx
mov dword [0x1800a6354], eax
movzx eax, byte [rsp + 0x26]
movzx eax, al
sub eax, 0x95
movzx ecx, byte [rsp + 0x21]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
jmp 0x180025fe7
movzx eax, word [0x1800a622c]
movzx eax, ax
mov rcx, qword [0x1800a62f8]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x180025fb9
mov dword [rsp + 0x1bc], 1
jmp 0x180025fc4
mov dword [rsp + 0x1bc], 0
movzx eax, word [0x1800a6380]
cwde
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
not ecx
and eax, ecx
sub eax, dword [rsp + 0x1bc]
not eax
mov dword [0x1800a637c], eax
movsxd rax, dword [rsp + 0xd8]
mov rdi, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x278]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_FreeResource]
movzx eax, word [rsp + 0x28]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x210]
add rsp, 0x3f8
pop rdi
pop rsi
ret