Function at 0x10036d5f
Capabilities:
Log keystrokes

Disassembly:
mov eax, 0x1006022c
call fcn.1005f330
sub esp, 0x154
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
push 3
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x24], esi
call fcn.1002e184
xor ebx, ebx
lea ecx, [ebp - 0xb4]
push 3
mov dword [ebp - 4], ebx
call fcn.1002e184
xor eax, eax
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x8c], 0xb779
mov dword [ebp - 0x44], ebx
jmp 0x10036ddc
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jl 0x10036dc9
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x44]
call fcn.10035f98
lea eax, [ebp - 0x8c]
push eax
lea edx, [ebp - 0xcc]
lea ecx, [ebp - 0xb4]
call fcn.10036390
pop ecx
lea ecx, [ebp - 0xb4]
call fcn.1002e206
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.1002e206
cmp dword [esi + 0x10], ebx
jne 0x10036e2f
xor al, al
jmp 0x1003767d
push 3
lea ecx, [ebp - 0xe4]
call fcn.1002e184
mov dword [ebp - 4], 2
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x14], ebx
jmp 0x10036e65
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0xf70ad6f2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10036e52
mov dword [ebp - 0x1c], 0x10eb
cmp dword [ebp - 0x1c], 0x122a
jle 0x10036eee
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
xor edi, esi
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x14]
mov esi, edi
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x18]
mov eax, esi
mov ecx, 0x106092f8
or eax, edi
or eax, ebx
cdq
push edx
push eax
call fcn.1002e06f
inc edi
cmp edi, 0x6d06
jl 0x10036e98
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
inc edi
mov dword [ebp - 0x28], edi
push 0
pop ebx
cmp edi, 0x3251
jl 0x10036e88
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0xf17
jl 0x10036e83
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x3169
jl 0x10036e7e
push 0x2548
call dword [sym.imp.KERNEL32.dll_TlsFree]
mov byte [ebp - 0x1d], bl
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1c], 0xdd0
jge 0x10036f2b
mov edx, 0x1000acc4
mov ecx, 0x106092f8
call fcn.1002fb19
jmp 0x10036f2b
cmp byte [ebp - 0x1d], 0
je 0x10036f36
call fcn.10036a5b
lea edx, [ebp - 0xe4]
lea ecx, [ebp - 0xa0]
call fcn.10036aa0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.1002e206
lea ecx, [ebp - 0x68]
call fcn.10036b0e
push dword [ebp - 0x78]
movdqa xmm0, xmmword [0x1000c380]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x88], ebx
push eax
push ebx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x84], ebx
movdqu xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x80], ebx
call fcn.10030038
mov dword [ebp - 4], 5
lea eax, [ebp - 0x74]
push 8
mov dword [ebp - 0x4c], 0xffffffff
lea edx, [ebp - 0x48]
pop edi
mov dword [ebp - 0x74], 0xe71b35d5
lea ecx, [ebp - 0x4c]
push eax
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x88]
mov dword [ebp - 0x58], 0x637eac69
mov dword [ebp - 0x18], 0xecdcc21d
push eax
call fcn.10036b14
pop ecx
pop ecx
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], 3
jg 0x10037100
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x1c], 0x3cf4
cmp dword [ebp - 0x1c], 0x3f1d
jle 0x10037057
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x148]
cdq
push edx
push eax
call fcn.1000d7c0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10037021
mov eax, dword [eax]
push eax
call fcn.1004a056
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x148]
call fcn.1002e510
inc esi
cmp esi, 0x39ed
jl 0x10037003
inc edi
cmp edi, 0x61b3
jl 0x10037001
push 0x2648
push ebx
call dword [sym.imp.USER32.dll_CharLowerBuffW]
push 8
pop edi
mov dword [ebp - 0x50], 1
cmp dword [ebp - 0x1c], 0x3bc3
jge 0x10037072
push 0x1000ad10
call fcn.1004a056
pop ecx
mov dword [ebp - 4], 5
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x48], 3
cmp dword [ebp - 0x48], ebx
jl 0x100370bd
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x88]
push eax
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x7c]
call fcn.10036b9b
add esp, 0x10
lea ecx, [ebp - 0x50]
call fcn.10036c2e
dec dword [ebp - 0x48]
jns 0x1003708f
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x7c]
cmp eax, 6
mov eax, dword [ebp - 0x18]
setle cl
imul eax, dword [ebp - 0x50]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x50]
add ecx, 0xb34e4a53
cmp ecx, eax
mov eax, dword [ebp - 0x58]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x4c]
jmp 0x10036fde
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.1002e206
mov esi, dword [ebp - 0x24]
cmp dword [esi + 0x14], 0x10
jb 0x1003711c
mov ecx, dword [esi]
jmp 0x1003711e
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x60], ecx
jb 0x1003712b
mov edx, dword [esi]
jmp 0x1003712d
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1003767b
mov dword [ebp - 0x5c], 0x88a137b1
lea edx, [ebp - 0x5c]
mov dword [ebp - 0x30], 0xfdb6968
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x14], 0xe5809974
call fcn.10036c33
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
neg ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
setl dl
sub ecx, edx
sub ecx, eax
je 0x10037199
cmp dword [ebp - 0x30], ebx
je 0x10037199
lea ecx, [ebp - 0x31]
mov byte [ebp - 0x31], bl
call fcn.10036c57
jmp 0x100371aa
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x5c], 0xe055a24b
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x60]
mov al, byte [eax]
cmp al, 0x30
jl 0x100371cb
cmp al, 0x39
jg 0x100371cb
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x68]
call fcn.10036c6a
mov ecx, dword [ebp - 0x60]
inc ecx
jmp 0x1003711e
xor eax, eax
mov dword [ebp - 0x38], 0xac453072
inc eax
mov dword [ebp - 0x64], 0xbbd0a708
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0xf0]
push eax
call fcn.1002e184
mov dword [ebp - 4], edi
mov dword [ebp - 0x9c], 0xe1dc630d
mov dword [ebp - 0x14], ebx
jmp 0x10037210
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100371fd
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
setge cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
cmp dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
sete cl
sub eax, ecx
lea ecx, [ebp - 0x38]
neg eax
sbb eax, eax
neg eax
neg eax
je 0x10037347
mov dword [ebp - 0xa8], ebx
lea edx, [ebp - 0x64]
mov dword [ebp - 0x94], 0xfffffffc
call fcn.10036c7e
lea eax, [ebp - 0x6c]
push eax
lea edx, [ebp - 0xa8]
lea ecx, [ebp - 0x94]
call fcn.10036c83
mov dword [ebp - 0x14], 0x53db
cmp dword [ebp - 0x14], 0x5603
pop ecx
jle 0x10037331
push 0x790
push 0x23b7
push 0x10b6
push 0x1ced
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, esi
mov dword [ebp - 0x18], ebx
xor ecx, edi
mov edi, ebx
mov dword [ebp - 0x1c], ecx
mov esi, ebx
mov eax, esi
or eax, edi
or eax, ecx
lea ecx, [ebp - 0x130]
cdq
push edx
push eax
call fcn.1000d7c0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100372e9
mov eax, dword [eax]
push eax
call fcn.1004a056
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x130]
call fcn.1002e510
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, 0x7163
jl 0x100372cb
inc edi
cmp edi, 0x7e61
jl 0x100372c9
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x649d
jl 0x100372bd
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x44be
jl 0x100372b8
cmp dword [ebp - 0x14], 0x50d1
jge 0x1003739b
push 0x1000ad60
call fcn.1004a056
pop ecx
jmp 0x1003739b
mov dword [ebp - 0xa4], 0xfffffff6
lea eax, [ebp - 0x64]
mov dword [ebp - 0x18], 0xd3709e8e
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x18], 0xc1e183a0
push eax
mov dword [ebp - 0x18], 0xeae11771
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x18], 0xc4b79a97
mov dword [ebp - 0x18], 9
push eax
mov dword [ebp - 0x18], 3
call fcn.10036cc3
pop ecx
pop ecx
lea ecx, [ebp - 0x9c]
call fcn.10036cf1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.1002e206
push 0x63de
lea eax, [ebp - 0x68]
push eax
push ebx
push 0x132
push 0x11e4
push 0x5ca6
call fcn.1003a5a5
mov dword [ebp - 0x90], 0xeca4
lea edx, [ebp - 0x90]
add esp, 0x18
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x98], 0xe164caf
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x78], 1
call fcn.10036c7e
mov dword [ebp - 0x28], 0x70d6
cmp dword [ebp - 0x28], 0x71ec
jle 0x10037477
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
xor esi, edi
mov dword [ebp - 0x58], ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x160]
or eax, esi
cdq
push edx
push eax
call fcn.1000d7c0
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003743b
mov eax, dword [eax]
push eax
call fcn.1004a056
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x160]
call fcn.1002e510
inc edi
cmp edi, 0xb85
jl 0x1003741f
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x3620
jl 0x10037415
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x47f6
jl 0x10037410
mov dword [ebp - 0x40], 0xfffffff5
jmp 0x100374b2
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x78]
call fcn.10036cf4
mov byte [ebp - 0x1d], bl
add esp, 4
cmp byte [ebp - 0x1d], 0
je 0x100374af
push ebx
push 0x19c0
push 0x16eb
call dword [sym.imp.USER32.dll_AttachThreadInput]
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffffa
jne 0x10037480
cmp dword [ebp - 0x28], 0x70ac
jge 0x100374cc
push 0x1000add8
call fcn.1004a056
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x2fe22364
mov dword [ebp - 0x14], ebx
jmp 0x100374ea
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x55bb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x100374dc
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x10036e28
mov dword [ebp - 0x14], 0x2526041
lea ecx, [ebp - 0xc0]
push 3
call fcn.1002e184
lea edx, [ebp - 0xc0]
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0xf8]
call fcn.10036d10
mov dword [ebp - 0x1c], 0x3ee9
cmp dword [ebp - 0x1c], 0x427e
jle 0x1003756f
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
lea eax, [ebx + esi]
mov ecx, 0x106092f8
add eax, edi
cdq
push edx
push eax
call fcn.1002e06f
inc ebx
cmp ebx, 0x4c8b
jl 0x1003753f
inc esi
push 0
pop ebx
cmp esi, 0x786b
jl 0x1003753c
inc edi
cmp edi, 0x706d
jl 0x1003753a
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x1c], 0x3d5e
jge 0x100375a9
mov edx, 0x1000ae34
mov ecx, 0x106092f8
call fcn.1002fb19
jmp 0x100375a9
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x14], ebx
jmp 0x10037650
push 2
lea ecx, [ebp - 0xd8]
call fcn.1002e184
lea edx, [ebp - 0xd8]
lea ecx, [ebp - 0xf4]
call fcn.10036d2f
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
sub edx, 0xfffffff6
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xc0]
setg cl
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x54]
cmp eax, 0x1a17e59
mov eax, dword [ebp - 0x24]
setle cl
mov eax, dword [ebp + eax*4 - 0x54]
imul eax, edx
sub ecx, eax
je 0x10037638
cmp dword [ebp - 0x54], ebx
je 0x10037638
xor ecx, ecx
inc ecx
jmp 0x1003763a
mov ecx, ebx
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
lea ecx, [ebp - 0xd8]
call fcn.1002e206
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x100375b8
mov byte [ebp - 0x39], bl
lea ecx, [ebp - 0x39]
call fcn.10036d4e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.1002e206
inc dword [ebp - 0x24]
jmp 0x100374f3
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret