Function at 0x10041f6c
Capabilities:
Get common file path
Get file size
Log keystrokes via polling

Disassembly:
mov eax, 0x10061ef6
call fcn.10060ea0
sub esp, 0x194
push ebx
mov dword [ebp - 0x40], ecx
xor ebx, ebx
mov dword [ebp - 0x20], 6
push esi
push edi
mov dword [ebp - 0x1c], 0xcd44
xor edi, edi
mov dword [ebp - 0x24], 0x9e885dc1
inc edi
mov dword [ebp - 0x34], 0x75ff4442
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], ebx
push 4
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x20], 0x1a
pop esi
cmp dword [ebp - 0x20], esi
jle 0x10042023
push 2
lea ecx, [ebp - 0xd8]
call fcn.1000ffa3
mov dword [ebp - 0x18], 0x6cce57bf
mov dword [ebp - 0x18], ebx
jmp 0x10041fee
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xfff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10041fdb
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x10042013
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x18]
jns 0x10041ffc
lea ecx, [ebp - 0xd8]
call fcn.10010025
dec dword [ebp - 0x20]
jmp 0x10041fbd
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
test eax, eax
mov eax, dword [ebp - 0x20]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
add eax, dword [ebp - 0x1c]
cmp ecx, eax
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
sub edx, 0x16e2
neg edx
sbb edx, edx
inc edx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xc5c6
setle al
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
je 0x1004211b
mov dword [ebp - 0x34], 0x9ef5b506
xor edx, edx
mov dword [ebp - 0x38], 0xae22781
imul ecx, dword [ebp - 0x24], 0xffff0258
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setle dl
sub edx, 0x277
cmp edx, dword [ebp - 0x34]
jg 0x100420cb
mov edx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x100420cd
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
imul edx, ecx, 0xbeb9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1004217f
push 0xde0
call dword [sym.imp.USER32.dll_GetKeyState]
jmp 0x1004217f
mov dword [ebp - 0x34], ebx
xor ecx, ecx
mov dword [ebp - 0x30], 0x36a74b4f
mov dword [ebp - 0x2c], 0x575e0ad5
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x28]
cmp eax, 0xbfe2
setle cl
imul eax, ecx, 0xb6c7
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x28]
jle 0x10042161
mov eax, edi
cmp dword [ebp - 0x28], ebx
jne 0x10042163
mov eax, ebx
cmp dword [ebp - 0x34], eax
jge 0x1004216f
mov ecx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10042171
mov ecx, edi
xor eax, eax
cmp ecx, 0xd56b862b
sete al
mov dword [ebp - 0x38], eax
mov eax, dword [0x1060aa30]
test al, 1
jne 0x10042212
or eax, edi
mov dword [0x1060aa30], eax
push ebx
mov dword [ebp - 4], ebx
push ebx
mov dword [0x1060aa40], ebx
mov dword [0x1060aa44], ebx
call fcn.1003652e
mov dword [0x1060aa40], eax
mov dword [0x1060aa48], ebx
mov dword [0x1060aa50], ebx
mov byte [ebp - 4], 2
mov ecx, 0x1060aa48
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xac]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x140]
mov dword [0x1060aa5c], 0x3f800000
push eax
mov dword [0x1060aa4c], ebx
call fcn.10036306
push 0x10062216
mov dword [0x1060aa54], 7
mov dword [0x1060aa58], 8
call fcn.1004bb9c
or dword [ebp - 4], 0xffffffff
pop ecx
imul eax, dword [ebp - 0x40], 0x2710
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.10043476
push 2
lea ecx, [ebp - 0xe4]
mov eax, dword [eax]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], 0x96753f3a
mov dword [ebp - 0x34], eax
call fcn.1000ffa3
mov dword [ebp - 4], 3
mov dword [ebp - 0x18], ebx
jmp 0x10042263
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0x8ff8cd3b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10042250
mov eax, dword [ebp - 0x1c]
mov ecx, 0xda22
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x1c]
jl 0x10042295
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
cmp eax, 0x8ea5f34b
ja 0x100422a9
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x100422ab
mov eax, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x1c]
cmp eax, 8
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x1c]
cmp eax, 0x32fe
je 0x10042498
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x10042489
mov dword [ebp - 0x30], 0x524be18a
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x10042399
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042305
push 0x19ed
push 0x2036
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [ebp - 0x20], 0x38d1
cmp dword [ebp - 0x20], 0x3c58
jle 0x10042361
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
or eax, esi
lea ecx, [ebp - 0x190]
cdq
push edx
push eax
call fcn.1000d5c0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10042336
mov eax, dword [eax]
push eax
call fcn.1004bbc6
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x190]
call fcn.1001032f
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x4dbf
jl 0x1004231c
inc esi
cmp esi, 0x1b6d
jl 0x10042317
mov byte [ebp - 0x11], bl
cmp dword [ebp - 0x20], 0x3838
jge 0x10042378
push 0x1000ba60
call fcn.1004bbc6
pop ecx
mov dword [ebp - 4], 3
cmp byte [ebp - 0x11], 0
je 0x10042391
push ebx
push 0xe1
call dword [sym.imp.USER32.dll_GetWindowInfo]
inc dword [ebp - 0x1c]
jmp 0x100422e2
mov dword [ebp - 0x1c], ebx
jmp 0x10042478
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x28], 0x51aaf19
mov dword [ebp - 0x28], 0x4600ebe6
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x10042466
mov dword [ebp - 0x38], 0x77c83be7
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x20]
jne 0x100423f7
mov ecx, edi
cmp dword [ebp - 0x18], ebx
jne 0x100423f9
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfffb
setle cl
cmp eax, ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0xe4]
sbb ecx, ecx
inc ecx
mov eax, dword [edx + eax*4]
add eax, ecx
jne 0x1004242d
mov ecx, ebx
cmp dword [edx], ebx
je 0x1004242f
mov ecx, edi
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x20], ebx
jne 0x1004246f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x100423c5
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x100423a1
dec dword [ebp - 0x24]
jmp 0x100422cf
mov eax, dword [ebp - 0x24]
push 4
mov dword [ebp - 0x18], 0x9a67e99e
pop esi
jmp 0x100424ad
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100424ad
push 0x11ff
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.10010025
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10042667
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 0xb5a47b6c
mov dword [ebp - 0x30], 0x4ee00b46
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x1c], ebx
jmp 0x100424fb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0x1b3c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100424ea
mov dword [ebp - 0x1c], ebx
jmp 0x10042510
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10042506
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x100425da
mov dword [ebp - 0x3c], 2
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x3c], 0x2abbf9ac
push 2
call fcn.1000ffa3
mov dword [ebp - 0x18], ebx
jmp 0x10042563
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xa34c865b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10042550
mov eax, dword [ebp - 0xfc]
inc dword [eax]
mov dword [ebp - 0x18], ebx
jmp 0x100425bb
mov dword [ebp - 0x30], 0x8807383c
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov esi, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], esi
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp esi, eax
setle cl
xor eax, eax
cmp ecx, edx
setle al
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10042576
lea ecx, [ebp - 0xfc]
call fcn.10010025
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x10042522
push 4
pop esi
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
imul ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
sete dl
sub edx, 0x70ce404d
neg edx
sbb edx, edx
inc edx
cmp esi, edx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setge dl
sub edx, eax
je 0x10042618
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x1004261a
mov eax, ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x10042629
cmp dword [ebp - 0x50], ebx
je 0x10042629
mov ebx, edi
cmp ebx, dword [ebp - 0x4c]
jne 0x10042634
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x48]
sub dword [ebp - 0x24], eax
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], 0xfffffffa
jmp 0x10043389
mov dword [ebp - 0x18], 0x7e2799ac
mov dword [ebp - 0x30], 0x872fa4ad
mov dword [ebp - 0x18], 0xfffffff6
jmp 0x1004271a
mov dword [ebp - 0x28], 0x7cefa9d1
mov dword [ebp - 0x30], 0x6eed1e12
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x2c], 0xe5ab06c0
mov dword [ebp - 0x30], 0x173b
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
xor edx, edx
cmp dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x2c]
setg cl
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042717
push ebx
push 0x1eee
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10042681
mov eax, dword [0x1060aa30]
test al, 2
jne 0x100427bc
or eax, 2
mov dword [0x1060aa30], eax
push ebx
mov dword [ebp - 4], 6
push ebx
mov dword [0x1060aa10], ebx
mov dword [0x1060aa14], ebx
call fcn.1003652e
mov dword [0x1060aa10], eax
mov dword [0x1060aa18], ebx
mov dword [0x1060aa20], ebx
mov byte [ebp - 4], 8
mov ecx, 0x1060aa18
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
push 0x10
push ebx
lea eax, [ebp - 0x144]
mov dword [0x1060aa2c], 0x3f800000
push eax
mov dword [0x1060aa1c], ebx
call fcn.10036306
push 0x10062211
mov dword [0x1060aa24], 7
mov dword [0x1060aa28], 8
call fcn.1004bb9c
or dword [ebp - 4], 0xffffffff
pop ecx
mov dword [ebp - 0x18], 0x6f5a9c4c
mov dword [ebp - 0x2c], 0x91c5534b
mov dword [ebp - 0x2c], 0xa6e6f7fb
mov dword [ebp - 0x2c], 0x90ef307d
mov dword [ebp - 0x2c], 0xb844a754
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x30], 0x3a266d21
mov dword [ebp - 0x1c], ebx
jmp 0x10042803
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 0x3d8d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100427f2
mov dword [ebp - 0x1c], ebx
jmp 0x1004281e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x16c], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1004280d
cmp dword [ebp - 0x9c], ebx
jne 0x10042841
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
add ecx, 0xffff
dec dword [ebp - 0x30]
cmp eax, ecx
mov eax, ebx
jle 0x10042843
mov eax, edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ebx
jmp 0x10042889
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042869
push 0x14be
push 0x23c5
push 0x229f
call dword [sym.imp.USER32.dll_EnableScrollBar]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042886
push 0x1f2e
push ebx
push ebx
push ebx
push 0x715
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff7
jl 0x1004284b
xorps xmm0, xmm0
movdqu xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0x18], 0x25b9b55b
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x2c], 0x528ace4b
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jge 0x10042975
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000c1c0]
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x164]
mov dword [ebp - 0x28], 0xfffffffa
push eax
push ebx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], ebx
movdqu xmmword [ebp - 0x164], xmm0
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
call fcn.10011e57
mov dword [ebp - 0x38], 0xf3ac9d73
mov edx, edi
cmp dword [ebp - 0x28], ebx
jne 0x1004290b
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setl cl
sub ecx, 0x1a17e59
cmp dword [ebp - 0x28], ecx
jl 0x1004292d
mov eax, dword [ebp - 0x84]
cmp dword [eax + 8], ebx
mov eax, edi
jne 0x1004292f
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
jne 0x10042943
mov edx, ebx
cmp dword [ebp - 0x30], ebx
je 0x10042945
mov edx, edi
mov eax, dword [ebp - 0x84]
xor ecx, ecx
cmp edx, dword [eax]
setg cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x84]
cmp dword [ebp - 0x18], ebx
jne 0x10042970
call fcn.10010025
inc dword [ebp - 0x18]
js 0x100428bb
jmp 0x10042975
call fcn.10010025
lea eax, [ebp - 0x40]
push eax
call fcn.100434d8
mov eax, dword [eax]
mov dword [ebp - 0x20], 0x110c93b4
mov dword [ebp - 0x6c], 5
mov dword [ebp - 0x38], 0x225189d9
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0xa325cf16
mov dword [ebp - 0x2c], 0xc34f9703
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ebx
jmp 0x100429c3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13c], 0x8b15b45b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100429b2
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffffb
jne 0x10042bd3
push 2
lea ecx, [ebp - 0xa8]
call fcn.1000ffa3
mov dword [ebp - 4], 9
mov dword [ebp - 0x24], 0x5e6d
cmp dword [ebp - 0x24], 0x61ce
jle 0x10042a43
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], 0x202e
mov edi, ebx
mov ebx, dword [ebp - 0x28]
mov ecx, edi
mov eax, ebx
sar eax, cl
mov ecx, 0x10609898
cdq
push edx
push eax
call fcn.1000fe8e
inc edi
cmp edi, 0xa3
jl 0x10042a0b
add ebx, esi
dec dword [ebp - 0x18]
push 0
mov dword [ebp - 0x28], ebx
pop ebx
jne 0x10042a06
inc esi
cmp esi, 0x2459
jl 0x100429fc
xor edi, edi
push 4
inc edi
pop esi
mov dword [ebp - 0x28], 0x62677e16
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x24], 0x5acb
jge 0x10042a8a
mov edx, 0x1000ba78
mov ecx, 0x10609898
call fcn.10011938
jmp 0x10042a8a
push 7
pop edx
mov dword [ebp - 0x1c], ebx
jmp 0x10042a9c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x78], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10042a92
mov dword [ebp - 0x1c], ebx
jmp 0x10042aba
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0x95dbc2a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10042aa7
mov eax, dword [ebp - 0x20]
cmp edx, eax
sbb eax, eax
add eax, 0xffff12c1
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, 0xffff
jne 0x10042aee
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
sub edx, 0x8a60
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x6c]
jne 0x10042bb5
mov dword [ebp - 0x24], 0x46c8c5ce
mov dword [ebp - 0x18], ebx
jmp 0x10042b36
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0x4886255d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10042b25
dec dword [ebp - 0x44]
cmp dword [ebp - 0x38], ebx
je 0x10042b50
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x2c]
mov eax, edi
cmp dword [ebp - 0x74], ebx
jg 0x10042b52
mov eax, ebx
xor ecx, ecx
cmp eax, 0xfff7
mov eax, dword [ebp - 0x20]
sete cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xa8]
cmp dword [eax + 4], edx
setl cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
sete dl
sub edx, 6
neg edx
sbb edx, edx
xor ecx, ecx
add edx, 0xfffffff7
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
setg cl
mov dword [ebp - 0x38], ecx
jmp 0x10042c9f
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], 0x720237ae
cmp dword [ebp - 0x74], ebx
je 0x10042c16
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.10010025
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042beb
push ebx
push ebx
push 0x91
push ebx
push ebx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp byte [ebp + 0xc], 0
jne 0x10042bfb
cmp dword [ebp - 0x30], 0
jne 0x10042e43
push esi
lea ecx, [ebp - 0x108]
call fcn.1000ffa3
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10042cc5
imul ecx, dword [ebp - 0x18], 0x9c14
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x18]
imul eax, edx, 0xaf40
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x18]
setns dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0xa8]
setle cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp eax, dword [edx + 4]
setl cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0x9135
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x28]
setl cl
add edx, ecx
xor ecx, ecx
cmp eax, 2
setl cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x75cab9be
setne cl
xor eax, eax
cmp edx, ecx
setle al
mov dword [ebp - 0x134], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.10010025
dec dword [ebp - 0x20]
jmp 0x100429cc
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10042cb6
mov dword [ebp - 0x18], ebx
jmp 0x10042cf8
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0x73ff82f
dec dword [ebp - 0x2c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042cf5
push 0x1983
push 0x2153
call dword [sym.imp.USER32.dll_ReleaseDC]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10042ccf
lea ecx, [ebp - 0x108]
call fcn.10010025
mov dl, byte [ebp + 0xc]
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 0x40]
push eax
call fcn.10036d36
mov esi, eax
lea edi, [ebp - 0xc4]
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xf8d9a2b8
mov dword [ebp - 0x20], ebx
jmp 0x10042d45
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x150], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10042d34
push 2
mov dword [ebp - 0x20], ebx
pop ecx
jmp 0x10042d61
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x58], 0xe83c7730
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10042d53
mov dword [ebp - 0x54], ebx
jmp 0x10042dfa
mov dword [ebp - 0x20], 0xccbad86e
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x10042de5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10042ddb
mov dword [ebp - 0x2c], 0xd42ca8cd
mov dword [ebp - 0x18], 0x2ba29f58
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x150]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x18], 0x2c9ebf49
mov dword [ebp - 0x18], ebx
jmp 0x10042dd3
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042dd0
push ebx
push ebx
push 0x1258
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 2
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x10042db5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x10042d85
dec dword [ebp - 0x20]
jns 0x10042d7d
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042df7
call dword [sym.imp.USER32.dll_WaitMessage]
push 2
pop ecx
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], ecx
jle 0x10042d6e
mov dword [ebp - 0x18], 0x1a
jmp 0x10042e1b
mov dword [ebp - 0x2c], 0xa56718e5
cmp dword [ebp - 0x2c], ebx
jne 0x10042e21
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
je 0x10042e0c
cmp byte [ebp + 0xc], 0
je 0x10042e43
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x10042e43
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x24], 0xfffffffe
xor esi, esi
mov dword [ebp - 0x28], 0x1078932
inc esi
mov dword [ebp - 0x24], 0xa
cmp dword [ebp - 0x24], 0xffffffe2
jge 0x10042f11
mov dword [ebp - 0x20], 0xf251d69f
lea ecx, [ebp - 0xf0]
push esi
call fcn.1000ffa3
mov dword [ebp - 0x18], ebx
jmp 0x10042e90
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x8306
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10042e7d
mov dword [ebp - 0x20], 0x1c
jmp 0x10042ebe
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042ebb
push 0x1f2e
push ebx
push ebx
push ebx
push 0x715
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffe
jg 0x10042e9e
mov dword [ebp - 0x20], 0x14
jmp 0x10042ef8
mov dword [ebp - 0x18], 0x27439cb6
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10042ef5
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0xf0]
cmp dword [eax + ecx*4], ebx
sete dl
mov dword [ebp - 0x28], edx
dec dword [ebp - 0x18]
jns 0x10042edc
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff2
jl 0x10042ecd
lea ecx, [ebp - 0xf0]
call fcn.10010025
dec dword [ebp - 0x24]
jmp 0x10042e5b
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
test edi, edi
jne 0x10043146
cmp dword [ebp - 0xc4], edi
jle 0x10043146
mov dword [ebp - 0x28], 0x860b4ffb
mov dword [ebp - 0x18], ebx
jmp 0x10042f4b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10042f3a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042f60
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ebx
jl 0x10042f87
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042f82
push 0x124f
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
dec dword [ebp - 0x28]
jns 0x10042f6c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10042fc1
mov dword [ebp - 0x18], 0xe5ccc90a
mov dword [ebp - 0x18], ebx
jmp 0x10042fb8
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10042fb2
push ebx
push ebx
push 0x1ec9
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jle 0x10042f9b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xd
jle 0x10042f8f
mov edi, dword [ebp - 0xc0]
mov dword [ebp - 0x38], edi
test edi, edi
je 0x10043143
mov dword [ebp - 0x28], 3
push 7
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x7f759609
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ebx
jmp 0x10043005
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x124], 0xcec79e67
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10042ff4
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0x12
jle 0x1004312d
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0xebb0cb8c
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x2c], 0xed3c15d0
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xd91509cf
mov dword [ebp - 0x2c], 0xcfbce008
mov dword [ebp - 0x2c], 0x7bbc
cmp dword [ebp - 0x2c], 0x7d02
jle 0x10043093
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x44], ebx
mov ecx, ebx
lea eax, [edi + esi]
shl eax, cl
mov ecx, 0x10609898
cdq
push edx
push eax
call fcn.1000fe8e
inc ebx
cmp ebx, 0x7fa7
jl 0x1004305b
inc edi
push 0
pop ebx
cmp edi, 0x7af3
jl 0x10043058
inc esi
cmp esi, 0xdde
jl 0x10043056
mov edi, dword [ebp - 0x38]
xor esi, esi
inc esi
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0x7a0c
jge 0x100430b2
mov edx, 0x1000bad0
mov ecx, 0x10609898
call fcn.10011938
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x100430f4
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x154], 0x92eda8ed
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100430e3
mov dword [ebp - 0x20], ebx
jmp 0x1004310c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], 0xcb1a7a81
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100430fe
dec dword [ebp - 0x5c]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043125
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
inc dword [ebp - 0x28]
jmp 0x1004300d
mov ecx, edi
call fcn.10041f25
mov edi, eax
lea eax, [ebp - 0x40]
push eax
call fcn.100434d8
mov dword [eax], edi
jmp 0x10043146
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0xc4]
call fcn.1003da6c
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
je 0x1004317f
mov eax, dword [ebp - 0x24]
mov ecx, esi
xor eax, eax
cmp ecx, esi
setge al
neg eax
je 0x10043183
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100431a5
push 0x1586
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x100431a5
mov ecx, ebx
jmp 0x1004315e
mov dword [ebp - 0x24], ebx
jmp 0x1004319f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004319c
push 0x1309
call dword [sym.imp.GDI32.dll_EndPage]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x16
jl 0x10043188
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x10043389
test edi, edi
je 0x10043389
push 2
lea ecx, [ebp - 0x120]
call fcn.1000ffa3
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], 0x6a9ef72d
mov dword [ebp - 0x2c], 0xc3eee2fd
mov dword [ebp - 0x2c], 8
push 2
call fcn.1000ffa3
push 2
mov dword [ebp - 0x2c], 0xe2db80eb
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x10043217
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0xea75c96
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10043204
mov dword [ebp - 0x1c], ebx
jmp 0x10043230
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10043221
mov dword [ebp - 0x1c], ebx
jmp 0x1004324b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcc], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1004323a
inc dword [ebp - 0xc8]
lea ecx, [ebp - 0x114]
inc dword [ebp - 0x2c]
call fcn.10010025
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.10010025
mov edx, dword [ebp - 0x3c]
mov ecx, edi
call fcn.10041f62
mov esi, eax
mov dword [ebp - 0x18], 0xf8d9a2b8
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x20], ebx
jmp 0x100432a2
mov ecx, dword [ebp - 0x20]
mov dword [ebp + ecx*4 - 0x130], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10043291
push 2
mov dword [ebp - 0x20], ebx
pop ecx
jmp 0x100432be
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x64], 0xe83c7730
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100432b0
mov dword [ebp - 0x60], ebx
jmp 0x10043357
mov dword [ebp - 0x20], 0xccbad86e
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x10043342
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
jmp 0x10043338
mov dword [ebp - 0x3c], 0xd42ca8cd
mov dword [ebp - 0x18], 0x2ba29f58
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x130]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x18], 0x2c9ebf49
mov dword [ebp - 0x18], ebx
jmp 0x10043330
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004332d
push ebx
push ebx
push 0x1258
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 2
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x10043312
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x100432e2
dec dword [ebp - 0x20]
jns 0x100432da
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10043354
call dword [sym.imp.USER32.dll_WaitMessage]
push 2
pop ecx
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], ecx
jle 0x100432cb
mov dword [ebp - 0x18], 0x1a
jmp 0x10043378
mov dword [ebp - 0x3c], 0xa56718e5
cmp dword [ebp - 0x3c], ebx
jne 0x1004337e
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
je 0x10043369
lea eax, [ebp - 0x68]
push eax
call fcn.10043476
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x98]
mov ecx, dword [ebp - 0xc]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret