Function at 0x18003f050
Capabilities:
Enumerate process modules
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x3f8
mov eax, dword [0x1800a6698]
mov dword [rsp + 0x320], eax
mov dword [rsp + 0x44], 0xd4
mov byte [rsp + 0x23], 0x40
movzx eax, word [0x1800a668c]
mov dword [rsp + 0x48], eax
mov rax, qword [0x1800a6668]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1800a65a7]
mov byte [rsp + 0x22], al
mov dword [rsp + 0x4c], 0xc2
mov eax, dword [0x1800a6688]
mov qword [rsp + 0x58], rax
mov eax, 0xec
mov word [rsp + 0x34], ax
movsx ax, byte [0x1800a658f]
mov word [rsp + 0x2c], ax
movzx eax, word [0x1800a6694]
movzx eax, ax
mov qword [rsp + 0xa0], rax
mov byte [rsp + 0x24], 0x4e
movzx eax, word [0x1800a66b4]
mov word [rsp + 0x40], ax
movabs rax, 0x189f36a333979
mov qword [rsp + 0x70], rax
movzx eax, word [0x1800a66b4]
movsx rax, ax
mov qword [rsp + 0x60], rax
movsxd rax, dword [0x1800a66c8]
mov qword [rsp + 0x80], rax
mov rax, qword [0x1800a66d0]
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x21], 0xd9
mov eax, dword [0x1800a663c]
mov word [rsp + 0x28], ax
movzx eax, word [0x1800a660c]
mov dword [rsp + 0x3c], eax
mov byte [rsp + 0x25], 0x90
movzx eax, byte [0x1800a6670]
mov byte [rsp + 0x20], al
mov qword [rsp + 0x78], 0x3e5e1a62
mov qword [rsp + 0x68], 0x3708b052
mov dword [rsp + 0x38], 0xae47b06e
movzx eax, byte [0x1800a6566]
mov byte [rsp + 0x109], al
mov rax, qword [0x1800a6668]
mov dword [rsp + 0x324], eax
movzx eax, byte [0x1800a65a6]
mov byte [rsp + 0x108], al
mov rax, qword [0x1800a66d8]
mov dword [rsp + 0x328], eax
mov rax, qword [0x1800a66e0]
mov word [rsp + 0x278], ax
mov dword [rsp + 0x32c], 0x8602481b
mov eax, 0xc7bc
mov word [rsp + 0x27c], ax
mov eax, 0x3044
mov word [rsp + 0x26c], ax
mov byte [rsp + 0xe0], 0x6f
movzx eax, byte [0x1800a65e7]
movsx eax, al
mov dword [rsp + 0x330], eax
mov rcx, qword [0x1800a66b8]
call qword [sym.imp.USER32.dll_IsZoomed]
mov eax, eax
mov qword [0x1800a6680], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x5c5
mov dword [rsp + 0x334], eax
movzx eax, byte [0x1800a65a6]
movzx eax, al
movabs rcx, 0x48ae527c81137
sub rax, rcx
mov byte [0x1800a65e7], al
mov eax, dword [rsp + 0x10c]
add eax, 0x663
mov dword [rsp + 0x28c], eax
movzx eax, word [0x1800a660c]
mov ecx, dword [rsp + 0x3c]
add eax, ecx
mov word [0x1800a660c], ax
movzx eax, byte [rsp + 0x22]
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x72b
mov dword [rsp + 0x290], eax
movzx eax, byte [rsp + 0x22]
add eax, 0x12
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x60]
sub rax, 0x24
mov word [rsp + 0x34], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x110], eax
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_IsIconic]
mov byte [0x1800a65a3], al
movzx eax, byte [0x1800a65a3]
movsx eax, al
test eax, eax
je 0x18003f339
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x18003f31b
mov rax, qword [rsp + 0x58]
add rax, 0xf0a1
mov byte [rsp + 0x21], al
mov dword [rsp + 0x44], 0x92
jmp 0x18003f337
mov rax, qword [0x1800a66a0]
test rax, rax
je 0x18003f337
mov rax, qword [rsp + 0x68]
sar rax, 5
mov qword [0x1800a66d0], rax
jmp 0x18003f375
mov rax, qword [0x1800a6680]
movabs rcx, 0x6b66f83ea554c
imul rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
add rax, 0xc79a
movzx ecx, byte [0x1800a65e7]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x1800a65e7], al
mov eax, dword [rsp + 0x110]
add eax, 0x5d0
mov dword [rsp + 0x358], eax
mov byte [0x1800a658e], 0
movzx eax, word [0x1800a65fc]
movzx eax, ax
imul eax, eax, 0xe1349e30
mov byte [0x1800a65a6], al
movzx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x20]
lea eax, [rcx + rax - 0x6c]
mov byte [rsp + 0x20], al
movzx eax, byte [0x1800a658e]
mov byte [rsp + 0x274], al
cmp byte [rsp + 0x274], 0
je 0x18003f3d1
jmp 0x18003f3e2
movzx eax, word [0x1800a669c]
dec ax
mov word [0x1800a669c], ax
mov eax, dword [rsp + 0x110]
add eax, 0x677
mov dword [rsp + 0x354], eax
mov eax, dword [rsp + 0x110]
add eax, 0x725
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x44]
mov eax, eax
movabs rcx, 0xceb925283e2b8
add rax, rcx
mov byte [rsp + 0x21], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xb4], eax
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800a66cc]
cdqe
movabs rcx, 0xd0392e16f12c6
imul rax, rcx
mov qword [0x1800a66e0], rax
mov eax, dword [rsp + 0xb4]
add eax, 0x5d0
mov dword [rsp + 0x248], eax
movzx eax, word [0x1800a66b4]
cwde
not eax
test eax, eax
je 0x18003f484
jmp 0x18003f4c6
mov rax, qword [rsp + 0x68]
not rax
test rax, rax
je 0x18003f4c6
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, byte [0x1800a65fe]
movsx ecx, cl
sub eax, ecx
cdqe
mov ecx, dword [rsp + 0x4c]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x70]
imul rdx, rcx
mov rcx, rdx
sub rax, rcx
mov qword [0x1800a66d0], rax
mov eax, dword [rsp + 0xb4]
add eax, 0x4d6
mov dword [rsp + 0x1cc], eax
movabs rax, 0xbd3e93ab82d
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov dword [0x1800a66cc], eax
movsx eax, word [rsp + 0x40]
add eax, 0x574d
cdqe
mov qword [0x1800a66a8], rax
mov eax, dword [rsp + 0xb4]
add eax, 0x659
mov dword [rsp + 0x350], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xb8], eax
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x18003f542
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x2d0], rax
jmp 0x18003f551
mov rax, qword [0x1800a66e0]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [0x1800a66b8], rax
mov eax, dword [rsp + 0xb8]
add eax, 0x3ac
mov dword [rsp + 0x34c], eax
mov byte [0x1800a65a3], 2
movzx eax, byte [rsp + 0x23]
movsx eax, al
imul eax, eax, 0x8771024c
movzx ecx, byte [0x1800a65e7]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800a65e7], al
mov eax, dword [rsp + 0x38]
cdqe
movabs rcx, 0x7f9fc00de2fa3
imul rax, rcx
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1800a65a3]
mov byte [rsp + 0x1d4], al
cmp byte [rsp + 0x1d4], 1
je 0x18003f5e1
cmp byte [rsp + 0x1d4], 2
je 0x18003f5f4
jmp 0x18003f66b
movabs rax, 0x2916fe7ec4d75
mov qword [0x1800a6680], rax
jmp 0x18003f66b
movzx eax, byte [rsp + 0x22]
mov dword [rsp + 0x38], eax
cmp dword [0x1800a66c4], 0
jne 0x18003f613
mov dword [rsp + 0x1d8], 1
jmp 0x18003f61e
mov dword [rsp + 0x1d8], 0
cmp dword [0x1800a66e8], 0
jne 0x18003f634
mov dword [rsp + 0x1dc], 1
jmp 0x18003f63f
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1d8]
add eax, 0x18706fe5
movzx ecx, word [0x1800a6694]
movzx ecx, cx
mov edx, dword [rsp + 0x1dc]
sub edx, ecx
mov ecx, edx
sub eax, ecx
cdqe
mov qword [0x1800a66d8], rax
mov eax, dword [rsp + 0xb8]
add eax, 0xd239
mov dword [rsp + 0x348], eax
mov eax, dword [rsp + 0xb8]
add eax, 0x42a
mov dword [rsp + 0x11c], eax
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
je 0x18003f7e8
movzx eax, word [0x1800a6694]
movzx eax, ax
mov ecx, dword [0x1800a66cc]
cmp eax, ecx
jl 0x18003f6c2
mov dword [rsp + 0x1e4], 1
jmp 0x18003f6cd
mov dword [rsp + 0x1e4], 0
movzx eax, word [0x1800a6694]
movzx eax, ax
cmp eax, 0x2b
jl 0x18003f6e9
mov dword [rsp + 0x1e0], 1
jmp 0x18003f6f4
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1e4], eax
jle 0x18003f76b
movzx eax, word [0x1800a66c0]
movzx eax, ax
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
add eax, ecx
mov word [0x1800a66c0], ax
movsx eax, byte [0x1800a658f]
not eax
movzx ecx, byte [rsp + 0x23]
movsx ecx, cl
add eax, ecx
mov ecx, dword [0x1800a66cc]
not ecx
add ecx, 0x34cb2ece
and eax, ecx
test eax, eax
jne 0x18003f753
mov dword [rsp + 0x118], 1
jmp 0x18003f75e
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x4c], eax
jmp 0x18003f7e6
movzx eax, word [0x1800a65fc]
movzx eax, ax
test eax, eax
jne 0x18003f7e6
cmp qword [rsp + 0x70], 0
jne 0x18003f78f
mov qword [rsp + 0x2d8], 1
jmp 0x18003f79b
mov qword [rsp + 0x2d8], 0
mov rax, qword [0x1800a6678]
imul rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x78]
add rax, rcx
test rax, rax
jne 0x18003f7bf
mov byte [rsp + 0x50], 1
jmp 0x18003f7c4
mov byte [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x22], al
imul rax, qword [rsp + 0x70], 0xc7f7
mov ecx, dword [rsp + 0x44]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x44], eax
jmp 0x18003f812
mov qword [0x1800a66a0], 0xc3
movzx eax, byte [rsp + 0x23]
movsx eax, al
and eax, 0xa3
cdqe
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0x11c]
imul eax, ecx
add eax, 0xffeeafcd
mov dword [rsp + 0x218], eax
movzx eax, word [0x1800a669c]
movzx ecx, byte [0x1800a65e6]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [0x1800a669c]
sub ecx, eax
mov eax, ecx
mov word [0x1800a669c], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xbc], eax
mov rax, qword [0x1800a6680]
test rax, rax
je 0x18003f883
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x18003f883
mov dword [rsp + 0x128], 1
jmp 0x18003f88e
mov dword [rsp + 0x128], 0
mov rax, qword [0x1800a6668]
test rax, rax
jne 0x18003f8a7
mov dword [rsp + 0x120], 1
jmp 0x18003f8b2
mov dword [rsp + 0x120], 0
movzx eax, byte [0x1800a65e6]
movzx eax, al
cmp eax, dword [rsp + 0x120]
jne 0x18003f8d2
mov dword [rsp + 0x124], 1
jmp 0x18003f8dd
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x124]
cmp dword [rsp + 0x128], eax
je 0x18003f91e
movzx eax, word [rsp + 0x30]
test eax, eax
je 0x18003f903
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x12c], eax
jmp 0x18003f910
mov eax, dword [0x1800a66c4]
mov dword [rsp + 0x12c], eax
movzx eax, byte [rsp + 0x12c]
mov byte [rsp + 0x25], al
jmp 0x18003f92e
cmp dword [0x1800a66b0], 0
je 0x18003f92e
mov byte [0x1800a65e7], 0xff
mov eax, dword [rsp + 0xbc]
add eax, 0xd7c0
mov dword [rsp + 0x140], eax
movzx eax, byte [rsp + 0x20]
add eax, 0xdb21a2cf
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0xbc]
add eax, 0x367c
mov dword [rsp + 0x294], eax
mov eax, dword [rsp + 0xbc]
add eax, 0x364
mov dword [rsp + 0x268], eax
mov qword [rsp + 0x88], 0xc4
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, byte [rsp + 0x22]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jne 0x18003f9bd
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x18003f9bd
mov dword [rsp + 0x13c], 1
jmp 0x18003f9c8
mov dword [rsp + 0x13c], 0
movsx eax, word [rsp + 0x34]
test eax, eax
je 0x18003f9ea
mov rax, qword [0x1800a6668]
test rax, rax
je 0x18003f9ea
mov dword [rsp + 0x134], 1
jmp 0x18003f9f5
mov dword [rsp + 0x134], 0
movsxd rax, dword [rsp + 0x48]
movabs rcx, 0xfff474c551df7e0b
cmp rax, rcx
je 0x18003fa16
mov dword [rsp + 0x130], 1
jmp 0x18003fa21
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x130]
cmp dword [rsp + 0x134], eax
jne 0x18003fa3e
mov dword [rsp + 0x138], 1
jmp 0x18003fa49
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
cmp dword [rsp + 0x13c], eax
jne 0x18003faf9
mov byte [rsp + 0x20], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x48]
not ecx
movzx edx, word [0x1800a669c]
imul ecx, edx
movsxd rcx, ecx
movabs rdx, 0x651dd6aba8231
add rax, rdx
add rax, rcx
test rax, rax
jne 0x18003fa9d
mov qword [rsp + 0x2e0], 1
jmp 0x18003faa9
mov qword [rsp + 0x2e0], 0
mov rax, qword [0x1800a66a8]
mov rcx, qword [rsp + 0x2e0]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0x270], al
cmp byte [rsp + 0x270], 0
je 0x18003fada
jmp 0x18003faf7
mov rax, qword [0x1800a66d0]
add rax, 0x9d
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18003fb2a
mov rax, qword [rsp + 0x88]
xor rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x21]
movsx ecx, cl
movzx edx, word [0x1800a65fc]
movzx edx, dx
add ecx, edx
mov edx, dword [rsp + 0x4c]
xor ecx, edx
movsxd rcx, ecx
add rax, rcx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x140]
mov ecx, dword [rsp + 0x140]
xor eax, ecx
mov ecx, dword [rsp + 0x268]
mov edx, dword [rsp + 0x294]
xor ecx, edx
add eax, ecx
xor eax, 0x366d
mov ecx, dword [rsp + 0x290]
mov edx, dword [rsp + 0x28c]
xor ecx, edx
imul ecx, ecx, 0
add eax, ecx
mov dword [rsp + 0x21c], eax
mov eax, dword [0x18091bdb0]
mov dword [0x1800a66b0], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xc0], eax
movsx eax, word [0x1800a6690]
test eax, eax
je 0x18003fc68
movzx eax, byte [0x1800a658e]
cmp eax, dword [0x1800a66b0]
ja 0x18003fbf2
mov eax, dword [rsp + 0x3c]
mov eax, eax
xor rax, qword [0x1800a6670]
mov rcx, qword [0x1800a6678]
not rcx
movzx edx, byte [0x1800a6566]
movsx rdx, dl
imul rcx, rdx
xor rax, rcx
movzx ecx, word [0x1800a668c]
movzx edx, word [rsp + 0x30]
mov r8, qword [0x1800a6680]
sub rdx, r8
add rcx, rdx
sub rax, rcx
mov qword [0x1800a66a8], rax
jmp 0x18003fc66
cmp dword [0x1800a6698], 0
je 0x18003fc14
mov eax, dword [rsp + 0x38]
cmp dword [0x1800a6624], eax
jl 0x18003fc14
mov dword [rsp + 0x144], 0
jmp 0x18003fc1f
mov dword [rsp + 0x144], 1
mov eax, dword [rsp + 0x144]
not eax
test eax, eax
je 0x18003fc4a
mov eax, 0xa923105e
mov qword [0x1800a66e0], rax
mov eax, dword [0x1800a66e8]
add eax, 0x47
mov eax, eax
mov qword [rsp + 0x68], rax
jmp 0x18003fc66
xor eax, eax
cmp eax, 0xfe241129
je 0x18003fc66
movzx eax, byte [rsp + 0x21]
movsx eax, al
imul eax, dword [0x1800a66ec]
mov byte [rsp + 0x21], al
jmp 0x18003fcb6
xor eax, eax
cmp eax, 0xbe56
je 0x18003fc80
mov eax, dword [0x1800a6688]
shl eax, 4
mov byte [rsp + 0x23], al
jmp 0x18003fcb6
movzx eax, byte [rsp + 0x24]
movsx eax, al
test eax, eax
je 0x18003fcb6
mov eax, dword [0x1800a6698]
add eax, 0xd808
mov byte [0x1800a65fb], al
movsxd rax, dword [0x1800a66ec]
movabs rcx, 0x4b6a6e74de817
imul rax, rcx
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0xc0]
add eax, 0x7552
mov dword [rsp + 0x288], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x376
mov dword [rsp + 0x340], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x17df
mov dword [rsp + 0x344], eax
movzx eax, byte [rsp + 0x25]
xor eax, 0x47
mov byte [rsp + 0x25], al
movzx eax, word [0x1800a668c]
add eax, 0x417b
cdqe
mov qword [0x1800a66a8], rax
movzx eax, word [rsp + 0x2c]
cwde
sar eax, 4
mov dword [0x1800a66c8], eax
mov eax, dword [rsp + 0x288]
or eax, 0x8fbf
xor eax, 0xa186a4
mov ecx, 0xa17d11
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xac]
mov edx, dword [rsp + 0xac]
sub ecx, edx
mov edx, dword [rsp + 0xac]
mov r8d, dword [rsp + 0xac]
xor edx, r8d
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x220], eax
mov qword [rsp + 0x68], 0
mov eax, dword [0x18091bdb0]
mov dword [0x1800a66e8], eax
mov rax, qword [0x1800a66a0]
mov dword [0x1800a66b0], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x3a0], rax
cmp qword [rsp + 0x3a0], 0
je 0x18003fda3
jmp 0x18003fdcc
movzx eax, byte [rsp + 0x21]
movsx eax, al
shl eax, 2
mov byte [0x1800a6567], al
mov eax, dword [rsp + 0x3c]
mov eax, eax
movabs rcx, 0xa25f3d265e79c
sub rax, rcx
mov word [rsp + 0x34], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xc4], eax
mov byte [0x1800a658e], 3
mov rax, qword [0x1800a66a8]
shr rax, 7
mov byte [0x1800a65fe], al
movzx eax, byte [0x1800a658e]
mov byte [rsp + 0xb0], al
cmp byte [rsp + 0xb0], 0
je 0x18003fe38
cmp byte [rsp + 0xb0], 1
je 0x18003fea3
cmp byte [rsp + 0xb0], 2
je 0x18003fef5
cmp byte [rsp + 0xb0], 3
je 0x18003ff23
jmp 0x18003ff30
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, word [rsp + 0x30]
movzx edx, word [rsp + 0x28]
movzx edx, dx
sub ecx, edx
add eax, ecx
cdqe
mov ecx, dword [0x1800a66ec]
mov edx, dword [rsp + 0x48]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
movsx rdx, byte [0x1800a658f]
mov r8, qword [rsp + 0x60]
sub r8, rdx
mov rdx, r8
not rdx
sub rcx, rdx
not rcx
sub rax, rcx
mov dword [rsp + 0x4c], eax
movzx eax, byte [rsp + 0x24]
movsx eax, al
movsx ecx, word [0x1800a6690]
sub eax, ecx
mov byte [rsp + 0x24], al
jmp 0x18003ff30
mov eax, dword [0x1800a663c]
test eax, eax
je 0x18003febe
mov rax, qword [0x1800a6670]
mov qword [rsp + 0x2e8], rax
jmp 0x18003fed1
movzx eax, byte [0x1800a65a3]
movsx rax, al
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x70], rax
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18003ff30
movzx eax, word [rsp + 0x2c]
cwde
movzx ecx, word [rsp + 0x30]
add eax, ecx
mov word [rsp + 0x2c], ax
movzx eax, byte [0x1800a65fe]
movsx eax, al
mov ecx, dword [0x1800a6688]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a6688], eax
jmp 0x18003ff30
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xc4]
add eax, 0x3ba
mov dword [rsp + 0x1f8], eax
mov byte [0x1800a658e], 4
movzx eax, byte [0x1800a65fe]
movsx eax, al
sar eax, 4
mov word [rsp + 0x28], ax
mov rax, qword [rsp + 0x70]
sub rax, 0x1ee127ee
mov qword [rsp + 0x68], rax
movzx eax, byte [0x1800a658e]
mov byte [rsp + 0x90], al
cmp byte [rsp + 0x90], 0
je 0x18003ffb9
cmp byte [rsp + 0x90], 1
je 0x18003ffe2
cmp byte [rsp + 0x90], 2
je 0x180040001
cmp byte [rsp + 0x90], 3
je 0x180040026
cmp byte [rsp + 0x90], 4
je 0x180040037
jmp 0x180040041
mov rax, qword [rsp + 0x58]
imul rax, rax, 0x400df9e9
mov word [0x1800a668c], ax
movzx eax, byte [rsp + 0x20]
xor rax, qword [rsp + 0x80]
mov qword [0x1800a66e0], rax
jmp 0x180040041
movzx eax, byte [0x1800a6566]
movsx eax, al
sub eax, 0x3cdbf88d
movsx ecx, word [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x34], ax
jmp 0x180040041
mov rax, qword [rsp + 0x58]
add rax, 0xaf
mov byte [rsp + 0x22], al
movzx eax, byte [rsp + 0x23]
movsx eax, al
add eax, 0x520a
cdqe
mov qword [rsp + 0x78], rax
jmp 0x180040041
movabs rax, 0x25fe5c5932b69
mov qword [rsp + 0x58], rax
jmp 0x180040041
mov eax, 0x4a
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0xc4]
add eax, 0x4350
mov dword [rsp + 0x33c], eax
movzx eax, byte [0x1800a65a6]
movzx eax, al
movabs rcx, 0xa79ec5a4e19f3
add rax, rcx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x1800a66b0]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a66b0]
and ecx, eax
mov eax, ecx
mov dword [0x1800a66b0], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x2d8e
mov dword [rsp + 0x1fc], eax
mov eax, 2
mov word [0x1800a669c], ax
movzx eax, byte [0x1800a65a7]
mov byte [0x1800a65e6], al
movzx eax, word [0x1800a669c]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x1800400e7
cmp dword [rsp + 0xc8], 1
je 0x180040126
cmp dword [rsp + 0xc8], 2
je 0x18004014c
jmp 0x18004015a
movzx eax, word [rsp + 0x28]
movzx eax, ax
test eax, eax
je 0x180040104
mov rax, qword [0x1800a66a8]
mov qword [rsp + 0x2f0], rax
jmp 0x180040117
movzx eax, byte [0x1800a65fe]
movsx rax, al
mov qword [rsp + 0x2f0], rax
movzx eax, word [rsp + 0x2f0]
mov word [rsp + 0x34], ax
jmp 0x18004015a
movzx eax, byte [rsp + 0x24]
movsx eax, al
movzx ecx, byte [0x1800a65e6]
movzx ecx, cl
and eax, ecx
movzx ecx, byte [rsp + 0x24]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x24], al
jmp 0x18004015a
movzx eax, word [rsp + 0x30]
shl eax, 7
mov dword [0x1800a66b0], eax
movzx eax, byte [0x1800a6566]
movsx rax, al
sub rax, qword [rsp + 0xa0]
mov byte [0x1800a6566], al
movabs rax, 0x7f2bb12bd7797
mov qword [0x1800a6668], rax
mov eax, dword [rsp + 0x1f8]
mov ecx, 0xca
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1fc]
or ecx, 0xc0
mov edx, 0xffffd8ae
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x224], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x3da
mov dword [rsp + 0x338], eax
movzx eax, byte [rsp + 0x23]
movsx eax, al
cmp eax, dword [0x1800a6688]
ja 0x1800401f2
mov qword [rsp + 0x300], 1
jmp 0x1800401fe
mov qword [rsp + 0x300], 0
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x180040214
mov qword [rsp + 0x2f8], 1
jmp 0x180040220
mov qword [rsp + 0x2f8], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x2f8]
imul rcx, rax
mov rax, rcx
not rax
cmp qword [rsp + 0x300], rax
jne 0x18004024e
mov dword [rsp + 0x148], 1
jmp 0x180040259
mov dword [rsp + 0x148], 0
movsx rax, word [rsp + 0x34]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jg 0x180040276
mov dword [rsp + 0x14c], 1
jmp 0x180040281
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x148]
not eax
cmp eax, dword [rsp + 0x14c]
je 0x1800403a3
mov eax, 4
mov word [0x1800a66b4], ax
movzx eax, byte [0x1800a65a7]
xor eax, 0x94
mov word [rsp + 0x28], ax
movzx eax, word [0x1800a66b4]
cwde
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
je 0x180040306
cmp dword [rsp + 0x94], 1
je 0x18004034a
cmp dword [rsp + 0x94], 2
je 0x180040375
cmp dword [rsp + 0x94], 3
je 0x180040384
cmp dword [rsp + 0x94], 4
je 0x180040393
jmp 0x18004039e
movsx rax, word [0x1800a6690]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
not rax
movsx ecx, word [rsp + 0x40]
movzx edx, word [0x1800a66b4]
movsx edx, dx
and ecx, edx
movsxd rcx, ecx
add rax, rcx
mov qword [0x1800a66a8], rax
mov qword [0x1800a6678], 0x18029a75
jmp 0x18004039e
movzx eax, word [0x1800a65fc]
movzx eax, ax
movzx ecx, byte [rsp + 0x21]
movsx ecx, cl
add eax, ecx
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800a65fc], ax
jmp 0x18004039e
movzx eax, byte [0x18091bdb0]
mov byte [0x1800a658e], al
jmp 0x18004039e
movsx rax, byte [0x1800a65fb]
mov qword [rsp + 0x60], rax
jmp 0x18004039e
mov rax, qword [rsp + 0x58]
mov dword [0x1800a6624], eax
jmp 0x180040424
mov eax, dword [rsp + 0x3c]
cmp eax, 0x33ac
je 0x1800403ca
movzx eax, byte [rsp + 0x25]
add eax, dword [0x1800a66c4]
test eax, eax
jne 0x1800403ca
mov dword [rsp + 0x150], 0
jmp 0x1800403d5
mov dword [rsp + 0x150], 1
mov eax, dword [rsp + 0x150]
not eax
test eax, eax
je 0x180040424
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, byte [rsp + 0x25]
imul eax, ecx
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800a65a6], al
mov eax, 2
imul rax, rax, 0x15
lea rcx, [0x1809e3d58]
movsx rax, word [rcx + rax]
mov qword [0x1800a66e0], rax
mov eax, dword [rsp + 0xcc]
add eax, 0x3a2
mov dword [rsp + 0x39c], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x38e
mov dword [rsp + 0x200], eax
mov eax, dword [0x1800a66e8]
cmp dword [0x1800a6624], eax
jne 0x180040465
mov dword [rsp + 0x158], 1
jmp 0x180040470
mov dword [rsp + 0x158], 0
cmp dword [0x1800a6624], 0x54
jne 0x180040486
mov dword [rsp + 0x154], 1
jmp 0x180040491
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
cmp dword [rsp + 0x158], eax
jne 0x1800404a3
jmp 0x1800404d6
cmp qword [0x1800a66a8], 0
je 0x1800404d6
imul eax, dword [0x1800a6698], 0xe93c2ef3
mov byte [0x1800a65e6], al
movzx eax, byte [rsp + 0x22]
movabs rcx, 0xbbede2b9961da
xor rax, rcx
mov qword [0x1800a66d0], rax
movzx eax, byte [0x1800a65fe]
movsx rax, al
cmp rax, qword [0x1800a6670]
ja 0x180040538
movsxd rax, dword [0x1800a66ec]
cmp qword [rsp + 0x80], rax
jge 0x18004051d
movzx eax, word [rsp + 0x28]
movzx eax, ax
add eax, 0x8b2b3963
mov byte [rsp + 0x24], al
movzx eax, byte [0x1800a65a6]
inc al
mov byte [0x1800a65a6], al
jmp 0x180040538
mov eax, dword [rsp + 0x3c]
test eax, eax
jne 0x180040538
movzx eax, word [0x1800a66c0]
movzx eax, ax
add eax, 0xf98b
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x200]
xor eax, 0xf1
mov ecx, 0xa7c
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x228], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x46bc
mov dword [rsp + 0x204], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov eax, eax
mov qword [rsp + 0x88], rax
cmp dword [0x1800a66e8], 0
jne 0x18004059a
mov dword [rsp + 0x15c], 1
jmp 0x1800405a5
mov dword [rsp + 0x15c], 0
mov eax, dword [0x1800a6698]
cmp dword [rsp + 0x15c], eax
je 0x180040682
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x18004065f
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
cmp dword [0x1800a66b0], 0
jne 0x1800405f7
mov qword [rsp + 0x308], 1
jmp 0x180040603
mov qword [rsp + 0x308], 0
mov rax, qword [0x1800a6668]
not rax
mov rcx, qword [rsp + 0x308]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004062d
mov dword [rsp + 0x160], 1
jmp 0x180040638
mov dword [rsp + 0x160], 0
movzx eax, byte [0x1800a65e6]
movzx eax, al
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
xor eax, ecx
sub eax, dword [rsp + 0x160]
not eax
mov dword [0x1800a66ec], eax
jmp 0x180040680
movsx eax, word [rsp + 0x40]
movsx ecx, word [rsp + 0x40]
sub eax, ecx
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x3c]
sub eax, 0x1fec
mov eax, eax
mov qword [rsp + 0x60], rax
jmp 0x1800406d3
movzx eax, byte [0x1800a6567]
mov rcx, qword [0x1800a66d8]
cmp rax, rcx
jle 0x1800406a2
mov dword [rsp + 0x164], 1
jmp 0x1800406ad
mov dword [rsp + 0x164], 0
cmp dword [rsp + 0x164], 0x6773
jl 0x1800406d3
mov rax, qword [rsp + 0x68]
movabs rcx, 0x8088bda886ba0
add rax, rcx
mov word [0x1800a660c], ax
mov eax, dword [rsp + 0xd0]
add eax, 0x6ecf
mov dword [rsp + 0x398], eax
mov byte [rsp + 0x20], 4
mov eax, 2
imul rax, rax, 0xdf9c
lea rcx, [0x180a50140]
movzx edx, word [0x1800a660c]
mov word [rcx + rax], dx
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0x98], al
cmp byte [rsp + 0x98], 0
je 0x180040758
cmp byte [rsp + 0x98], 1
je 0x18004076d
cmp byte [rsp + 0x98], 2
je 0x1800407cb
cmp byte [rsp + 0x98], 3
je 0x1800407de
cmp byte [rsp + 0x98], 4
je 0x1800407f0
jmp 0x180040805
movsx eax, word [0x1800a6690]
sub eax, 0xf2df
mov byte [rsp + 0x20], al
jmp 0x180040805
movzx eax, word [0x1800a66b4]
movsx rax, ax
movzx ecx, word [0x1800a660c]
mov rdx, qword [0x1800a66a0]
add rcx, rdx
sub rax, rcx
mov ecx, dword [rsp + 0x3c]
mov ecx, ecx
movsx rdx, word [rsp + 0x34]
movabs r8, 0x8de51cc7828e5
add rcx, r8
add rcx, rdx
sub rax, rcx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov eax, eax
mov rcx, qword [0x1800a66a8]
add rcx, rax
mov rax, rcx
mov qword [0x1800a66a8], rax
jmp 0x180040805
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x799bd20
mov qword [rsp + 0x70], rax
jmp 0x180040805
imul rax, qword [rsp + 0x80], 0x37
mov qword [0x1800a66d8], rax
jmp 0x180040805
mov rax, qword [0x1800a66a0]
sub rax, qword [rsp + 0x80]
mov byte [0x1800a65fe], al
mov eax, dword [rsp + 0xd0]
add eax, 0x5d55
mov dword [rsp + 0x168], eax
mov eax, dword [0x1800a65bc]
not eax
cdqe
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rsp + 0x25]
not ecx
add ecx, 0xa4
movsxd rcx, ecx
mov edx, dword [rsp + 0x38]
movsxd rdx, edx
mov r8, qword [0x1800a6678]
or r8, rdx
mov rdx, r8
add rcx, rdx
movabs rdx, 0x1c9d800c001
add rax, rdx
add rax, rcx
mov qword [0x1800a66e0], rax
mov eax, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x168]
or eax, ecx
mov ecx, dword [rsp + 0x204]
imul ecx, ecx, 0x466b
or eax, ecx
mov ecx, 0x1375022f
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x22c], eax
movzx eax, byte [rsp + 0x22]
movzx ecx, byte [rsp + 0x25]
add eax, ecx
mov byte [rsp + 0x22], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x381
mov dword [rsp + 0x208], eax
mov qword [rsp + 0x58], 3
mov rax, qword [0x1800a66e0]
xor rax, 0x46
movzx ecx, word [rsp + 0x2c]
movsx rcx, cx
add rcx, rax
mov rax, rcx
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180040916
mov dword [rsp + 0x16c], 1
jmp 0x180040921
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x16c]
add ecx, eax
mov eax, ecx
mov dword [0x1800a6624], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x1f0], rax
cmp qword [rsp + 0x1f0], 0
je 0x18004097c
cmp qword [rsp + 0x1f0], 1
je 0x1800409cc
cmp qword [rsp + 0x1f0], 2
je 0x180040a09
cmp qword [rsp + 0x1f0], 3
je 0x180040aa0
jmp 0x180040ae2
movzx eax, byte [rsp + 0x22]
test eax, eax
je 0x18004099a
movzx eax, byte [0x1800a6566]
movsx rax, al
mov qword [rsp + 0x2c8], rax
jmp 0x1800409a9
mov rax, qword [0x1800a66d8]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [0x1800a66e0], rax
movzx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x4c]
add eax, ecx
mov byte [rsp + 0x22], al
jmp 0x180040ae2
movsx eax, word [rsp + 0x34]
test eax, eax
je 0x1800409e4
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x310], rax
jmp 0x1800409f5
movzx eax, byte [rsp + 0x23]
movsx rax, al
mov qword [rsp + 0x310], rax
movzx eax, word [rsp + 0x310]
mov word [0x1800a66b4], ax
jmp 0x180040ae2
mov rax, qword [rsp + 0x58]
movabs rcx, 0xfecc3f3ba6251
and rax, rcx
mov word [0x1800a6694], ax
cmp qword [rsp + 0x70], 0
jne 0x180040a38
mov qword [rsp + 0x318], 1
jmp 0x180040a44
mov qword [rsp + 0x318], 0
movabs rax, 0x7776d0db8591f
mov rcx, qword [rsp + 0x318]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x180040a70
mov qword [rsp + 0x298], 1
jmp 0x180040a7c
mov qword [rsp + 0x298], 0
mov rax, qword [0x1800a6668]
movabs rcx, 0x60c6fe117434c
sub rax, rcx
sub rax, qword [rsp + 0x298]
mov byte [0x1800a65fe], al
jmp 0x180040ae2
mov rax, qword [0x1800a66d0]
test rax, rax
je 0x180040abb
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x2a0], rax
jmp 0x180040acc
movzx eax, byte [rsp + 0x21]
movsx rax, al
mov qword [rsp + 0x2a0], rax
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x3c], eax
mov eax, dword [0x1800a66b0]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xd4]
add eax, 0x17d1
mov dword [rsp + 0x37c], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x37e
mov dword [rsp + 0x35c], eax
movsx eax, byte [0x1800a658f]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rsp + 0x208]
sub eax, 0x4f
mov ecx, 0x6ef
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x230], eax
movzx eax, byte [0x1800a658e]
cmp eax, dword [rsp + 0x48]
jne 0x180040b62
movzx eax, byte [0x1800a65e6]
movzx eax, al
test eax, eax
jne 0x180040b55
cmp dword [0x1800a66c8], 0
jne 0x180040b62
mov dword [rsp + 0x178], 1
jmp 0x180040b6d
mov dword [rsp + 0x178], 0
movzx eax, word [0x1800a660c]
mov ecx, dword [rsp + 0x38]
cmp eax, ecx
jl 0x180040b89
mov dword [rsp + 0x174], 1
jmp 0x180040b94
mov dword [rsp + 0x174], 0
movzx eax, word [0x1800a6694]
movzx eax, ax
test eax, eax
je 0x180040bbb
movzx eax, byte [rsp + 0x23]
movsx eax, al
test eax, eax
je 0x180040bbb
mov dword [rsp + 0x170], 1
jmp 0x180040bc6
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x170]
cmp dword [rsp + 0x174], eax
jg 0x180040be3
mov dword [rsp + 0x17c], 1
jmp 0x180040bee
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x178]
not eax
cmp eax, dword [rsp + 0x17c]
jne 0x180040c05
jmp 0x180040c96
mov rax, qword [0x1800a6668]
test rax, rax
je 0x180040c2b
movzx eax, byte [rsp + 0x23]
movsx eax, al
test eax, eax
je 0x180040c2b
mov qword [rsp + 0x2a8], 0
jmp 0x180040c37
mov qword [rsp + 0x2a8], 1
movsxd rax, dword [0x1800a6624]
mov rcx, qword [0x1800a6678]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0x2a8], rax
jle 0x180040c6c
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
jmp 0x180040c96
movsx eax, word [0x1800a6690]
test eax, eax
je 0x180040c96
mov rax, qword [rsp + 0x60]
add rax, 0x101aaac
mov rcx, qword [0x1800a66d0]
add rcx, rax
mov rax, rcx
mov qword [0x1800a66d0], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x670b
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [0x1800a663c]
movsxd rcx, ecx
cmp rax, rcx
jbe 0x180040cd6
mov dword [rsp + 0x184], 1
jmp 0x180040ce1
mov dword [rsp + 0x184], 0
mov rax, qword [rsp + 0x60]
cmp rax, 0x53
jbe 0x180040cf9
mov dword [rsp + 0x180], 1
jmp 0x180040d04
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
cmp dword [rsp + 0x184], eax
jge 0x180040d25
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.USER32.dll_OpenIcon]
mov byte [rsp + 0x24], al
jmp 0x180040d2e
mov qword [rsp + 0x58], 0x4bf0
mov eax, dword [rsp + 0xd8]
add eax, 0x42b
mov dword [rsp + 0x360], eax
movzx eax, byte [rsp + 0x25]
not eax
cdqe
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jne 0x180040d61
mov dword [rsp + 0x188], 1
jmp 0x180040d6c
mov dword [rsp + 0x188], 0
movzx eax, byte [0x1800a6566]
movsx eax, al
not eax
mov ecx, dword [rsp + 0x188]
not ecx
cmp eax, ecx
jge 0x180040d92
mov dword [rsp + 0x18c], 1
jmp 0x180040d9d
mov dword [rsp + 0x18c], 0
mov eax, dword [0x1800a65bc]
test eax, eax
jne 0x180040db4
mov dword [rsp + 0x190], 1
jmp 0x180040dbf
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x18c]
not eax
cmp eax, dword [rsp + 0x190]
jle 0x180040dfd
movabs rax, 0x358cdf181f094
mov rcx, qword [0x1800a66a8]
add rcx, rax
mov rax, rcx
mov word [0x1800a66c0], ax
mov eax, dword [0x1800a6670]
mov dword [0x1800a66ec], eax
jmp 0x180040e30
mov eax, dword [0x1800a66ec]
mov ecx, dword [0x1800a66b0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movzx eax, word [0x1800a660c]
mov ecx, dword [rsp + 0x44]
add eax, ecx
movzx ecx, word [0x1800a660c]
or ecx, eax
mov eax, ecx
mov word [0x1800a660c], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x42f
mov dword [rsp + 0x20c], eax
movzx eax, byte [rsp + 0x21]
movsx eax, al
mov ecx, dword [rsp + 0x38]
cmp eax, ecx
jle 0x180040e60
mov dword [rsp + 0x198], 1
jmp 0x180040e6b
mov dword [rsp + 0x198], 0
movzx eax, byte [rsp + 0x21]
movsx eax, al
cmp eax, 0x50
jle 0x180040e85
mov dword [rsp + 0x194], 1
jmp 0x180040e90
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
cmp dword [rsp + 0x198], eax
jg 0x180040eb8
mov rax, qword [0x1800a6680]
add rax, 0x736f
mov byte [0x1800a65fe], al
jmp 0x180040f66
mov eax, 1
imul rax, rax, 0x6e09
lea rcx, [0x18095a840]
movzx eax, byte [rcx + rax]
mov rcx, qword [0x1800a66b8]
add rcx, rax
mov rax, rcx
mov qword [0x1800a66b8], rax
movzx eax, word [rsp + 0x2c]
cwde
test eax, eax
jne 0x180040efa
mov dword [rsp + 0x19c], 1
jmp 0x180040f05
mov dword [rsp + 0x19c], 0
movzx eax, word [0x1800a6694]
movzx eax, ax
mov ecx, dword [rsp + 0x19c]
imul ecx, eax
mov eax, ecx
cdqe
mov ecx, dword [0x1800a66c4]
mov rdx, qword [rsp + 0xa0]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
movzx ecx, word [rsp + 0x2c]
movsx rcx, cx
mov rdx, qword [0x1800a66a0]
sub rdx, rcx
mov rcx, rdx
not rcx
mov edx, dword [rsp + 0x4c]
movsxd rdx, edx
add rdx, qword [rsp + 0x70]
and rcx, rdx
sub rax, rcx
mov word [0x1800a65fc], ax
mov eax, dword [rsp + 0x20c]
mov ecx, dword [rsp + 0x210]
add eax, ecx
xor eax, 0x6b3a
mov dword [rsp + 0x234], eax
movzx eax, byte [0x1800a6566]
movsx rax, al
mov rcx, qword [0x1800a66a0]
sub rax, rcx
movzx ecx, byte [0x1800a6566]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [0x1800a6566], al
mov rax, qword [0x1800a66d8]
test rax, rax
je 0x180040fcb
movzx eax, word [0x1800a669c]
mov qword [rsp + 0x2b0], rax
jmp 0x180040fd8
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x2b0], rax
movzx eax, word [rsp + 0x2b0]
mov word [rsp + 0x28], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xdc], eax
mov qword [0x1800a6668], 4
movabs rax, 0x46af8eff57027
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x38], eax
mov rax, qword [0x1800a66e0]
mov ecx, 4
imul rcx, rcx, 0x10
lea rdx, [0x18099f290]
mov dword [rdx + rcx], eax
mov rax, qword [0x1800a6668]
mov qword [rsp + 0x1e8], rax
cmp qword [rsp + 0x1e8], 0
je 0x180041094
cmp qword [rsp + 0x1e8], 1
je 0x1800410c3
cmp qword [rsp + 0x1e8], 2
je 0x180041101
cmp qword [rsp + 0x1e8], 3
je 0x18004111d
cmp qword [rsp + 0x1e8], 4
je 0x180041146
jmp 0x180041164
movzx eax, word [rsp + 0x30]
movzx ecx, byte [rsp + 0x24]
movsx ecx, cl
sub eax, ecx
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
movabs rcx, 0xe358342d89310
add rax, rcx
mov byte [rsp + 0x20], al
jmp 0x180041164
mov rax, qword [rsp + 0x70]
add rax, 0xf8
mov word [0x1800a6694], ax
mov eax, dword [rsp + 0x4c]
cdqe
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x180041164
mov eax, dword [0x1800a66b0]
shl eax, 3
mov word [rsp + 0x40], ax
mov eax, 0x3b54
mov word [0x1800a66b4], ax
jmp 0x180041164
movzx eax, word [0x1800a66b4]
cwde
imul eax, eax, 0xd5
mov word [0x1800a669c], ax
mov eax, dword [rsp + 0x3c]
mov eax, eax
xor rax, qword [rsp + 0xa0]
mov dword [rsp + 0x3c], eax
jmp 0x180041164
mov rax, qword [rsp + 0x88]
shl rax, 7
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x25]
shl eax, 5
mov word [rsp + 0x34], ax
mov eax, dword [rsp + 0xdc]
add eax, 0x2a42
mov dword [rsp + 0x364], eax
mov eax, dword [rsp + 0x38]
movzx ecx, byte [rsp + 0x24]
movsx ecx, cl
cmp eax, ecx
jl 0x1800411ca
movzx eax, byte [rsp + 0x23]
movsx eax, al
mov ecx, dword [rsp + 0x4c]
cmp eax, ecx
jne 0x1800411c8
movzx eax, word [0x1800a660c]
movabs rcx, 0x3d32292356bf7
add rax, rcx
mov word [0x1800a65fc], ax
movzx eax, byte [0x1800a65e6]
movzx eax, al
sub eax, 0x8b
mov word [0x1800a66c0], ax
jmp 0x1800411de
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x1800a663c]
imul eax, ecx
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x3c4
mov dword [rsp + 0x368], eax
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0x80], rax
movabs rax, 0xd4346af01052c
mov rcx, qword [0x1800a66a8]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x5266
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x214]
or eax, 0x14
mov ecx, 0x5507
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x264], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xfc], eax
movsx rax, word [rsp + 0x34]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetParent]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x620
mov dword [rsp + 0x36c], eax
movsx eax, word [0x1800a6690]
test eax, eax
je 0x18004129c
movzx eax, byte [rsp + 0x23]
movsx eax, al
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [rsp + 0x28], ax
jmp 0x1800412e7
movzx eax, byte [rsp + 0x25]
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
cmp eax, ecx
jge 0x1800412c8
mov eax, dword [0x1800a66cc]
cdqe
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x1800412e7
movsx eax, byte [0x1800a658f]
test eax, eax
je 0x1800412e7
mov rax, qword [rsp + 0x78]
mov ecx, 0xe8964ce6
sub rax, rcx
mov qword [0x1800a6670], rax
mov eax, dword [rsp + 0x218]
mov ecx, dword [rsp + 0xfc]
add eax, ecx
mov dword [rsp + 0x1bc], eax
mov eax, dword [0x1800a663c]
test eax, eax
jne 0x180041315
mov dword [rsp + 0x1a0], 1
jmp 0x180041320
mov dword [rsp + 0x1a0], 0
movzx eax, word [0x1800a669c]
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x60]
imul rdx, rcx
mov rcx, rdx
imul rax, rcx
movsx ecx, byte [0x1800a658f]
mov edx, dword [rsp + 0x1a0]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
xor rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
xor rax, rcx
mov word [0x1800a66b4], ax
mov eax, dword [rsp + 0x21c]
mov ecx, dword [rsp + 0xfc]
add eax, ecx
mov dword [rsp + 0x370], eax
cmp dword [0x1800a6624], 0
je 0x1800413b9
movzx eax, word [0x1800a669c]
mov ecx, dword [0x1800a663c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a663c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a663c], eax
jmp 0x18004147e
movzx eax, word [rsp + 0x28]
movzx eax, ax
test eax, eax
jne 0x1800413d2
mov dword [rsp + 0x1a4], 1
jmp 0x1800413dd
mov dword [rsp + 0x1a4], 0
movzx eax, word [rsp + 0x30]
mov ecx, dword [rsp + 0x1a4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x180041428
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x180041408
mov eax, dword [0x1800a66e8]
mov dword [rsp + 0x1a8], eax
jmp 0x180041419
movzx eax, byte [0x1800a65e7]
movsx eax, al
mov dword [rsp + 0x1a8], eax
movzx eax, word [rsp + 0x1a8]
mov word [rsp + 0x34], ax
jmp 0x18004147e
mov eax, dword [0x1800a663c]
test eax, eax
je 0x18004147e
mov eax, dword [rsp + 0x44]
mov eax, eax
mov rcx, qword [rsp + 0x60]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [0x1800a66d8]
movabs rcx, 0xa80ce97b1ace9
sub rax, rcx
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe4], eax
movzx eax, word [0x1800a66c0]
movzx eax, ax
movzx ecx, byte [0x1800a65e6]
movzx ecx, cl
cmp eax, ecx
jge 0x1800414b0
mov dword [rsp + 0x1ac], 1
jmp 0x1800414bb
mov dword [rsp + 0x1ac], 0
movzx eax, byte [0x1800a65a7]
not eax
mov ecx, dword [rsp + 0x1ac]
not ecx
sub eax, ecx
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
cmp eax, ecx
jge 0x1800415a2
mov eax, dword [rsp + 0x38]
movsx ecx, byte [0x1800a65fb]
cmp eax, ecx
jl 0x1800414fd
mov dword [rsp + 0x1b4], 1
jmp 0x180041508
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x38]
cmp eax, 0x3c
jl 0x18004151e
mov dword [rsp + 0x1b0], 1
jmp 0x180041529
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jle 0x18004154e
movzx eax, word [rsp + 0x30]
imul rax, qword [rsp + 0xa0]
mov word [rsp + 0x30], ax
jmp 0x1800415a2
mov rax, qword [0x1800a66e0]
test rax, rax
je 0x180041571
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x180041571
mov dword [rsp + 0x1b8], 1
jmp 0x18004157c
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x1b8]
not eax
test eax, eax
je 0x1800415a2
movsx rax, byte [0x1800a65fb]
movabs rcx, 0x5278d2677ed33
sub rax, rcx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x220]
mov ecx, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0x374], eax
movzx eax, word [rsp + 0x2c]
cwde
movzx ecx, byte [0x1800a658e]
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x224]
mov ecx, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0x238], eax
call qword [sym.imp.USER32.dll_GetCaretBlinkTime]
mov eax, eax
mov qword [0x1800a66d8], rax
mov eax, dword [rsp + 0x228]
mov ecx, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0x378], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe8], eax
movzx eax, byte [rsp + 0x25]
movabs rcx, 0x841c58134dbc8
xor rax, rcx
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0x258], eax
movzx eax, byte [rsp + 0x23]
movsx rax, al
movabs rcx, 0xc479fd22a2d65
sub rax, rcx
mov dword [0x1800a65bc], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x452
mov dword [rsp + 0x260], eax
movabs rax, 0x8c3b347c536a3
mov rcx, qword [rsp + 0xa0]
and rcx, rax
mov rax, rcx
mov word [0x1800a65fc], ax
mov rax, qword [rsp + 0x78]
sub rax, 0xab
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x230]
mov ecx, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0x25c], eax
mov qword [0x1800a6680], 1
movzx eax, byte [rsp + 0x20]
inc al
mov byte [rsp + 0x20], al
movzx eax, word [rsp + 0x28]
movzx eax, ax
mov ecx, dword [0x1800a6624]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a6624]
xor ecx, eax
mov eax, ecx
mov dword [0x1800a6624], eax
mov rax, qword [0x1800a6680]
mov qword [rsp + 0x2b8], rax
cmp qword [rsp + 0x2b8], 0
je 0x180041726
cmp qword [rsp + 0x2b8], 1
je 0x18004174a
jmp 0x18004176d
mov dword [0x1800a6624], 0x10
mov eax, dword [0x1800a66e8]
movabs rcx, 0x856ba991f5b99
sub rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x18004176d
mov eax, dword [rsp + 0x4c]
cdqe
movabs rcx, 0x652d8b5a085f6
add rax, rcx
mov rcx, qword [rsp + 0x58]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x234]
mov dword [rsp + 0x104], eax
movzx eax, byte [0x1800a6566]
movsx eax, al
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1bc]
mov ecx, dword [rsp + 0x1bc]
cmp eax, ecx
jne 0x1800417e9
call qword [sym.imp.USER32.dll_GetMessageTime]
mov dword [0x1800a66c4], eax
cmp qword [rsp + 0x410], 0
jne 0x1800417e9
movzx eax, word [0x1800a668c]
inc ax
mov word [0x1800a668c], ax
mov eax, dword [0x1800a66ec]
add eax, 0x6f
mov dword [rsp + 0x48], eax
mov eax, 1
jmp 0x180042144
lea r9, [rsp + 0x104]
mov r8d, dword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call sub.KERNEL32.dll_K32EnumProcessModules
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0x238]
cmp eax, 0x257
je 0x18004205a
movsx eax, byte [0x1800a65fb]
sub eax, 0x447df6ee
cdqe
mov ecx, dword [0x1800a66cc]
movsxd rcx, ecx
mov rdx, qword [0x1800a6680]
sub rcx, rdx
add rax, rcx
test rax, rax
jne 0x18004185e
mov qword [rsp + 0x2c0], 1
jmp 0x18004186a
mov qword [rsp + 0x2c0], 0
mov eax, dword [0x1800a663c]
cdqe
sub rax, qword [rsp + 0xa0]
movzx ecx, byte [0x1800a65e6]
movzx ecx, cl
imul ecx, dword [0x1800a66c8]
movsxd rcx, ecx
sub rax, rcx
add rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x1800418a9
jmp 0x1800418ce
mov rax, qword [0x1800a6680]
imul rax, rax, 0x9937
movzx ecx, byte [0x1800a65e7]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x1800a65e7], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xec], eax
mov qword [rsp + 0x58], 2
mov eax, 1
imul rax, rax, 0x97
lea rcx, [0x1809e3c90]
movsx rax, byte [rcx + rax]
mov rcx, qword [0x1800a66b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a66b8], rax
movzx eax, byte [rsp + 0x21]
movsx eax, al
shl eax, 5
cdqe
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x280], rax
cmp qword [rsp + 0x280], 0
je 0x18004195c
cmp qword [rsp + 0x280], 1
je 0x18004197b
cmp qword [rsp + 0x280], 2
je 0x180041a1f
jmp 0x180041a45
movzx eax, byte [rsp + 0x21]
movsx eax, al
movzx ecx, byte [0x1800a6567]
add eax, ecx
mov byte [rsp + 0x21], al
mov byte [rsp + 0x21], 2
jmp 0x180041a45
mov rax, qword [0x1800a6678]
not rax
movabs rcx, 0x95d04b56f56bb
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800419a1
mov byte [rsp + 0x51], 1
jmp 0x1800419a6
mov byte [rsp + 0x51], 0
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x24], al
movsx eax, byte [0x1800a658f]
mov ecx, dword [rsp + 0x38]
imul ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [0x1800a66e0]
and rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800419e0
mov dword [rsp + 0x1c0], 1
jmp 0x1800419eb
mov dword [rsp + 0x1c0], 0
movzx eax, byte [0x1800a65e7]
movsx eax, al
movzx ecx, byte [0x1800a65fe]
movsx ecx, cl
sub eax, ecx
movzx ecx, byte [rsp + 0x20]
imul eax, ecx
mov ecx, dword [rsp + 0x1c0]
sub ecx, eax
mov eax, ecx
not eax
mov word [0x1800a668c], ax
jmp 0x180041a45
movzx eax, word [0x1800a66b4]
movsx rax, ax
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xec]
add eax, 0x372
mov dword [rsp + 0x23c], eax
mov eax, dword [rsp + 0x3c]
movzx ecx, byte [0x1800a65a7]
cmp eax, ecx
ja 0x180041a74
mov dword [rsp + 0x1c8], 1
jmp 0x180041a7f
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x3c]
cmp eax, 8
ja 0x180041a95
mov dword [rsp + 0x1c4], 1
jmp 0x180041aa0
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
cmp dword [rsp + 0x1c8], eax
jge 0x180041aba
mov dword [rsp + 0x38], 0x42
jmp 0x180041b27
movabs rax, 0x14614946345b0
xor ecx, ecx
cmp rcx, rax
je 0x180041b27
mov eax, dword [rsp + 0x44]
mov eax, eax
mov rcx, qword [rsp + 0x58]
imul rcx, rax
mov rax, rcx
mov ecx, dword [0x1800a6688]
not ecx
mov ecx, ecx
xor rax, rcx
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
mov rdx, qword [0x1800a6670]
add rdx, rcx
mov rcx, rdx
movzx edx, byte [0x1800a65e7]
movsx rdx, dl
imul rcx, rdx
sub rax, rcx
mov word [rsp + 0x28], ax
movzx eax, byte [rsp + 0x20]
movsx ecx, word [0x1800a6690]
add eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0xec]
add eax, 0x392
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0xec]
add eax, 0xc101
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0x23c]
or eax, ecx
mov ecx, dword [rsp + 0xf0]
mov edx, dword [rsp + 0xf0]
sub ecx, edx
xor eax, ecx
add eax, 0x2ef
mov dword [rsp + 0x24c], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0xed8a
mov dword [rsp + 0x384], eax
mov eax, dword [0x1800a65bc]
shl eax, 2
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x36f
mov dword [rsp + 0x388], eax
mov eax, dword [rsp + 0x38]
add eax, 0x620e97ab
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xf4]
add eax, 0x3ca
mov dword [rsp + 0x240], eax
mov eax, dword [rsp + 0x240]
add eax, 0xf1c3
xor eax, 0xf6f5
mov dword [rsp + 0x250], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x3e4
mov dword [rsp + 0x244], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x61f
mov dword [rsp + 0x38c], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x389
mov dword [rsp + 0x390], eax
movzx eax, word [0x1800a660c]
test eax, eax
je 0x180041d17
movzx eax, word [rsp + 0x30]
test eax, eax
je 0x180041c88
mov eax, dword [0x1800a663c]
cdqe
mov rcx, qword [0x1800a6668]
sub rax, rcx
mov ecx, dword [0x1800a663c]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [0x1800a663c], eax
mov eax, dword [rsp + 0x4c]
mov byte [rsp + 0x23], al
jmp 0x180041d15
mov rax, qword [rsp + 0x68]
not rax
cmp rax, qword [rsp + 0x80]
jg 0x180041cc2
movzx eax, byte [rsp + 0x23]
movsx rax, al
movabs rcx, 0x4b35fb101fa44
xor rax, rcx
mov dword [0x1800a6624], eax
mov eax, 0x6b
mov word [rsp + 0x40], ax
jmp 0x180041d15
xor eax, eax
test eax, eax
je 0x180041ce6
mov byte [0x1800a65e6], 0xdd
movsxd rax, dword [0x1800a66ec]
mov rcx, qword [rsp + 0x68]
add rax, rcx
mov dword [0x1800a66ec], eax
jmp 0x180041d15
movzx eax, word [0x1800a668c]
test eax, eax
je 0x180041d15
mov eax, dword [rsp + 0x4c]
sub eax, 0x143c1186
cdqe
mov rcx, qword [0x1800a66e0]
and rcx, rax
mov rax, rcx
mov qword [0x1800a66e0], rax
mov byte [rsp + 0x20], 8
jmp 0x180041d2d
movzx eax, byte [rsp + 0x24]
movsx eax, al
movzx ecx, word [rsp + 0x28]
movzx ecx, cx
add eax, ecx
mov byte [rsp + 0x24], al
lea rax, [rsp + 0x3c0]
lea rcx, str.inappropriate_io_c
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x3c0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x244]
add eax, 0xa5
xor eax, 0x2b2
mov ecx, dword [rsp + 0x1cc]
mov edx, dword [rsp + 0x1cc]
xor ecx, edx
mov edx, dword [rsp + 0x248]
xor edx, 0x19e
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x254], eax
cmp dword [rsp + 0x1d0], 0
jne 0x18004205a
mov eax, dword [rsp + 0x44]
mov eax, eax
mov ecx, eax
call qword [sym.imp.USER32.dll_OpenIcon]
mov byte [rsp + 0x25], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x114], eax
lea rax, [rsp + 0x3a8]
lea rcx, str.A_security_problem
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x3a8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [0x1800a66e0], rax
mov eax, dword [rsp + 0x24c]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0xa8], eax
movzx eax, word [0x1800a660c]
test eax, eax
je 0x180041e93
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180041e4a
movzx eax, byte [rsp + 0x23]
movsx eax, al
mov ecx, dword [rsp + 0x38]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x2c]
cwde
sub eax, 0x18
mov byte [0x1800a6566], al
jmp 0x180041e91
mov rax, qword [0x1800a66e0]
test rax, rax
jne 0x180041e91
movzx eax, byte [0x1800a658e]
add eax, 0xbf04
cdqe
mov rcx, qword [0x1800a6668]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6668], rax
mov eax, 2
imul rax, rax, 0xa
lea rcx, [0x1809e3d40]
movzx edx, word [rsp + 0x34]
mov word [rcx + rax], dx
jmp 0x180041ec9
movsx eax, byte [0x1800a658f]
movzx ecx, byte [0x1800a6566]
movsx ecx, cl
sub eax, ecx
mov byte [0x1800a658f], al
movzx eax, word [0x1800a66c0]
movzx eax, ax
movabs rcx, 0xc28fdb711ae73
xor rax, rcx
mov byte [0x1800a65e7], al
mov eax, dword [rsp + 0x250]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x394], eax
mov eax, dword [0x1800a6624]
add eax, 0xaed7
mov dword [0x1800a66cc], eax
mov eax, dword [rsp + 0x254]
mov ecx, dword [rsp + 0x114]
add eax, ecx
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0xa8]
add eax, ecx
mov ecx, dword [rsp + 0xa8]
lea eax, [rax + rcx + 0xed]
mov ecx, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xa8]
sub ecx, edx
mov edx, dword [rsp + 0x100]
mov edi, dword [rsp + 0x100]
sub edx, edi
add ecx, edx
cmp eax, ecx
je 0x18004205a
mov rax, qword [0x1800a6678]
mov ecx, dword [0x1800a66e8]
cmp rax, rcx
jge 0x180041ff0
mov rax, qword [0x1800a6680]
mov ecx, dword [rsp + 0x38]
movsxd rcx, ecx
cmp rax, rcx
jbe 0x180041f82
mov byte [0x1800a65a7], 0xc6
jmp 0x180041ff0
movsx rax, byte [0x1800a658f]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jge 0x180041fa4
mov rax, qword [rsp + 0x78]
mov dword [0x1800a66e8], eax
jmp 0x180041ff0
mov eax, dword [0x1800a66b0]
not eax
test eax, eax
je 0x180041fcb
mov rax, qword [rsp + 0x68]
movabs rcx, 0x3476ea27ee7c7
add rax, rcx
mov word [0x1800a660c], ax
jmp 0x180041ff0
xor eax, eax
cmp eax, 0xf38154ad
je 0x180041ff0
mov eax, dword [0x1800a66c8]
add eax, 0x15
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [0x18091bdb0]
mov dword [0x1800a663c], eax
mov qword [0x1800a66a8], 0xdb2
mov rax, qword [0x1800a66d0]
movzx ecx, byte [rsp + 0x22]
add ecx, 0x8193
movsxd rcx, ecx
cmp rax, rcx
jne 0x180042050
movzx eax, byte [0x1800a65a3]
movsx eax, al
movzx ecx, word [rsp + 0x30]
add eax, ecx
cmp eax, 1
jne 0x180042050
jmp 0x180041ff0
mov eax, 1
jmp 0x180042144
mov eax, dword [rsp + 0x258]
mov ecx, dword [rsp + 0x25c]
add eax, ecx
mov ecx, dword [rsp + 0x260]
imul eax, ecx
mov ecx, dword [rsp + 0x264]
cmp eax, ecx
je 0x180042118
mov eax, dword [rsp + 0x420]
cmp dword [rsp + 0x104], eax
jbe 0x180042118
mov eax, dword [0x1800a66cc]
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
cmp eax, ecx
jle 0x1800420ec
mov eax, dword [rsp + 0x3c]
not eax
mov eax, eax
cmp qword [0x1800a66a8], rax
ja 0x1800420c7
mov eax, dword [rsp + 0x3c]
shl eax, 7
mov byte [rsp + 0x22], al
jmp 0x1800420ea
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1800420ea
movzx eax, word [rsp + 0x2c]
cwde
and eax, 0x10
mov dword [0x1800a66ec], eax
mov eax, dword [rsp + 0x38]
dec eax
mov dword [rsp + 0x38], eax
jmp 0x180042111
mov eax, dword [rsp + 0x38]
movsx ecx, word [0x1800a6690]
cmp eax, ecx
jl 0x180042111
mov eax, dword [0x1800a6688]
mov ecx, dword [0x1800a66ec]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a66ec], eax
mov eax, 2
jmp 0x180042144
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx eax, ax
mov dword [0x1800a6688], eax
mov eax, dword [rsp + 0x104]
xor edx, edx
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x428]
mov dword [rcx], eax
xor eax, eax
add rsp, 0x3f8
pop rdi
pop rsi
ret