Function at 0x6d071dd8
Capabilities:
Log keystrokes

Disassembly:
push 0x38
mov eax, 0x6d0b262b
call fcn.6d0b0cdf
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, ecx
mov dword [ebp - 0x24], eax
lea eax, [esi + 0x54]
inc dword [eax]
mov dword [ebp - 0x3c], eax
and dword [ebp - 4], 0
call fcn.6d08e220
mov edi, eax
mov eax, dword [edi]
push 0xa
push edi
mov dword [ebp - 0x40], edi
call dword [eax + 0x4c]
test eax, eax
jns 0x6d071e1c
push str.Cant_allocate_localRefs
push edi
call sub.java.dll__JNU_ThrowOutOfMemoryError_8
mov eax, dword [ebp + 8]
xor edi, edi
inc edi
xor edx, edx
inc dword [0x6d0fb1d8]
mov byte [ebp - 4], 1
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], edi
mov dword [0x6d0fa914], eax
cmp eax, dword [0x6d0fa940]
jne 0x6d071e5c
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
push 0
push eax
mov byte [ebp - 4], dl
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x3c]
dec dword [eax]
xor eax, eax
inc eax
jmp 0x6d072c5c
cmp eax, 0x14
ja 0x6d07200a
je 0x6d071ff6
cmp eax, 6
ja 0x6d071f6f
je 0x6d071f17
dec eax
je 0x6d071f06
dec eax
je 0x6d071efa
dec eax
je 0x6d071eda
dec eax
dec eax
jne case.0x6d072a21.38920
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x1c]
mov eax, dword [esi]
push ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x20]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xbc]
mov ecx, esi
mov edi, eax
call fcn.6d0716c2
test eax, eax
je 0x6d072c2a
mov eax, dword [esi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, esi
call dword [eax + 0x120]
jmp 0x6d072c2a
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebp - 0x1c]
mov eax, dword [esi]
push dword [ebp - 0x20]
mov ecx, esi
call dword [eax + 0xb8]
jmp 0x6d071f10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa4]
jmp 0x6d071f10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
mov edi, eax
jmp 0x6d072c2a
mov eax, ebx
shr eax, 0x10
movzx ecx, bx
cmp dword [0x6d0fa8e0], edx
jne 0x6d072c43
test eax, eax
je 0x6d071f37
test ecx, ecx
jne 0x6d072c43
push dword [ebp - 0x24]
mov edx, dword [esi]
push eax
push ecx
mov ecx, esi
call dword [edx + 0xa8]
mov ecx, esi
mov edi, eax
call fcn.6d0716c2
test eax, eax
je 0x6d072c2a
mov eax, dword [esi]
push 0
push 0
push 0x10e
mov ecx, esi
call dword [eax + 0x94]
jmp 0x6d072c2a
sub eax, 7
je 0x6d071fda
dec eax
je 0x6d071fbe
sub eax, 7
je 0x6d071f8f
dec eax
jne case.0x6d072a21.38920
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa0]
jmp 0x6d071f10
push dword [esi + 0x28]
call fcn.6d08901e
push dword [esi + 0x28]
call fcn.6d06c557
or eax, 2
push eax
push dword [esi + 0x28]
call fcn.6d06c568
mov eax, dword [esi]
add esp, 0x10
push ebx
mov ecx, esi
call dword [eax + 0xb0]
jmp 0x6d071f10
cmp dword [0x6d0fa8f8], edx
je 0x6d072c27
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xcc]
jmp 0x6d071f10
cmp dword [0x6d0fa8f8], edx
je 0x6d072c27
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xc8]
jmp 0x6d071f10
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xac]
jmp 0x6d071f10
mov ecx, 0x201
cmp eax, ecx
ja 0x6d07265a
je 0x6d07271e
mov ecx, 0xa2
cmp eax, ecx
ja 0x6d0723ab
je 0x6d07238a
cmp eax, 0x46
ja 0x6d072203
je 0x6d072165
cmp eax, 0x24
ja 0x6d072101
je 0x6d0720ef
sub eax, 0x18
je 0x6d0720dc
dec eax
dec eax
je 0x6d0720c1
sub eax, 6
je 0x6d07209c
dec eax
jne case.0x6d072a21.38920
mov ecx, esi
call fcn.6d0700a2
mov esi, eax
test esi, esi
je 0x6d072090
mov ecx, esi
call fcn.6d0929b3
test eax, eax
je 0x6d072090
movzx ecx, word [ebp - 0x24]
mov eax, dword [esi]
push ecx
push 1
mov ecx, esi
call dword [eax + 0x204]
mov dword [ebp - 0x28], 3
jmp 0x6d072c43
cmp word [ebp - 0x24], di
jne case.0x6d072a21.38920
push ebx
call fcn.6d06fc27
pop ecx
test eax, eax
je case.0x6d072a21.38920
push eax
call fcn.6d0738ee
pop ecx
jmp 0x6d072c43
push 0
call fcn.6d08901e
mov eax, dword [esi]
pop ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x198]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xc4]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb4]
jmp 0x6d071f10
sub eax, 0x2b
je 0x6d072152
dec eax
je 0x6d07213f
dec eax
je 0x6d07212c
sub eax, 0xc
jne case.0x6d072a21.38920
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x14c]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x150]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x158]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x154]
jmp 0x6d071f10
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x18]
mov edx, ecx
and edx, 3
cmp dl, 3
je 0x6d0721f3
and dword [ebp - 0x2c], 0
test cl, 2
jne 0x6d07219a
mov ecx, dword [eax + 8]
cmp dword [esi + 0x78], ecx
jne 0x6d07218e
mov edx, dword [esi + 0x7c]
cmp edx, dword [eax + 0xc]
je 0x6d07219a
mov dword [esi + 0x78], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2c], edi
mov dword [esi + 0x7c], ecx
test byte [eax + 0x18], 1
jne 0x6d0721cc
mov edi, dword [eax + 0x10]
cmp dword [esi + 0x80], edi
jne 0x6d0721b6
mov edx, dword [esi + 0x84]
cmp edx, dword [eax + 0x14]
je 0x6d0721cc
mov dword [esi + 0x80], edi
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2c], 1
mov dword [esi + 0x84], ecx
cmp dword [ebp - 0x2c], 0
je 0x6d0721f3
cmp dword [0x6d0fa910], 0
jne 0x6d0721f3
push 0x6d0f76c4
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x24]
mov dword [0x6d0fa910], 1
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xfc]
jmp 0x6d071f10
cmp eax, 0x7d
ja 0x6d072304
je 0x6d0722f1
sub eax, 0x47
je 0x6d0722c6
sub eax, 9
je 0x6d07227d
dec eax
je 0x6d07224b
sub eax, 0x2a
jne case.0x6d072a21.38920
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x19c]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x114]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov ecx, esi
push ebx
push 0x51
call fcn.6d08901e
mov dword [ebp - 0x28], 1
jmp 0x6d0727a5
mov edi, 0x6d0fa9e8
push edi
call fcn.6d08d640
pop ecx
push dword [0x6d0fa958]
lea eax, [ebp - 0x44]
push 0
push eax
push edi
push 0
push 0x20
call dword [sym.imp.USER32.dll_MapVirtualKeyW]
push eax
push 0x20
call dword [sym.imp.USER32.dll_ToAsciiEx]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
mov dword [0x6d0fa8dc], 1
push ebx
push 0x50
jmp 0x6d07279e
cmp dword [0x6d0fa910], edx
je 0x6d0722df
and dword [0x6d0fa910], edx
push 0x6d0f76c4
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x100]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x194]
jmp 0x6d071f10
sub eax, 0x83
je 0x6d072373
dec eax
je 0x6d072354
dec eax
je 0x6d072344
sub eax, 0x1c
jne case.0x6d072a21.38920
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push 1
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xf4]
and dword [0x6d0fa9e4], 0
mov edi, eax
jmp 0x6d072c2a
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x170]
jmp 0x6d071f10
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x24]
shr ecx, 0x10
push ecx
movzx ecx, word [ebp - 0x24]
push ecx
mov ecx, esi
call dword [eax + 0x174]
jmp 0x6d071f10
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x16c]
jmp 0x6d071f10
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push 1
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xf8]
jmp 0x6d071f10
mov ecx, 0x10e
cmp eax, ecx
ja 0x6d0724fe
je 0x6d0724db
add ecx, 0xfffffff4
cmp eax, ecx
ja 0x6d072490
je 0x6d072472
sub eax, 0xa3
je 0x6d072441
dec eax
je 0x6d072420
sub eax, 0x5c
je 0x6d072402
dec eax
jne case.0x6d072a21.38920
push eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
push ecx
movzx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + pe_nt_image_headers32]
jmp 0x6d071f10
push 0
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
push ecx
movzx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x104]
jmp 0x6d071f10
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push 4
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xf4]
jmp 0x6d071f10
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push 9
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xf4]
mov edi, eax
cmp edi, 1
jne 0x6d072c2a
mov dword [0x6d0fa9e4], eax
jmp 0x6d072c2a
push 0
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
push ecx
movzx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x10c]
jmp 0x6d071f10
sub eax, 0x104
je 0x6d0724d4
dec eax
je 0x6d0724cd
dec eax
je 0x6d0724c9
sub eax, 7
jne case.0x6d072a21.38920
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x134]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push 0x10d
jmp 0x6d07279e
push 1
jmp 0x6d072474
push 1
jmp 0x6d0723e6
push 1
jmp 0x6d072404
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x138]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push 0x10e
jmp 0x6d07279e
mov ecx, 0x114
cmp eax, ecx
ja 0x6d0725a4
je 0x6d072588
lea edi, [ecx - 5]
sub eax, edi
je 0x6d072575
dec eax
dec eax
je 0x6d072559
dec eax
je 0x6d072532
dec eax
jne case.0x6d072a21.38920
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x140]
jmp 0x6d071f10
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
shr ecx, 0x10
movsx ecx, cx
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
mov ecx, ebx
and ecx, 0xfff0
push ecx
mov ecx, esi
call dword [eax + 0x178]
jmp 0x6d071f10
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
push ecx
push dword [ebp - 0x24]
movzx ecx, bx
push ecx
mov ecx, esi
call dword [eax + 0x144]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x13c]
jmp 0x6d07278e
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
push ecx
movzx ecx, bx
push ecx
mov ecx, esi
call dword [eax + 0xd4]
jmp 0x6d071f10
cmp eax, 0x115
je 0x6d07263e
cmp eax, 0x131
jbe case.0x6d072a21.38920
cmp eax, 0x138
jbe 0x6d07261d
cmp eax, 0x200
jne case.0x6d072a21.38920
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x28]
push ecx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebp + 8], 0x9802
ja 0x6d0729e9
mov eax, dword [ebp + 8]
cmp eax, 0x9802
je 0x6d0729d3
add eax, 0xfffffe00
cmp eax, 0xd
ja case.0x6d072a21.38920
jmp dword [eax*4 + 0x6d072c64]
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp + 8]
add ecx, 0xfffffece
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0xd0]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
push ecx
movzx ecx, bx
push ecx
mov ecx, esi
call dword [eax + 0xd8]
jmp 0x6d071f10
cmp eax, 0x9803
ja 0x6d072a0c
cmp eax, 0x9802
jae 0x6d0725cc
mov ecx, 0x286
cmp eax, ecx
ja 0x6d0727da
je 0x6d0727bc
add ecx, 0xffffff8e
cmp eax, ecx
ja 0x6d072738
je 0x6d072729
mov ecx, 0x202
cmp eax, ecx
je 0x6d07270b
jbe case.0x6d072a21.38920
cmp eax, 0x20d
jbe 0x6d0725cc
cmp eax, 0x211
je 0x6d0726d9
cmp eax, 0x212
jne case.0x6d072a21.38920
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x184]
and dword [0x6d0fa8f0], 0
mov edi, eax
jmp 0x6d072c2a
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x180]
mov ecx, dword [0x6d0fb55c]
mov edi, eax
mov dword [0x6d0fa8f0], 1
test ecx, ecx
je 0x6d072c2a
mov eax, dword [ecx]
call dword [eax + 0x1f0]
jmp 0x6d072c2a
cmp dword [0x6d0fa9e4], edx
je 0x6d07271e
and dword [0x6d0fa9e4], edx
jmp 0x6d071e41
and dword [0x6d0fa9e4], edx
jmp 0x6d0725cc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc0]
jmp 0x6d071f10
cmp eax, 0x232
je 0x6d0727ad
mov edi, 0x281
cmp eax, edi
je 0x6d07277f
inc edi
cmp eax, edi
je 0x6d07276f
jbe case.0x6d072a21.38920
cmp eax, 0x285
ja case.0x6d072a21.38920
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push dword [ebp + 8]
jmp 0x6d07279e
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x130]
jmp 0x6d07278e
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x12c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push edi
mov ecx, esi
call fcn.6d08901e
mov edi, dword [ebp - 0x2c]
jmp 0x6d072c2a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x17c]
jmp 0x6d071f10
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi]
push 0
shr ecx, 0x10
push ecx
movzx ecx, word [ebp - 0x24]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x110]
jmp 0x6d071f10
mov ecx, 0x310
cmp eax, ecx
ja 0x6d07284a
je 0x6d07283a
cmp eax, 0x288
je 0x6d07275e
cmp eax, 0x28f
jbe case.0x6d072a21.38920
cmp eax, 0x291
jbe 0x6d07275e
cmp eax, 0x302
je 0x6d07282b
cmp eax, 0x30f
jne case.0x6d072a21.38920
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x188]
jmp 0x6d071f10
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x11c]
jmp 0x6d071f10
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x190]
jmp case.0x6d072a21.38920
sub eax, 0x311
je 0x6d0728ab
dec eax
dec eax
je 0x6d072887
sub eax, 4
je 0x6d072874
dec eax
jne case.0x6d072a21.38920
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x168]
jmp 0x6d071f10
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x164]
jmp 0x6d071f10
push dword [0x6d0f7264]
mov eax, dword [esi + 0x28]
push eax
call dword [sym.imp.USER32.dll_GetPropW]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x6d072a21.38920
jmp 0x6d072c43
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x18c]
jmp 0x6d071f10
push 1
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe0]
jmp 0x6d071f10
push 1
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe4]
jmp 0x6d071f10
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe8]
jmp 0x6d071f10
push 2
jmp 0x6d0728bd
mov ecx, 0x6d0fb1d0
call sym.awt.dll_public:_struct_IDirect3DDevice9____thiscall_D3DContext::Get3DDevice_void_
test eax, eax
je case.0x6d072a21.38920
mov dword [ebp - 0x2c], ebx
shr dword [ebp - 0x2c], 0x10
cmp word [ebp - 0x2c], 1
jne 0x6d07293a
mov eax, dword [esi]
push 0x10
push dword [ebp - 0x34]
mov ecx, esi
push dword [ebp - 0x38]
push ebx
call dword [eax + 0xe0]
mov edi, eax
cmp word [ebp - 0x2c], 2
jne 0x6d072c2a
push 0x20
jmp 0x6d0728bd
mov ecx, 0x6d0fb1d0
call sym.awt.dll_public:_struct_IDirect3DDevice9____thiscall_D3DContext::Get3DDevice_void_
test eax, eax
je case.0x6d072a21.38920
mov dword [ebp - 0x2c], ebx
shr dword [ebp - 0x2c], 0x10
cmp word [ebp - 0x2c], 1
jne 0x6d072981
mov eax, dword [esi]
push 0x10
push dword [ebp - 0x34]
mov ecx, esi
push dword [ebp - 0x38]
push ebx
call dword [eax + 0xe4]
mov edi, eax
cmp word [ebp - 0x2c], 2
jne 0x6d072c2a
push 0x20
jmp 0x6d0728d5
push 4
jmp 0x6d0728bd
push 4
jmp 0x6d0728d5
push 2
jmp 0x6d0728d5
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
movsx ecx, cx
push ecx
mov ecx, dword [ebp - 0x24]
shr ecx, 0x10
movsx ecx, cx
push ecx
movsx ecx, word [ebp - 0x24]
push ecx
movzx ecx, bx
push ecx
mov ecx, esi
call dword [eax + 0xf0]
jmp 0x6d071f10
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xdc]
jmp 0x6d071f10
cmp dword [ebp + 8], 0x9803
jne case.0x6d072a21.38920
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xec]
jmp 0x6d071f10
add eax, 0xffff67fc
cmp eax, 0x2f
ja case.0x6d072a21.38920
movzx eax, byte [eax + 0x6d072ce4]
jmp dword [eax*4 + 0x6d072c9c]
mov eax, dword [esi + 0x28]
push 0x6d0f76a0
push eax
call fcn.6d06fb05
push 8
call fcn.6d09cff9
mov edi, eax
xor ebx, ebx
add esp, 0xc
mov dword [edi + 4], ebx
call fcn.6d07ccff
test eax, eax
je 0x6d072a7a
mov eax, dword [esi + 0x28]
push 0x1a
push ebx
push eax
call dword [sym.imp.USER32.dll_GetDCEx]
mov ebx, eax
test ebx, ebx
je 0x6d072a73
push dword [esi + 0x28]
mov ecx, 0x6d0f7680
push ebx
call fcn.6d070eed
jmp 0x6d072a81
call fcn.6d07cd51
jmp 0x6d072a81
mov dword [edi + 4], 1
mov dword [edi], ebx
mov dword [ebp - 0x28], edi
jmp 0x6d072c43
push ebx
call fcn.6d06fae7
mov esi, dword [esi + 0x28]
mov dword [esp], 0x6d0f76a0
push esi
call fcn.6d06fb05
pop ecx
jmp 0x6d0720bb
mov eax, dword [esi + 0x28]
push 0x6d0f7680
push eax
call fcn.6d06fb05
mov esi, dword [esi + 0x28]
push 0x6d0f76a0
push esi
call fcn.6d06fb05
add esp, 0x10
jmp 0x6d072c43
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
jmp case.0x6d072a21.38920
push 0
jmp 0x6d072acd
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x118]
jmp 0x6d071f10
mov eax, dword [esi]
push ebx
push dword [ebp - 0x24]
mov ecx, esi
call dword [eax + 0x78]
jmp 0x6d071f10
mov edi, dword [ebp - 0x24]
test ebx, ebx
jne 0x6d072b2c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x6d072b2c
mov eax, dword [edi + 4]
neg eax
push eax
mov eax, dword [edi]
neg eax
push eax
push edi
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0xc]
mov ecx, dword [edi]
mov edx, dword [esi]
sub ebx, eax
push ebx
mov ebx, dword [edi + 8]
sub ebx, ecx
push ebx
push eax
push ecx
mov ecx, esi
call dword [edx + 0x5c]
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
jmp 0x6d0720bb
mov eax, dword [ebp - 0x24]
push 3
pop ecx
cmp dword [eax + 0xe4], edx
je 0x6d072b64
mov ecx, 0x203
mov eax, dword [eax + 0x28]
push ecx
xor edi, edi
xor ecx, ecx
push edi
cmp ebx, edi
setne cl
push edi
push edi
push edi
sub ecx, 2
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp case.0x6d072a21.38920
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
jmp 0x6d072c43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
jmp 0x6d072c43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
jmp 0x6d072c43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
jmp 0x6d072c43
mov esi, dword [esi + 0x28]
push 0
push esi
test ebx, ebx
je 0x6d072bce
call fcn.6d06be1f
pop ecx
pop ecx
jmp 0x6d072c40
call fcn.6d06be43
jmp 0x6d072bca
mov eax, dword [esi]
push 1
push ebx
mov ecx, esi
call dword [eax + 0x204]
jmp 0x6d072c40
mov edi, dword [ebp - 0x24]
mov esi, dword [esi + 0x28]
push 1
push edi
push ebx
push esi
call dword [sym.imp.USER32.dll_SetScrollInfo]
jmp 0x6d072b46
mov eax, dword [ebx + 4]
push dword [ebx + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.6d08901e
mov dword [ebp - 0x28], eax
push 2
pop edi
cmp edi, 2
je 0x6d072c43
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
push dword [ebp + 8]
mov ecx, esi
call dword [eax + 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov esi, dword [ebp - 0x28]
push 0
push eax
mov byte [ebp - 4], 0
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x3c]
dec dword [eax]
mov eax, esi
call fcn.6d0b0d62
ret 0xc