Function at 0x1007a43f
Capabilities:
Log keystrokes

Disassembly:
push 0x38
mov eax, 0x100b69be
call fcn.100b4da7
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, ecx
mov dword [ebp - 0x24], eax
lea eax, [esi + 0x70]
inc dword [eax]
mov dword [ebp - 0x3c], eax
and dword [ebp - 4], 0
push 0xa
call fcn.100a4d80
push eax
lea ecx, [ebp - 0x40]
call fcn.1009e019
and dword [ebp - 0x28], 0
mov eax, dword [ebp + 8]
xor edi, edi
inc edi
inc dword [0x101004e0]
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], edi
mov dword [0x100ffb0c], eax
cmp eax, dword [0x100ffb38]
jne 0x1007a4b2
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
push 0
push eax
mov byte [ebp - 4], 0
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x3c]
dec dword [eax]
xor eax, eax
inc eax
jmp 0x1007b30b
push 2
pop edx
cmp eax, 0x14
ja 0x1007a667
je 0x1007a653
cmp eax, 6
ja 0x1007a5c8
je 0x1007a55d
dec eax
je 0x1007a54c
dec eax
je 0x1007a540
dec eax
je 0x1007a520
sub eax, edx
jne case.default.0x1007ac9a
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 + 0xc0]
lea ecx, [ebp - 0x20]
mov edi, eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x128]
jmp 0x1007b2d9
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 + 0xbc]
jmp 0x1007a556
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa4]
jmp 0x1007a556
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
mov edi, eax
jmp 0x1007b2d9
mov eax, ebx
shr eax, 0x10
cmp dword [0x100ffadc], 0
movzx ecx, bx
jne 0x1007b2f2
test eax, eax
je 0x1007a57e
test ecx, ecx
jne 0x1007b2f2
push dword [ebp - 0x24]
mov edx, dword [esi]
push eax
push ecx
mov ecx, esi
call dword [edx + 0xac]
mov ecx, esi
mov edi, eax
call fcn.10079d15
push eax
mov dword [ebp - 0x2c], eax
call sub.IMM32.dll_ImmGetContext
test eax, eax
je 0x1007b2d9
push eax
push dword [ebp - 0x2c]
call sub.IMM32.dll_ImmReleaseContext
mov eax, dword [esi]
push 0
push 0
push 0x10e
mov ecx, esi
call dword [eax + 0x94]
jmp 0x1007b2d9
sub eax, 7
je 0x1007a633
dec eax
je 0x1007a61a
sub eax, 7
je 0x1007a5eb
dec eax
jne case.default.0x1007ac9a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa0]
jmp 0x1007a556
push dword [esi + 0x28]
call fcn.1009e019
push dword [esi + 0x28]
call fcn.1007438a
or eax, 2
push eax
push dword [esi + 0x28]
call fcn.1007439b
mov eax, dword [esi]
add esp, 0x10
push ebx
mov ecx, esi
call dword [eax + 0xb4]
jmp 0x1007a556
cmp dword [0x100ffaf0], 0
je 0x1007a64c
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xd0]
jmp 0x1007a556
cmp dword [0x100ffaf0], 0
je 0x1007a64c
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xcc]
jmp 0x1007a556
mov edi, edx
jmp 0x1007b2d9
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0xb0]
jmp 0x1007a556
mov ecx, 0x201
cmp eax, ecx
ja 0x1007acfa
je 0x1007adc0
mov ecx, 0xa1
cmp eax, ecx
ja 0x1007aa10
je 0x1007a9e6
cmp eax, 0x46
ja 0x1007a875
je 0x1007a7c3
cmp eax, 0x24
ja 0x1007a75f
je 0x1007a74d
sub eax, 0x18
je 0x1007a73a
sub eax, edx
je 0x1007a71f
sub eax, 6
je 0x1007a6f9
dec eax
jne case.default.0x1007ac9a
mov ecx, esi
call fcn.10078683
mov esi, eax
test esi, esi
je 0x1007a6ed
mov ecx, esi
call fcn.100acf55
test eax, eax
je 0x1007a6ed
movzx ecx, word [ebp - 0x24]
mov eax, dword [esi]
push ecx
push 1
mov ecx, esi
call dword [eax + 0x210]
mov dword [ebp - 0x28], 3
jmp 0x1007b2f2
cmp word [ebp - 0x24], 1
jne case.default.0x1007ac9a
push ebx
call fcn.1007817b
pop ecx
test eax, eax
je case.default.0x1007ac9a
push eax
call fcn.1007c099
pop ecx
jmp 0x1007b2f2
push 0
call fcn.1009e019
mov eax, dword [esi]
pop ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x1a0]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0xc8]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
jmp 0x1007a556
sub eax, 0x2b
je 0x1007a7b0
dec eax
je 0x1007a79d
dec eax
je 0x1007a78a
sub eax, 0xc
jne case.default.0x1007ac9a
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x154]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x158]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x160]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x15c]
jmp 0x1007a556
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x18]
mov edx, ecx
and edx, 3
cmp dl, 3
je 0x1007a865
and dword [ebp - 0x2c], 0
test cl, 2
jne 0x1007a80c
mov edx, dword [eax + 8]
cmp dword [esi + 0x94], edx
jne 0x1007a7f6
mov edi, dword [esi + 0x98]
cmp edi, dword [eax + 0xc]
je 0x1007a80c
mov dword [esi + 0x94], edx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2c], 1
mov dword [esi + 0x98], ecx
test byte [eax + 0x18], 1
jne 0x1007a83e
mov edx, dword [eax + 0x10]
cmp dword [esi + 0x9c], edx
jne 0x1007a828
mov edi, dword [esi + 0xa0]
cmp edi, dword [eax + 0x14]
je 0x1007a83e
mov dword [esi + 0x9c], edx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2c], 1
mov dword [esi + 0xa0], ecx
cmp dword [ebp - 0x2c], 0
je 0x1007a865
cmp dword [0x100ffb08], 0
jne 0x1007a865
push 0x100fca34
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x24]
mov dword [0x100ffb08], 1
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x100]
jmp 0x1007a556
cmp eax, 0x7d
ja 0x1007a97d
je 0x1007a96a
sub eax, 0x47
je 0x1007a93d
sub eax, 9
je 0x1007a8f4
dec eax
je 0x1007a8bd
sub eax, 0x2a
jne case.default.0x1007ac9a
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 + 0x1a4]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x11c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
xor edi, edi
push ebx
inc edi
push 0x51
mov ecx, esi
mov dword [0x100ffad8], edi
call fcn.1009e019
mov dword [ebp - 0x28], edi
jmp 0x1007ae41
mov edi, 0x100ffc18
push edi
call fcn.100a3fb0
pop ecx
push dword [0x100ffb50]
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 [0x100ffad8], 1
push ebx
push 0x50
jmp 0x1007ae3a
cmp dword [0x100ffb08], 0
je 0x1007a958
and dword [0x100ffb08], 0
push 0x100fca34
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
push dword [ebp - 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x104]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x19c]
jmp 0x1007a556
sub eax, 0x82
je 0x1007a9d7
dec eax
je 0x1007a9c0
dec eax
je 0x1007a9a1
dec eax
jne case.default.0x1007ac9a
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x178]
jmp 0x1007a556
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 + 0x17c]
jmp 0x1007a556
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x174]
jmp 0x1007a556
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xa8]
jmp 0x1007a556
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]
and dword [0x100ffc14], 0
mov edi, eax
jmp 0x1007b2d9
mov ecx, 0x10d
cmp eax, ecx
ja 0x1007ab5d
je 0x1007ab3a
add ecx, 0xfffffff4
cmp eax, ecx
ja 0x1007aaf8
je 0x1007aada
sub eax, 0xa2
je 0x1007aab9
dec eax
je 0x1007aa88
dec eax
je 0x1007aa67
sub eax, 0x5c
jne case.default.0x1007ac9a
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 + 0x10c]
jmp 0x1007a556
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 + 0xf8]
jmp 0x1007a556
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 + 0xf8]
mov edi, eax
cmp edi, 1
jne 0x1007b2d9
mov dword [0x100ffc14], eax
jmp 0x1007b2d9
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 + 0xfc]
jmp 0x1007a556
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 + pe_nt_image_headers32]
jmp 0x1007a556
sub eax, 0x102
je 0x1007ab1c
sub eax, edx
je 0x1007ab15
dec eax
je 0x1007ab11
dec eax
jne case.default.0x1007ac9a
push 1
jmp 0x1007ab1e
push 1
jmp 0x1007aadc
push 1
jmp 0x1007aa4b
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 + 0x114]
jmp 0x1007a556
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x13c]
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 0x1007ae3a
mov ecx, 0x113
cmp eax, ecx
ja 0x1007ac1e
je 0x1007ac0e
lea edi, [ecx - 5]
sub eax, edi
je 0x1007abef
dec eax
je 0x1007abc8
sub eax, edx
je 0x1007abac
dec eax
jne case.default.0x1007ac9a
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 + 0x180]
jmp 0x1007a556
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 + 0x14c]
jmp 0x1007a556
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x144]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push 0x10f
jmp 0x1007ae3a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x140]
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
jmp 0x1007ae3a
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x148]
jmp 0x1007a556
cmp eax, 0x114
je 0x1007acde
cmp eax, 0x115
je 0x1007acc2
cmp eax, 0x131
jbe case.default.0x1007ac9a
cmp eax, 0x138
jbe 0x1007aca1
cmp eax, 0x200
jne case.default.0x1007ac9a
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]
mov eax, 0x9802
cmp dword [ebp + 8], eax
ja 0x1007b167
mov ecx, dword [ebp + 8]
cmp ecx, eax
je 0x1007b151
lea eax, [ecx - 0x200]
cmp eax, 0xd
ja case.default.0x1007ac9a
jmp dword [eax*4 + 0x1007b313]
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 + 0xd4]
jmp 0x1007a556
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 + 0xdc]
jmp 0x1007a556
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 0x1007a556
mov ecx, 0x318
cmp eax, ecx
ja 0x1007af7a
je 0x1007af67
cmp eax, 0x285
ja 0x1007ae6b
cmp eax, 0x283
jae 0x1007aeb4
mov ecx, 0x214
cmp eax, ecx
ja 0x1007addb
je 0x1007adcc
add ecx, 0xffffffee
cmp eax, ecx
je 0x1007adab
jbe case.default.0x1007ac9a
cmp eax, 0x20d
jbe case.0x1007af8f.38914
cmp eax, 0x211
je 0x1007ad79
cmp eax, 0x212
jne case.default.0x1007ac9a
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x18c]
and dword [0x100ffaec], 0
mov edi, eax
jmp 0x1007b2d9
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x188]
mov ecx, dword [0x10100958]
mov edi, eax
mov dword [0x100ffaec], 1
test ecx, ecx
je 0x1007b2d9
mov eax, dword [ecx]
call dword [eax + 0x1f8]
jmp 0x1007b2d9
cmp dword [0x100ffc14], 0
je 0x1007adc0
and dword [0x100ffc14], 0
jmp 0x1007a496
and dword [0x100ffc14], 0
jmp case.0x1007af8f.38914
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc4]
jmp 0x1007a556
sub eax, 0x232
je 0x1007ae5c
sub eax, 0xe
je 0x1007ae49
sub eax, 0x41
je 0x1007ae17
dec eax
jne case.default.0x1007ac9a
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
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 0x282
jmp 0x1007ae3a
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push ebx
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 0x281
mov ecx, esi
call fcn.1009e019
mov edi, dword [ebp - 0x2c]
jmp 0x1007b2d9
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x108]
jmp case.default.0x1007ac9a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x184]
jmp 0x1007a556
mov ecx, 0x30f
cmp eax, ecx
ja 0x1007aef9
je 0x1007aee6
cmp eax, 0x286
je 0x1007aec8
cmp eax, 0x288
je 0x1007aeb4
cmp eax, 0x28f
jbe case.default.0x1007ac9a
cmp eax, 0x291
jbe 0x1007aeb4
cmp eax, 0x302
jne case.default.0x1007ac9a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x124]
jmp 0x1007a556
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x24]
push ebx
push dword [ebp + 8]
jmp 0x1007ae3a
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 + 0x118]
jmp 0x1007a556
mov eax, dword [esi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x190]
jmp 0x1007a556
sub eax, 0x310
je 0x1007af57
dec eax
je 0x1007af47
sub eax, edx
je 0x1007af23
sub eax, 4
jne case.default.0x1007ac9a
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x16c]
jmp 0x1007a556
push dword [0x100fc5d4]
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.default.0x1007ac9a
jmp 0x1007b2f2
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x194]
jmp 0x1007a556
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x198]
jmp case.default.0x1007ac9a
push dword [ebp - 0x24]
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x170]
jmp 0x1007a556
add eax, 0xffff67fe
cmp eax, 0x31
ja case.default.0x1007ac9a
movzx eax, byte [eax + 0x1007b397]
jmp dword [eax*4 + 0x1007b34b]
mov eax, dword [esi + 0x28]
push 0x100fca10
push eax
call fcn.1007803f
push 8
call fcn.100b0226
mov edi, eax
xor ebx, ebx
add esp, 0xc
mov dword [edi + 4], ebx
call fcn.1008b873
test eax, eax
je 0x1007afe8
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 0x1007afe1
push dword [esi + 0x28]
mov ecx, 0x100fc9f0
push ebx
call fcn.100794fe
jmp 0x1007afef
call fcn.1008b8c5
jmp 0x1007afef
mov dword [edi + 4], 1
mov dword [edi], ebx
mov dword [ebp - 0x28], edi
jmp 0x1007b2f2
push dword [esi + 0x28]
push ebx
call fcn.1007801d
mov esi, dword [esi + 0x28]
push 0x100fca10
push esi
call fcn.1007803f
add esp, 0x10
jmp 0x1007b2f2
mov eax, dword [esi + 0x28]
push 0x100fc9f0
push eax
call fcn.1007803f
jmp 0x1007b002
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
jmp case.default.0x1007ac9a
push 0
jmp 0x1007b02a
push 1
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe4]
jmp 0x1007a556
push 1
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe8]
jmp 0x1007a556
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xec]
jmp 0x1007a556
push 2
jmp 0x1007b03b
mov ecx, 0x101004d8
call sym.awt.dll_public:_struct_IDirect3DDevice9____thiscall_D3DContext::Get3DDevice_void_
test eax, eax
je case.default.0x1007ac9a
mov dword [ebp - 0x2c], ebx
shr dword [ebp - 0x2c], 0x10
cmp word [ebp - 0x2c], 1
jne 0x1007b0b8
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 0x1007b2d9
push 0x20
jmp 0x1007b03b
mov ecx, 0x101004d8
call sym.awt.dll_public:_struct_IDirect3DDevice9____thiscall_D3DContext::Get3DDevice_void_
test eax, eax
je case.default.0x1007ac9a
mov dword [ebp - 0x2c], ebx
shr dword [ebp - 0x2c], 0x10
cmp word [ebp - 0x2c], 1
jne 0x1007b0ff
mov eax, dword [esi]
push 0x10
push dword [ebp - 0x34]
mov ecx, esi
push dword [ebp - 0x38]
push ebx
call dword [eax + 0xe8]
mov edi, eax
cmp word [ebp - 0x2c], 2
jne 0x1007b2d9
push 0x20
jmp 0x1007b053
push 4
jmp 0x1007b03b
push 4
jmp 0x1007b053
push 2
jmp 0x1007b053
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 + 0xf4]
jmp 0x1007a556
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xe0]
jmp 0x1007a556
cmp dword [ebp + 8], 0x9803
jne case.default.0x1007ac9a
push dword [ebp - 0x34]
mov eax, dword [esi]
push dword [ebp - 0x38]
mov ecx, esi
push ebx
call dword [eax + 0xf0]
jmp 0x1007a556
mov eax, dword [esi]
mov ecx, ebx
shr ecx, 0x10
push ecx
push dword [ebp - 0x24]
mov ecx, esi
push ebx
call dword [eax + 0x120]
jmp 0x1007a556
mov eax, dword [esi]
push ebx
push dword [ebp - 0x24]
mov ecx, esi
call dword [eax + 0x78]
jmp 0x1007a556
mov edi, dword [ebp - 0x24]
test ebx, ebx
jne 0x1007b1da
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b8]
test eax, eax
je 0x1007b1da
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 0x1007a719
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x104], 0
push 3
pop ecx
je 0x1007b213
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.default.0x1007ac9a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x88]
jmp 0x1007b2f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
jmp 0x1007b2f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
jmp 0x1007b2f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
jmp 0x1007b2f2
mov esi, dword [esi + 0x28]
push 0
push esi
test ebx, ebx
je 0x1007b27d
call fcn.10073c18
pop ecx
pop ecx
jmp 0x1007b2ef
call fcn.10073c3c
jmp 0x1007b279
mov eax, dword [esi]
push 1
push ebx
mov ecx, esi
call dword [eax + 0x210]
jmp 0x1007b2ef
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 0x1007b1f4
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.1009e019
push 2
mov dword [ebp - 0x28], eax
pop edi
cmp edi, 2
je 0x1007b2f2
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.100b4e2a
ret 0xc