Function at 0x414850
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x451b5c]
sub esp, 0xc
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push ebx
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x4158ba
call fcn.00420a90
mov ebx, eax
cmp bl, 9
jne 0x414930
cmp dword [0x453358], 0
jne 0x4148c5
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x10
mov dword [0x643934], 0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4148eb
call fcn.0041d190
jmp 0x4148f0
call fcn.0041cba0
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x4148f0
cmp bl, 0x1b
jne 0x414a00
cmp dword [0x453358], 0
jne 0x414956
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
movaps xmm0, xmmword [0x44a780]
mov dword [0x453338], 0
movups xmmword [0x695e58], xmm0
mov word [0x695e78], 0x2020
movups xmmword [0x695e68], xmm0
mov dword [0x695e30], 0
mov dword [0x4530dc], 0
mov dword [0x663554], 0
mov dword [0x4530d8], 0x270f
mov dword [0x643934], 0
nop dword [eax + eax]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x4149c0
test bl, bl
je 0x414a17
cmp ebx, 0xe0
je 0x414a17
mov edx, dword [0x643934]
jmp 0x414d50
call fcn.00420a90
mov ebx, eax
mov eax, 0x378
cmp bl, 0x4b
cmove ebx, eax
mov eax, 0x309
cmp bl, 0x4d
cmove ebx, eax
cmp bl, 0x48
jne 0x414a46
xor edx, edx
lea ebx, [eax - 0x6f]
mov dword [0x643934], edx
jmp 0x414a4c
mov edx, dword [0x643934]
cmp bl, 0x50
jne 0x414a5e
xor edx, edx
mov ebx, 0x22b
mov dword [0x643934], edx
cmp bl, 0x47
jne 0x414ab2
mov dword [0x643934], 0
call fcn.0041d9a0
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x414a72
cmp bl, 0x4f
jne 0x414b10
mov dword [0x643934], 0
call fcn.0041da50
nop word [eax + eax]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x414ad0
cmp bl, 0x49
jne 0x414c10
mov eax, dword [0x453604]
add eax, 0xfffffce0
mov dword [0x643934], 0
cmp eax, 0x7d00
jae 0x414bc2
sub dword [0x663554], 0x19
cmp dword [0x695e30], 2
mov dword [0x453604], eax
jne 0x414b7d
xor eax, eax
xor ecx, ecx
cmp eax, 0x2a
jae 0x4158f8
mov byte [eax + 0x695e58], 0
inc ecx
add eax, 2
cmp ecx, 0x10
jl 0x414b51
cmp dword [0x451af4], 0
je 0x414b7d
mov dword [0x648bd4], 1
cmp dword [0x453358], 0
jne 0x414b9a
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x50
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x643e68], 0xd
mov dword [0x4530b4], 0xd
mov dword [0x451b20], 2
jmp 0x414bd0
call fcn.0041d9a0
nop word [eax + eax]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x414bd0
cmp bl, 0x51
jne 0x414d30
mov edx, dword [0x4535e8]
mov eax, edx
mov ecx, dword [0x453604]
shl eax, 5
add ecx, 0x320
sub eax, 0x320
mov dword [0x643934], 0
cmp ecx, eax
jae 0x414ce1
cmp edx, 0x18
jbe 0x414ce1
add dword [0x663554], 0x19
cmp dword [0x695e30], 2
mov dword [0x453604], ecx
jne 0x414c9c
xor eax, eax
xor ecx, ecx
nop word [eax + eax]
cmp eax, 0x2a
jae 0x4158f8
mov byte [eax + 0x695e58], 0
inc ecx
add eax, 2
cmp ecx, 0x10
jl 0x414c70
cmp dword [0x451af4], 0
je 0x414c9c
mov dword [0x648bd4], 1
cmp dword [0x453358], 0
jne 0x414cb9
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x50
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x643e68], 0xd
mov dword [0x4530b4], 0xd
mov dword [0x451b20], 2
jmp 0x414cf0
call fcn.0041da50
nop word [eax + eax]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x414cf0
cmp ebx, 0x29a
je 0x414d50
cmp ebx, 0x22b
je 0x414d50
cmp ebx, eax
je 0x414d50
cmp ebx, 0x378
jne 0x41538b
cmp bl, 0x41
jl 0x414d5e
cmp bl, 0x5a
jle 0x414dfc
cmp bl, 0x30
jl 0x414d6c
cmp bl, 0x39
jle 0x414dfc
cmp bl, 0x61
jl 0x414d7a
cmp bl, 0x7a
jle 0x414dfc
cmp bl, 0x20
je 0x414dfc
cmp bl, 0xd
je 0x414ee6
cmp bl, 8
je 0x414dfc
cmp bl, 0x2e
je 0x414dfc
cmp bl, 0x2b
je 0x414dfc
cmp bl, 0x2d
je 0x414dfc
cmp bl, 0x26
je 0x414dfc
cmp bl, 0x21
je 0x414dfc
cmp bl, 0x2a
je 0x414dfc
cmp bl, 0x2c
je 0x414dfc
cmp bl, 0x2f
je 0x414dfc
cmp bl, 0x3a
je 0x414dfc
cmp bl, 0x28
je 0x414dfc
cmp bl, 0x29
je 0x414dfc
cmp bl, 0x22
je 0x414dfc
cmp bl, 0x27
je 0x414dfc
cmp bl, 0x40
je 0x414dfc
cmp bl, 0x3f
je 0x414dfc
cmp ebx, 0x309
je 0x414dfc
cmp ebx, 0x378
je 0x414dfc
cmp ebx, 0x29a
je 0x414dfc
cmp ebx, 0x22b
jne 0x41538b
mov ecx, dword [0x695e30]
lea eax, [ecx - 2]
cmp eax, 2
ja 0x4153a8
cmp ecx, 2
jne 0x414e97
test edx, edx
je 0x414e97
xor eax, eax
cmp bl, 0x2a
je 0x414e27
cmp bl, 0x2c
jne 0x414e2c
mov eax, 1
cmp bl, 0x3a
je 0x414e36
cmp bl, 0x21
jne 0x414e3b
mov eax, 1
cmp bl, 0x2d
je 0x414e45
cmp bl, 0x2b
jne 0x414e4a
mov eax, 1
cmp bl, 0x20
je 0x414e54
cmp bl, 0x2e
jne 0x414e59
mov eax, 1
cmp bl, 0x28
je 0x414e63
cmp bl, 0x29
jne 0x414e68
mov eax, 2
cmp bl, 0x22
je 0x414e72
cmp bl, 0x27
jne 0x414e77
mov eax, 2
cmp bl, 0x3f
je 0x414e85
cmp bl, 0x40
je 0x414e85
test eax, eax
je 0x414e97
xor edx, edx
mov dword [0x453300], 1
mov dword [0x643934], edx
mov dword [ebp - 0xc], 0
cmp bl, 8
jne 0x4151a0
mov ebx, dword [0x453338]
cmp ebx, 2
jae 0x414fc0
cmp dword [0x453358], 0
jne 0x415463
push 5
push dword [0x695eb8]
push dword [0x648bc8]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x695e76], 0x20
mov eax, 0x1e
jne 0x414f1d
test eax, eax
jle 0x414f16
cmp eax, 0x2a
jae 0x4158f8
mov byte [eax + 0x695e58], 0
sub eax, 2
cmp byte [eax + 0x695e58], 0x20
je 0x414ef4
test eax, eax
je 0x414f68
cmp eax, 0x63
je 0x414f68
cmp byte [0x695e58], 0x20
jne 0x414f68
mov dx, word [0x643434]
mov esi, 0x695e5a
xor ecx, ecx
mov al, byte [esi + ecx]
mov byte [ecx + 0x695e58], al
add ecx, 2
cmp ecx, 0x1e
jl 0x414f34
cmp ecx, 0x2a
jae 0x4158f8
add dx, dx
mov byte [ecx + 0x695e58], 0
cmp byte [0x695e58], 0x20
mov word [0x643434], dx
je 0x414f32
cmp dword [0x453358], 0
mov dword [0x4530dc], 0
mov dword [0x453338], 0
mov dword [0x643b58], 1
mov dword [0x643934], 0
jne 0x415463
push 5
push dword [0x695eb8]
push dword [0x4530c0]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov si, word [0x643434]
add ebx, 0xfffffffe
mov dword [0x453338], ebx
mov word [ebp - 2], si
cmp ebx, 0x1e
jg 0x41501f
mov eax, ebx
mov cl, 0x10
cdq
add si, si
sub eax, edx
sar eax, 1
movzx edx, ax
sub cl, dl
shr word [ebp - 2], cl
mov ecx, 0x10
sub ecx, eax
mov eax, 0xffff
shl word [ebp - 2], cl
mov cx, dx
shr ax, cl
mov ecx, dword [0x695e30]
and ax, si
mov si, word [ebp - 2]
or si, ax
mov word [ebp - 2], si
mov word [0x643434], si
mov byte [ebx + 0x695e58], 0x20
cmp byte [ebx + 0x695e56], 0x23
jne 0x4150b2
cmp ecx, 2
jne 0x4150b2
lea eax, [ebx - 2]
lea ecx, [ebx - 2]
mov dword [ebp - 8], ecx
cmp eax, 0x1e
jg 0x4150b2
cdq
sub eax, edx
mov edx, 0x8000
sar eax, 1
mov cx, ax
shr dx, cl
test si, dx
je 0x4150b2
mov eax, dword [ebp - 8]
mov cl, 0x10
mov ebx, eax
mov dword [ebp - 0xc], 1
cdq
sub eax, edx
mov dword [0x453338], ebx
sar eax, 1
movzx edx, ax
sub cl, dl
shr si, cl
mov ecx, 0x10
sub ecx, eax
mov ax, word [ebp - 2]
shl si, cl
add ax, ax
mov cx, dx
mov edx, 0xffff
shr dx, cl
mov ecx, ebx
and dx, ax
or si, dx
mov word [0x643434], si
mov byte [ecx + 0x695e58], 0x20
cmp dword [0x695e30], 2
jne 0x41512f
lea eax, [ebx + 2]
mov byte [0x695e78], 0x20
cmp eax, 0x22
jae 0x4150f4
mov esi, 2
lea edx, [ebx + 0x695e58]
sub esi, 0x695e58
nop
mov al, byte [edx + 2]
lea edx, [edx + 2]
mov byte [edx - 2], al
lea eax, [esi + edx]
cmp eax, 0x22
jb 0x4150e0
lea eax, [ebx + 2]
cmp dword [ebp - 0xc], 0
je 0x415128
mov byte [0x695e78], 0x20
cmp eax, 0x22
jae 0x415128
mov esi, 2
lea edx, [ebx + 0x695e58]
sub esi, 0x695e58
mov al, byte [edx + 2]
lea edx, [edx + 2]
mov byte [edx - 2], al
lea eax, [edx + esi]
cmp eax, 0x22
jb 0x415117
mov byte [0x695e78], 0x20
cmp dword [0x453358], 0
jne 0x41514c
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x415160
cmp ebx, 0x378
jne 0x415251
mov esi, dword [0x453338]
cmp esi, 2
jb 0x414eb6
add esi, 0xfffffffe
mov dword [0x453338], esi
cmp byte [esi + 0x695e56], 0x23
jne 0x4151ec
movzx eax, word [0x643434]
lea ecx, [esi - 2]
shr ecx, 1
mov edx, 0x8000
sar edx, cl
test eax, edx
je 0x4151ec
lea eax, [esi - 2]
mov dword [0x453338], eax
cmp dword [0x453358], 0
jne 0x415209
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x415211
cmp ebx, 0x309
jne 0x415311
mov esi, dword [0x453338]
cmp ecx, 2
mov eax, 0xa
mov edx, 0x1c
cmove eax, edx
cmp esi, eax
ja 0x414eb6
add esi, 2
mov dword [0x453338], esi
cmp byte [esi + 0x695e56], 0x23
jne 0x4152ac
movzx eax, word [0x643434]
lea ecx, [esi - 2]
shr ecx, 1
mov edx, 0x8000
sar edx, cl
test eax, edx
je 0x4152ac
lea eax, [esi + 2]
mov dword [0x453338], eax
cmp dword [0x453358], 0
jne 0x4152c9
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x451b5c]
test ecx, ecx
js 0x4158f1
cmp ecx, dword [0x695ec4]
jge 0x4158f1
mov eax, dword [0x695edc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4158f1
push 0xffffffffffffffeb
push eax
call edi
cmp dword [eax + 0x38], 0
je 0x41538b
call fcn.00420a90
jmp 0x4152d1
cmp ebx, 0x29a
je 0x415325
cmp ebx, 0x22b
jne 0x4153a8
mov dword [0x453a1c], 0x20
cmp ebx, 0x22b
jne 0x415341
mov dword [0x453a1c], 0x21
cmp dword [0x453358], 0
jne 0x41535e
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x453a1c], 0x20
mov eax, dword [0x451b10]
jne 0x415377
inc eax
jmp 0x415378
dec eax
mov dword [0x451b10], eax
test eax, eax
jns 0x415392
mov dword [0x451b10], 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x14
jle 0x41538b
pop edi
pop esi
mov dword [0x451b10], 0
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
cmp ecx, 5
je 0x4153b9
cmp ecx, 6
je 0x4153b9
cmp ecx, 1
jne 0x4153be
mov esi, 1
lea eax, [ecx - 8]
mov edi, 1
cmp eax, 5
cmovbe esi, edi
cmp ecx, 0xf
je 0x4153db
cmp ecx, 0x10
je 0x4153db
cmp ecx, 0x11
jne 0x4153dd
mov esi, edi
lea eax, [ecx - 0x12]
cmp eax, 0x17
jbe 0x41541a
test esi, esi
jne 0x41541a
cmp ebx, 0x22b
je 0x415446
cmp ebx, 0x29a
je 0x415446
mov edi, dword [0x453338]
cmp ecx, 4
jne 0x415508
cmp bl, 0x2b
jne 0x415472
test edi, edi
jne 0x41538b
jmp 0x415545
cmp ebx, 0x29a
jne 0x41542a
mov dword [0x453a1c], edi
jmp 0x41543c
cmp ebx, 0x22b
jne 0x4153f9
mov dword [0x453a1c], 2
mov dword [0x453338], 0
cmp dword [0x453358], 0
jne 0x415463
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x5a
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp bl, 0x2d
jne 0x415484
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x50
jne 0x415496
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x4d
jne 0x4154a8
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x70
jne 0x4154ba
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x6d
jne 0x4154cc
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x4e
jne 0x4154db
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x6e
jne 0x4154ea
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x53
jne 0x4154f9
test edi, edi
jne 0x41538b
jmp 0x415545
cmp bl, 0x73
jne 0x415512
test edi, edi
jne 0x41538b
jmp 0x415545
cmp ecx, 3
je 0x415512
cmp ecx, 4
jne 0x415529
cmp bl, 0x2e
je 0x415529
cmp bl, 0x30
jl 0x41538b
cmp bl, 0x39
jg 0x41538b
cmp ecx, 0xe
jne 0x415545
cmp bl, 0x2f
je 0x415545
cmp bl, 0x30
jl 0x41538b
cmp bl, 0x39
jg 0x41538b
xor eax, eax
mov dword [ebp - 8], eax
cmp ecx, 2
jne 0x41555c
mov eax, 0x1f
mov dword [ebp - 8], eax
jmp 0x41561d
cmp ecx, 3
jne 0x41558c
mov eax, 0xd
mov dword [ebp - 8], eax
cmp edi, 6
jne 0x41561d
cmp bl, 0x2e
je 0x41561d
mov byte [0x695e5e], 0x2e
mov edi, 8
jmp 0x41561d
cmp ecx, 0xe
jne 0x4155b7
mov eax, 9
mov dword [ebp - 8], eax
cmp edi, 4
jne 0x41561d
cmp bl, 0x2f
je 0x41561d
mov byte [0x695e5c], 0x2f
lea edi, [ecx - 8]
jmp 0x41561d
cmp ecx, 4
jne 0x41560a
mov eax, 0xd
mov dword [ebp - 8], eax
cmp edi, 8
jne 0x4155ee
cmp byte [0x695e58], 0x2b
je 0x4155db
cmp byte [0x695e58], 0x2d
jne 0x41561d
cmp bl, 0x2e
je 0x41561d
mov byte [0x695e60], 0x2e
mov edi, 0xa
jmp 0x41561d
cmp edi, 6
jne 0x41561d
cmp byte [0x695e58], 0x2b
je 0x41561d
cmp byte [0x695e58], 0x2d
je 0x41561d
jmp 0x415572
cmp ecx, 1
jle 0x415614
cmp ecx, 5
jl 0x41561d
cmp ecx, 0xe
jne 0x4158c0
xor esi, esi
test edx, edx
je 0x415631
cmp ecx, 2
mov dword [ebp - 0xc], 2
cmove esi, dword [ebp - 0xc]
sub eax, esi
cmp edi, eax
jbe 0x4156d8
cmp ecx, 2
jne 0x4156ca
test edx, edx
je 0x4156ca
mov byte [0x695e78], 0x20
mov ecx, 0x20
nop dword [eax + eax]
mov al, byte [ecx + 0x695e56]
mov byte [ecx + 0x695e58], al
sub ecx, 2
test ecx, ecx
jg 0x415660
mov dx, word [0x643434]
mov ecx, 0x20
shr dx, 1
mov byte [0x695e78], 0x20
nop dword [eax]
mov al, byte [ecx + 0x695e56]
mov byte [ecx + 0x695e58], al
sub ecx, 2
test ecx, ecx
jg 0x415690
shr dx, 1
mov eax, 0x8000
or dx, ax
mov byte [0x695e5a], bl
mov word [0x643434], dx
add esi, 2
mov byte [0x695e58], 0x23
jmp 0x415880
mov byte [0x695e58], bl
add esi, 2
jmp 0x415880
cmp ecx, 2
jne 0x41581a
mov ecx, 0x20
mov byte [0x695e78], 0x20
cmp edi, ecx
jae 0x415704
mov al, byte [ecx + 0x695e56]
mov byte [ecx + 0x695e58], al
sub ecx, 2
cmp ecx, edi
ja 0x4156f1
mov si, word [0x643434]
mov word [ebp - 2], si
cmp edi, 0x1e
jg 0x41575a
mov eax, edi
shr si, 1
cdq
mov cl, 0x10
sub eax, edx
sar eax, 1
movzx edx, ax
sub cl, dl
shr word [ebp - 2], cl
mov ecx, 0x10
sub ecx, eax
mov eax, 0xffff
shl word [ebp - 2], cl
lea ecx, [edx + 1]
mov edx, dword [0x643934]
shr ax, cl
and ax, si
mov si, word [ebp - 2]
or si, ax
mov word [ebp - 2], si
mov word [0x643434], si
test edx, edx
je 0x4157e7
mov ecx, 0x20
mov byte [0x695e78], 0x20
cmp edi, ecx
jae 0x415793
nop dword [eax]
nop word [eax + eax]
mov al, byte [ecx + 0x695e56]
mov byte [ecx + 0x695e58], al
sub ecx, 2
cmp ecx, edi
ja 0x415780
cmp edi, 0x1e
jg 0x4157e7
mov eax, edi
mov cl, 0x10
cdq
sub eax, edx
sar eax, 1
movzx edx, ax
sub cl, dl
shr si, cl
mov ecx, 0x10
sub ecx, eax
mov eax, 0xffff
shl si, cl
lea ecx, [edx + 1]
shr ax, cl
mov cx, word [ebp - 2]
shr cx, 1
and ax, cx
mov cx, dx
mov edx, dword [0x643934]
or si, ax
mov eax, 0x8000
shr ax, cl
or ax, si
mov word [0x643434], ax
jmp 0x4157eb
mov ax, word [ebp - 2]
cmp byte [0x695e76], 0x23
mov byte [0x695e78], 0x20
jne 0x415814
test al, 1
je 0x415814
mov ecx, 0xffff
mov byte [0x695e76], 0x20
add ax, cx
mov word [0x643434], ax
mov ecx, dword [0x695e30]
mov byte [edi + 0x695e58], bl
cmp ecx, 4
jne 0x415865
test edi, edi
jne 0x41587d
mov al, byte [0x695e58]
cmp al, 0x73
jne 0x41583b
mov byte [0x695e58], 0x53
jmp 0x41587d
cmp al, 0x4d
je 0x415853
cmp al, 0x4e
je 0x415853
cmp al, 0x50
je 0x41585c
cmp al, 0x70
je 0x41585c
cmp al, 0x6d
je 0x415853
cmp al, 0x6e
jne 0x41587d
mov byte [0x695e58], 0x2d
jmp 0x41587d
mov byte [0x695e58], 0x2b
jmp 0x41587d
cmp ecx, 2
jne 0x41587d
test edx, edx
je 0x41587d
mov byte [edi + 0x695e5a], bl
mov byte [edi + 0x695e58], 0x23
add edi, ecx
lea esi, [edi + 2]
mov dword [0x453338], esi
cmp esi, dword [ebp - 8]
jbe 0x415895
mov dword [0x453338], 0
cmp dword [0x453358], 0
jne 0x4158b2
push 5
push dword [0x695eb8]
push dword [0x695e44]
call dword [sym.imp.WINMM.dll_PlaySoundA]
push 0x50
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x695e30]
cmp dword [0x453300], 0
je 0x41538b
cmp ecx, 2
jne 0x41538b
pop edi
pop esi
mov dword [0x643934], 1
mov dword [0x453300], 0
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call fcn.004253bb
call fcn.004220c2
int3