Function at 0x100b5c90
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x40
mov eax, 0x100f4712
call fcn.100bb0fe
mov edi, ecx
mov dword [ebp - 0x30], edi
mov esi, dword [ebp + 0x10]
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x34], edx
mov dword [ebp - 4], eax
call fcn.100b58ee
mov ecx, eax
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x1a
ja 0x100b5e65
je 0x100b5e46
cmp ecx, 0xd
ja 0x100b5df3
je 0x100b5de8
sub eax, 1
je 0x100b5dae
dec eax
sub eax, 1
je case.0x100b6249.257
dec eax
sub eax, 1
je 0x100b5d8c
dec eax
sub eax, 1
je 0x100b5d6b
sub eax, 1
jne case.0x100b6249.259
mov eax, dword [edi + 0x740]
mov dword [ebp - 0x3c], eax
test edx, edx
je 0x100b5d32
push edx
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x100b5d43
mov esi, dword [ebp - 0x34]
cmp esi, dword [ebp - 0x3c]
je 0x100b5d43
xor edx, edx
mov ecx, edi
push edx
call fcn.1001b085
mov ecx, edi
call fcn.100b9320
mov edi, dword [edi + 0x2a4]
push edi
call dword [sym.imp.IMM32.dll_ImmGetContext]
mov esi, eax
test esi, esi
je 0x100b5d82
xor eax, eax
push eax
push 1
push 0x15
push esi
call dword [sym.imp.IMM32.dll_ImmNotifyIME]
push esi
push edi
jmp 0x100b67e8
push 1
mov ecx, edi
call fcn.1001b085
mov ecx, edi
call fcn.100b9320
mov ecx, edi
call fcn.100b927e
xor eax, eax
call fcn.100bb04b
ret 0xc
xor eax, eax
cmp dword [edi + 0x5c4], eax
jne 0x100b5d9f
mov ecx, edi
call fcn.100b4630
jmp 0x100b5da5
mov byte [edi + 0x7dc], al
mov ecx, edi
call fcn.100135ba
jmp 0x100b5d82
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor ecx, ecx
mov dword [edi + 0x664], eax
push ecx
lea eax, [edi + 0x7a4]
push eax
push ecx
push 0x68
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
lea eax, [edi + 0x7d0]
push eax
push dword [edi + 0x2a4]
call dword [sym.imp.ole32.dll_RegisterDragDrop]
jmp 0x100b5d82
push esi
push edx
mov ecx, edi
call fcn.100b5b40
jmp 0x100b5d84
sub eax, 0xe
je 0x100b5e27
sub eax, 1
je 0x100b5e1b
sub eax, 5
je 0x100b5fe9
sub eax, 1
jne case.0x100b6249.259
mov ecx, edi
call fcn.1000fb42
jmp 0x100b5d82
mov ecx, edi
call fcn.100b4d4c
jmp 0x100b5d84
mov esi, dword [edi + 0x298]
lea eax, [esi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push eax
xor eax, eax
mov ecx, esi
push eax
call fcn.1000bc1f
jmp 0x100b5d84
mov ecx, edi
call fcn.1000fb42
xor ecx, ecx
lea eax, [edi + 0x7a4]
push ecx
push eax
push ecx
push 0x68
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
jmp 0x100b5d82
mov eax, 0x200
cmp ecx, eax
ja 0x100b64d0
je 0x100b645c
mov eax, 0x100
cmp ecx, eax
ja 0x100b6233
je case.0x100b6249.260
cmp ecx, 0x7b
ja 0x100b6114
je 0x100b5ffa
cmp ecx, 0x20
je 0x100b5ee7
cmp ecx, 0x21
je case.0x100b6249.257
cmp ecx, 0x24
je 0x100b5ede
cmp ecx, 0x45
jbe case.0x100b6249.259
cmp ecx, 0x47
jbe case.0x100b6249.257
cmp ecx, 0x50
je 0x100b5ed5
cmp ecx, 0x51
jne case.0x100b6249.259
push esi
push edx
push ecx
jmp 0x100b685a
push esi
push edx
push 0x50
jmp 0x100b685a
push esi
push edx
push 0x24
jmp 0x100b685a
xor eax, eax
inc eax
cmp si, ax
jne 0x100b5ff1
cmp dword [edi + 0x57c], 2
jne 0x100b5f03
push 3
jmp 0x100b5fcf
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x100b5fe9
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_ScreenToClient]
movd xmm0, dword [ebp - 0x1c]
mov ecx, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.100196aa
movd xmm0, dword [ebp - 0x1c]
mov ecx, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
test al, al
je 0x100b5f86
mov eax, dword [edi]
mov esi, dword [eax + 0xac]
call fcn.10019780
push eax
mov ecx, edi
call esi
jmp 0x100b5fe9
call fcn.10019542
test al, al
je 0x100b5fa2
lea ecx, [edi + 0x238]
call fcn.10039bbc
test al, al
jne 0x100b5fa2
push 2
jmp 0x100b5fcf
movd xmm0, dword [ebp - 0x1c]
mov ecx, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movd xmm0, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.1001a3ce
test al, al
je 0x100b5fdb
push 8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xac]
jmp 0x100b5fe9
mov ecx, dword [edi]
push 1
mov edx, dword [ecx + 0xac]
mov ecx, edi
call edx
xor eax, eax
inc eax
jmp 0x100b5d84
push esi
push edx
push 0x20
jmp 0x100b685a
mov eax, dword [ebp - 0x44]
movsx esi, si
shr eax, 0x10
movsx edi, ax
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movd xmm0, edi
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x2c], eax
movss dword [ebp - 0x1c], xmm1
cvttss2si eax, xmm0
movss dword [ebp - 0x18], xmm0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax + 0x2a4]
call dword [sym.imp.USER32.dll_ScreenToClient]
movd xmm0, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x674]
movss dword [ebp - 0x40], xmm0
movd xmm0, dword [ebp - 0x28]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x3c], xmm0
cmp eax, 1
je 0x100b6092
cmp eax, 2
jne 0x100b607e
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call fcn.100196aa
mov ecx, dword [ebp - 0x30]
test al, al
je 0x100b6092
push dword [ebp - 0x44]
mov esi, dword [ebp - 0x34]
push esi
push 0x7b
push dword [ecx + 0x2a4]
jmp 0x100b6860
movss xmm0, dword [0x101159f0]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100b6101
movd xmm1, edi
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100b6101
lea eax, [ebp - 0x48]
push eax
call fcn.10011734
mov ecx, eax
cvttss2si eax, dword [ecx]
cvttss2si ecx, dword [ecx + 4]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x30]
push dword [eax + 0x2a4]
mov dword [ebp - 0x3c], ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
movd xmm0, dword [ebp - 0x40]
movd xmm1, dword [ebp - 0x3c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x18], xmm1
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
push dword [ebp - 0x1c]
call fcn.100a5c7a
jmp 0x100b5d82
mov eax, 0xb0
cmp ecx, eax
ja 0x100b61bb
je 0x100b6167
cmp ecx, 0x83
jb case.0x100b6249.259
cmp ecx, 0x85
jbe case.0x100b6249.257
cmp ecx, 0x87
je 0x100b615f
cmp ecx, 0x9f
jbe case.0x100b6249.259
cmp ecx, 0xa1
ja case.0x100b6249.259
push esi
push edx
push ecx
jmp 0x100b685a
push 0xc
pop eax
jmp 0x100b5d84
test edx, edx
je 0x100b6180
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100105c2
mov esi, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [esi], eax
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x100b6193
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100105f2
mov eax, dword [eax]
mov dword [esi], eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100105c2
mov ecx, edi
mov esi, dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.100105f2
movzx ecx, si
movzx eax, word [eax]
shl eax, 0x10
or eax, ecx
jmp 0x100b5d84
mov eax, ecx
sub eax, 0xb1
je 0x100b61f3
sub eax, 0x18
jne case.0x100b6249.259
test edx, edx
jns 0x100b61de
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100105c2
mov edx, dword [eax]
push edx
mov ecx, dword [edi + 0x298]
add ecx, 4
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x100b5d84
test edx, edx
jne 0x100b6210
cmp esi, 0xffffffff
jne 0x100b6210
mov eax, dword [edi + 0x298]
add eax, 4
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edx, dword [ebp - 0x34]
mov esi, eax
cmp edx, 0xffffffff
mov eax, esi
mov ecx, edi
cmovne eax, edx
push eax
push esi
call fcn.10010b7a
push ecx
xor eax, eax
mov ecx, edi
inc eax
push eax
push eax
call fcn.1001257d
jmp 0x100b5d82
lea eax, [ecx - 0x101]
cmp eax, 0x14
ja case.0x100b6249.259
movzx eax, byte [eax + 0x100b6b9c]
jmp dword [eax*4 + 0x100b6b6c]
movzx eax, dx
mov ecx, edi
push eax
call fcn.100a4ccd
jmp 0x100b5d82
push edx
mov ecx, edi
call fcn.100b87ce
jmp 0x100b5d82
push edx
mov ecx, edi
call fcn.100b888a
jmp 0x100b5d82
cmp edx, 2
jne 0x100b629d
cmp byte [edi + 0x548], 0
je 0x100b629d
push 1
xor eax, eax
push eax
push 0x1389
push dword [edi + 0x2a4]
jmp 0x100b6595
mov eax, dword [edi]
mov ecx, edi
mov edx, dword [eax + 0xc0]
mov eax, dword [ebp - 0x34]
add eax, 0xfffffffd
push eax
call edx
jmp 0x100b5d82
cmp edx, 0x80
jae 0x100b62d8
push edx
call fcn.100ddd8c
pop ecx
test eax, eax
je 0x100b62d5
cmp byte [edi + 0x798], 0
jne 0x100b5d82
mov edx, dword [ebp - 0x34]
xor eax, eax
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x1a], eax
xor ecx, ecx
mov esi, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x3c], 0x3ff
lea eax, [esi + 0x2800]
cmp ax, word [ebp - 0x3c]
ja 0x100b6306
mov word [edi + 0x79a], dx
jmp 0x100b5d82
lea eax, [esi + 0x2400]
cmp ax, word [ebp - 0x3c]
ja 0x100b632d
mov ax, word [edi + 0x79a]
mov word [ebp - 0x1c], ax
xor eax, eax
push 2
mov word [ebp - 0x1a], dx
mov word [edi + 0x79a], ax
pop ecx
xor edx, edx
lea eax, [ebp - 0x1c]
push edx
push ecx
push eax
mov ecx, edi
call fcn.100b558d
jmp 0x100b5d82
cmp edx, 0xffff
je 0x100b5fe9
xor eax, eax
cmp byte [edi + 0x798], al
jne 0x100b5feb
mov ecx, dword [ebp - 0x34]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x18], ax
call fcn.1003abec
mov ecx, edx
xor edx, edx
push edx
push eax
push ecx
jmp 0x100b6335
lea eax, [edi + 0x798]
xor edx, edx
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x12
mov dword [ebp - 0x18], eax
mov byte [eax], dl
call edi
cwde
shr eax, 0x1f
push 0x11
mov dword [ebp - 0x28], eax
call edi
movsx esi, ax
push 0x10
shr esi, 0x1f
call edi
mov edi, dword [ebp - 0x34]
mov ecx, edi
movsx edx, ax
lea eax, [esi + esi]
shr edx, 0x1f
or edx, eax
mov eax, dword [ebp - 0x28]
shl eax, 2
or edx, eax
call fcn.100b4797
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x30]
mov ecx, esi
push edx
push eax
call fcn.1001831f
test eax, eax
jne 0x100b5d82
cmp byte [esi + 0x798], al
jne 0x100b5d82
push dword [ebp - 0x44]
push edi
push dword [ebp - 0x3c]
push dword [esi + 0x2a4]
jmp 0x100b6860
call fcn.100b5046
test al, al
jne 0x100b5d82
cmp dword [edi + 0x270], 1
je 0x100b5d82
mov ecx, edi
call fcn.100b7ff5
push esi
mov esi, dword [ebp - 0x34]
push esi
push dword [ebp - 0x3c]
jmp 0x100b685a
mov ecx, edi
call fcn.100125fb
jmp 0x100b6415
call fcn.100b5046
test al, al
jne 0x100b644e
cmp dword [edi + 0x270], 1
je 0x100b644e
push esi
mov esi, dword [ebp - 0x34]
mov ecx, edi
push esi
call fcn.100b4f7f
jmp 0x100b5d84
push esi
push ecx
mov ecx, edi
call fcn.100b5631
jmp 0x100b5d84
movss xmm0, dword [edi + 0x574]
movsx eax, si
shr esi, 0x10
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movsx eax, si
movd xmm2, eax
ucomiss xmm0, xmm1
cvtdq2ps xmm2, xmm2
lahf
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x18], xmm2
test ah, 0x44
jp 0x100b64a3
movss xmm0, dword [edi + 0x578]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x100b5d82
push 1
mov ecx, edi
call fcn.100b6d7a
mov ecx, dword [ebp - 0x34]
call fcn.100b4770
mov esi, eax
call dword [sym.imp.USER32.dll_GetMessageTime]
push esi
push ecx
push dword [ebp - 0x18]
mov ecx, edi
push dword [ebp - 0x1c]
call fcn.1001a60c
jmp 0x100b5d82
mov eax, 0x434
cmp ecx, eax
ja 0x100b68f2
je 0x100b68c6
mov eax, 0x281
cmp ecx, eax
ja 0x100b6820
je 0x100b67f3
mov eax, ecx
sub eax, 0x201
je 0x100b675c
sub eax, 1
je 0x100b6715
dec eax
sub eax, 1
je 0x100b6665
sub eax, 3
je 0x100b6654
sub eax, 3
je 0x100b6538
sub eax, 0xb
jne case.0x100b6249.259
mov byte [edi + 0x79c], al
jmp 0x100b5d82
cmp byte [edi + 0x502], 0
jne 0x100b657c
lea eax, [ebp - 0x24]
push eax
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, esi
movsx ecx, si
shr eax, 0x10
cwde
push eax
push ecx
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x100b6579
push esi
mov esi, dword [ebp - 0x34]
push esi
push 0x20a
jmp 0x100b685a
mov edx, dword [ebp - 0x34]
cmp byte [edi + 0x67c], 0
je 0x100b65a0
mov eax, dword [edi + 0x6c4]
push esi
push edx
push 0x20a
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x100b5d82
test dl, 4
je 0x100b65a9
push esi
push edx
jmp 0x100b656f
mov eax, edx
shr eax, 0x10
cwde
sub dword [edi + 0x7a8], eax
push dword [edi + 0x7a8]
call fcn.100db9ec
pop ecx
push 0x78
pop esi
cmp eax, esi
jl 0x100b5d82
mov ecx, dword [edi + 0x7a4]
test ecx, ecx
je 0x100b5d82
cmp ecx, 0xffffffff
jne 0x100b65e9
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [eax - 1]
xor eax, eax
inc eax
test ecx, ecx
cmove ecx, eax
mov eax, dword [edi + 0x7a8]
cdq
idiv esi
mov esi, eax
mov eax, dword [edi + 0x7a8]
imul esi, ecx
test eax, eax
jns 0x100b6613
neg eax
push 0x78
cdq
pop ecx
idiv ecx
neg edx
test byte [ebp - 0x34], 8
mov dword [edi + 0x7a8], edx
je 0x100b663e
mov eax, dword [edi]
mov ecx, edi
test esi, esi
jns 0x100b662e
push 0x91d
jmp 0x100b6633
push 0x91e
call dword [eax + 0x9c]
jmp 0x100b5d82
mov eax, dword [edi + 0x5b4]
push ecx
add eax, esi
mov ecx, edi
push eax
call fcn.10011784
jmp 0x100b5d82
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x100b5d82
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
movsx esi, si
shr eax, 0x10
movsx edi, ax
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.10019542
test al, al
jne 0x100b66e8
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0x98]
movd xmm0, esi
xor eax, eax
mov esi, dword [ebp - 0x30]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push eax
push eax
movss dword [ebp - 0x2c], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.10010049
push eax
mov ecx, esi
call fcn.10010e64
jmp 0x100b66eb
mov esi, dword [ebp - 0x30]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0xbc]
call fcn.100b4770
mov esi, eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov ecx, dword [ebp - 0x30]
push esi
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call edi
jmp 0x100b5d82
mov ecx, edx
call fcn.100b4770
mov esi, eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov edx, dword [ebp - 0x44]
movsx ecx, dx
shr edx, 0x10
push esi
push eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsx ecx, dx
movss dword [ebp - 0x1c], xmm0
movd xmm0, ecx
mov ecx, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.1001ab27
jmp 0x100b5d82
mov eax, dword [edi + 0x2a4]
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.IMM32.dll_ImmGetContext]
mov ecx, eax
mov dword [ebp - 0x28], ecx
xor eax, eax
xor edx, edx
push edx
inc eax
push eax
push 0x15
push ecx
mov byte [ebp - 4], al
call dword [sym.imp.IMM32.dll_ImmNotifyIME]
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0xb8]
call fcn.100b4770
mov esi, eax
call dword [sym.imp.USER32.dll_GetMessageTime]
mov edx, dword [ebp - 0x44]
movsx ecx, dx
shr edx, 0x10
push esi
push eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsx ecx, dx
movss dword [ebp - 0x1c], xmm0
movd xmm0, ecx
mov ecx, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call edi
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x100b5d82
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.IMM32.dll_ImmReleaseContext]
jmp 0x100b5d82
call fcn.100b5046
test al, al
jne 0x100b6805
cmp dword [edi + 0x270], 1
jne 0x100b681b
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100b6812
and esi, 0x7fffffff
push esi
push eax
push 0x281
jmp 0x100b685a
mov eax, dword [ebp - 0x34]
jmp 0x100b6812
mov eax, ecx
sub eax, 0x282
je case.0x100b6249.257
sub eax, 6
je 0x100b68ac
sub eax, 8
je 0x100b6894
sub eax, 0x13
je 0x100b687a
sub eax, 0x75
jne case.0x100b6249.259
push edx
mov ecx, edi
call fcn.100b8afb
test al, al
jne 0x100b686b
push esi
push dword [ebp - 0x34]
push 0x318
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x100b5d84
push dword [ebp - 0x34]
mov ecx, edi
call fcn.100b89b4
jmp 0x100b5d82
xor eax, eax
mov ecx, edi
mov byte [edi + 0x79d], al
call fcn.10019a5b
push esi
push dword [ebp - 0x34]
push 0x2a3
jmp 0x100b685a
cmp edx, 0x19
jne 0x100b68a3
mov ecx, edi
call fcn.100b54ac
mov edx, dword [ebp - 0x34]
push esi
push edx
push 0x290
jmp 0x100b685a
push esi
cmp edx, 4
jne 0x100b68be
mov ecx, edi
call fcn.100b81cc
jmp 0x100b5d84
push edx
push 0x288
jmp 0x100b685a
test esi, esi
je 0x100b5d82
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100105c2
mov ecx, edi
mov eax, dword [eax]
mov dword [esi], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100105f2
mov eax, dword [eax]
mov dword [esi + 4], eax
jmp 0x100b5d82
mov eax, 0x991
cmp ecx, eax
ja 0x100b69d3
je 0x100b69c5
mov eax, ecx
sub eax, 0x436
je 0x100b69bf
sub eax, 1
je 0x100b6955
sub eax, 0x451
je 0x100b694b
sub eax, 1
je 0x100b6944
sub eax, 0xd7
je 0x100b6654
sub eax, 0x2f
jne case.0x100b6249.259
push esi
mov ecx, edi
call fcn.100b4b20
jmp 0x100b5d84
mov eax, edi
jmp 0x100b5d84
mov eax, 0x100b9680
jmp 0x100b5d84
xor eax, eax
test esi, esi
je 0x100b5d84
inc eax
mov dword [edi + 0x268], eax
cmp dword [esi], 0
jne 0x100b6983
cmp dword [esi + 4], 0xffffffff
jne 0x100b6983
mov eax, dword [edi + 0x298]
add eax, 4
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push eax
jmp 0x100b6986
push dword [esi + 4]
push dword [esi]
mov ecx, edi
call fcn.10010b7a
push ecx
push 1
push 1
mov ecx, edi
call fcn.1001257d
mov edi, dword [edi + 0x298]
mov ecx, dword [ebp - 0x30]
add edi, 4
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0x38]
push eax
call fcn.100105c2
push dword [eax]
push edi
call esi
jmp 0x100b5d84
push esi
jmp 0x100b61df
push esi
push edx
mov ecx, edi
call fcn.100b4c0b
jmp 0x100b5d84
mov eax, ecx
sub eax, 0xa46
je 0x100b6ae1
sub eax, 0x4f
je 0x100b6ac2
sub eax, 0x512
je 0x100b6ab0
sub eax, 0x3e2
je 0x100b6a1e
sub eax, 1
je 0x100b6a0f
push esi
push edx
push ecx
mov ecx, edi
call fcn.100a618e
jmp 0x100b5d84
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xdc]
jmp 0x100b5d82
cmp byte [edi + 0x548], 0
je 0x100b5d82
test esi, esi
jne 0x100b6a4b
push 0x87
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, 0x102
jne 0x100b5d82
mov ecx, edi
call fcn.1001af6b
test al, al
je 0x100b6a9e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov eax, dword [ebp - 0x34]
test eax, eax
mov ecx, edx
cmovne ecx, eax
cmp edx, ecx
jb 0x100b5d82
cmp edx, 0x32
jbe 0x100b5d82
lea eax, [edx - 0x32]
cmp eax, ecx
jae 0x100b5d82
xor eax, eax
push eax
push ecx
push 0x1389
push dword [edi + 0x2a4]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x100b5d82
mov eax, dword [edi]
xor edx, edx
push edx
mov ecx, edi
call dword [eax + 0xd0]
jmp 0x100b5d82
call fcn.1003f1a3
push esi
mov ecx, eax
call fcn.1003f1de
jmp 0x100b5d82
xor eax, eax
cmp dword [edi + 0x450], eax
jne 0x100b6ad4
mov dword [edi + 0x274], eax
jmp 0x100b6b30
cmp edx, 2
ja 0x100b6b30
mov dword [edi + 0x274], edx
jmp 0x100b6b30
test edx, edx
je 0x100b6afa
cmp edx, 2
je 0x100b6afa
cmp edx, 3
je 0x100b6afa
xor eax, eax
inc eax
cmp edx, eax
jne 0x100b5d82
cmp dword [edi + 0x450], edx
je 0x100b5d82
test edx, edx
jle 0x100b6b18
call fcn.1002f391
test al, al
jne 0x100b6b20
jmp 0x100b5d82
xor eax, eax
mov dword [edi + 0x274], eax
mov ecx, edi
call fcn.100b4630
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x450], eax
push 1
mov ecx, edi
call fcn.1000f956
mov ecx, edi
call fcn.1000fb7f
jmp 0x100b5d82