Function at 0x24441e0
Capabilities:
Capture webcam image
Check for unmoving mouse cursor
Check os version
Create process on windows
Encode data using base64
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x24c0d8c
push eax
mov eax, 0x3734
mov dword fs:[0], esp
call fcn.024adb70
push ebx
mov ebx, dword [esp + 0x3748]
push ebp
push esi
push edi
mov edi, dword [esp + 0x3758]
cmp edi, 0x104
mov esi, ecx
ja 0x2446fca
cmp edi, 0x104
je case.0x2445ca2.36
cmp edi, 0x1a
ja 0x2445c8c
je case.0x244424e.6
lea eax, [edi - 1]
cmp eax, 0x14
ja case.0x2445ca2.37
xor ecx, ecx
mov cl, byte [eax + 0x244a598]
jmp dword [ecx*4 + 0x244a57c]
push ebx
call dword [sym.imp.user32.dll_BringWindowToTop]
push ebx
call dword [sym.imp.user32.dll_SetActiveWindow]
push ebx
call dword [sym.imp.user32.dll_SetForegroundWindow]
lea ecx, [esp + 0x234]
call fcn.0245db00
xor ebp, ebp
push 0x10
lea ecx, [esp + 0x238]
mov dword [esp + 0x3750], ebp
call fcn.0245de20
test eax, eax
je 0x2445683
lea edx, [esp + 0x98]
mov dword [esp + 0x9c], ebp
push edx
mov dword [esp + 0x9c], 8
mov dword [esp + 0xa0], 0x605
call dword [sym.imp.comctl32.dll_InitCommonControlsEx]
test eax, eax
je 0x2445683
mov ecx, ebx
call fcn.02480690
push eax
mov ecx, esi
mov dword [esp + 0x4c], eax
call fcn.024434e0
test eax, eax
je 0x2445683
mov ecx, esi
call fcn.02443690
test eax, eax
je 0x2445683
mov eax, dword [0x24e27c8]
push ebp
push ebx
push 0xf2
lea edi, [esi + 0xa8]
push eax
mov ecx, edi
call fcn.0243e500
test eax, eax
je 0x2445683
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
lea edx, [esp + 0x38]
mov ecx, ebx
mov byte [esp + 0x374c], 1
call fcn.0247fdb0
test eax, eax
jne 0x2444341
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2445683
mov edx, dword [esp + 0x3c]
mov ecx, edi
mov dword [esp + 0x28], edx
call fcn.024787d0
mov edx, dword [esp + 0x28]
mov ecx, eax
call fcn.0247fd10
test eax, eax
jne 0x244436d
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2445683
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0
call fcn.024017d0
xor eax, eax
mov ecx, 9
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
mov eax, dword [0x24e27c4]
push 0x7f00
push ebp
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xc0], eax
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc4], ebp
call dword [sym.imp.user32.dll_LoadCursorA]
push 0x18
push 0x18
push 0x50000940
push 5
push ebp
push ebx
push 0x3e8
push 0x3e8
push ebp
push ebp
push 0x44000000
push 0x24e25d0
lea ecx, [esp + 0xd8]
lea edi, [esi + 0x308]
push ecx
mov ecx, edi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xfc], ebp
call fcn.0248c5c0
test eax, eax
je 0x2445683
mov edx, dword [esp + 0x3754]
push 0x18
push 0x18
push 0x50000940
push 5
push ebp
push edx
push 0x3e8
push 0x3e8
push ebp
push ebp
push 0x44000000
push 0x24e25d0
lea eax, [esp + 0xd8]
lea ebx, [esi + 0x3cc]
push eax
mov ecx, ebx
call fcn.0248c5c0
test eax, eax
je 0x2445683
push 7
push 0x24db3c8
mov ecx, edi
call fcn.0248c9b0
test eax, eax
je 0x2445683
push 7
push 0x24db3c8
mov ecx, ebx
call fcn.0248c9b0
test eax, eax
je 0x2445683
mov ecx, dword [esp + 0x48]
push 6
call fcn.0242d740
mov ecx, dword [0x24e27c4]
neg eax
sbb eax, eax
neg eax
add eax, 0x8d
push eax
push ecx
mov ecx, edi
call fcn.0248ca80
test eax, eax
je 0x2445683
mov ecx, dword [esp + 0x48]
push 6
call fcn.0242d740
mov edx, dword [0x24e27c4]
neg eax
sbb eax, eax
neg eax
add eax, 0x8d
push eax
push edx
mov ecx, ebx
call fcn.0248ca80
test eax, eax
je 0x2445683
mov ecx, edi
call fcn.0248cd80
mov ecx, ebx
call fcn.0248cd80
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
xor ecx, ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x3b0]
mov dword [esp + 0x3c], ecx
push edx
mov dword [esp + 0x44], ecx
push eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x4c], ecx
call dword [sym.imp.user32.dll_GetWindowRect]
test eax, eax
je 0x2445683
mov edx, dword [esi + 0x474]
lea ecx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.user32.dll_GetWindowRect]
test eax, eax
je 0x2445683
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebp
sub eax, edx
push eax
sub ecx, dword [esp + 0x18]
push ecx
push ebp
push ebp
mov ecx, edi
call fcn.024787d0
mov edi, dword [sym.imp.user32.dll_MoveWindow]
push eax
call edi
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push ebp
sub edx, ecx
push edx
sub eax, dword [esp + 0x40]
push eax
push ebp
push ebp
mov ecx, ebx
call fcn.024787d0
push eax
call edi
xor eax, eax
mov ecx, 9
lea edi, [esp + 0xfc]
rep stosd dword es:[edi], eax
mov ecx, dword [0x24e27c8]
push 0x7f00
push ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x110], ecx
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x114], ebp
call dword [sym.imp.user32.dll_LoadCursorA]
mov edx, dword [esp + 0x3754]
push ebp
push 0x200
push 0x50000348
push 5
push ebp
push edx
push 0x64
push 0x64
push ebp
push ebp
push 0x44000000
mov dword [esp + 0x13c], eax
push 0x24e25d0
lea eax, [esp + 0x128]
lea ecx, [esi + 0x188]
push eax
mov dword [esp + 0x14c], ebp
call fcn.02484500
test eax, eax
je 0x2445683
mov edx, dword [esp + 0x3754]
push ebp
push 0x200
push 0x50000348
push 5
push ebp
push edx
push 0x64
push 0x64
push ebp
push ebp
push 0x44000000
push 0x24e25d0
lea eax, [esp + 0x128]
lea ecx, [esi + 0x248]
push eax
call fcn.02484500
test eax, eax
je 0x2445683
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa06b
mov byte [esp + 0x3750], 2
call fcn.02481110
test eax, eax
jne 0x24446ac
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2445683
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x50]
push edx
mov edx, 0xa06c
mov byte [esp + 0x3750], 3
call fcn.02481110
test eax, eax
jne 0x24446ec
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2445683
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x20]
push eax
mov edx, 0xa07d
mov byte [esp + 0x3750], 4
call fcn.02481110
test eax, eax
je 0x2444c4f
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa07b
mov byte [esp + 0x3750], 5
call fcn.02481110
test eax, eax
je 0x2444c46
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x88]
push edx
mov edx, 0xa07c
mov byte [esp + 0x3750], 6
call fcn.02481110
test eax, eax
je 0x2444c3a
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0x2314]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], 1
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
call fcn.0245db00
mov eax, dword [esp + 0x15f8]
cmp eax, 0x3e8
jae 0x24447f7
mov dword [esp + 0xa8], eax
jmp 0x2444805
mov edx, dword [esp + 0x36d8]
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x15fc]
cmp eax, 0x3e8
jb 0x244481a
mov eax, dword [esp + 0x36dc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1600]
cmp eax, 0x3e8
jae 0x2444838
mov dword [esp + 0xb0], eax
jmp 0x2444846
mov ecx, dword [esp + 0x36e0]
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0x1604]
cmp eax, 0x3e8
jae 0x244485d
mov dword [esp + 0xb4], eax
jmp 0x244486b
mov edx, dword [esp + 0x36e4]
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0x1608]
cmp eax, 0x3e8
jb 0x2444880
mov eax, dword [esp + 0x36e8]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x374c], 8
xor edi, edi
cmp dword [esp + 0x18], ebp
jne 0x24448b2
lea ecx, [esp + 0x10]
call fcn.0245d1d0
jmp 0x24448ff
push 0x28
call fcn.024adc5e
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, ebp
mov byte [esp + 0x374c], 9
je 0x24448d5
mov ecx, eax
call fcn.0245cfa0
jmp 0x24448d7
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x374c], 8
je 0x2444932
mov dword [eax], ebp
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ecx
add eax, 4
cmp eax, ebp
je 0x2444932
mov edx, dword [esp + edi*4 + 0x74]
mov ecx, dword [esp + edi*4 + 0xa8]
mov dword [eax + 4], edx
mov edx, dword [esp + edi*4 + 0xdc]
mov dword [eax + 0x10], edi
inc edi
cmp edi, 5
mov dword [eax], 0xf
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jae 0x2444994
jmp 0x24448a1
mov ecx, dword [esp + 0x10]
cmp ecx, ebp
mov byte [esp + 0x374c], 7
je 0x244495d
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2444957
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x2444942
lea ecx, [esp + 0x2314]
mov byte [esp + 0x374c], 6
call fcn.0245dcd0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
jmp 0x24446d5
lea eax, [esp + 0x10]
push eax
lea ecx, [esi + 0x188]
call fcn.02484f70
test eax, eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x374c], 7
jne 0x2444a0a
cmp ecx, ebp
je 0x24449d3
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x24449cd
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x24449b8
lea ecx, [esp + 0x2314]
mov byte [esp + 0x374c], 6
call fcn.0245dcd0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
jmp 0x24446d5
cmp ecx, ebp
je 0x2444a29
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2444a23
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x2444a0e
mov eax, dword [esp + 0x160c]
cmp eax, 0x3e8
jae 0x2444a40
mov dword [esp + 0xa8], eax
jmp 0x2444a4e
mov ecx, dword [esp + 0x36ec]
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x1610]
cmp eax, 0x3e8
jae 0x2444a65
mov dword [esp + 0xac], eax
jmp 0x2444a73
mov edx, dword [esp + 0x36f0]
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0x1614]
cmp eax, 0x3e8
jb 0x2444a88
mov eax, dword [esp + 0x36f4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x1618]
cmp eax, 0x3e8
jae 0x2444aa6
mov dword [esp + 0xb4], eax
jmp 0x2444ab4
mov ecx, dword [esp + 0x36f8]
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x161c]
cmp eax, 0x3e8
jae 0x2444acb
mov dword [esp + 0xb8], eax
jmp 0x2444ad9
mov edx, dword [esp + 0x36fc]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x374c], 0xa
xor edi, edi
mov bl, 0xb
cmp dword [esp + 0x18], ebp
jne 0x2444b06
lea ecx, [esp + 0x10]
call fcn.0245d1d0
jmp 0x2444b52
push 0x28
call fcn.024adc5e
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, ebp
mov byte [esp + 0x374c], bl
je 0x2444b28
mov ecx, eax
call fcn.0245cfa0
jmp 0x2444b2a
xor eax, eax
cmp eax, ebp
mov byte [esp + 0x374c], 0xa
je 0x2444b85
mov dword [eax], ebp
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ecx
add eax, 4
cmp eax, ebp
je 0x2444b85
mov edx, dword [esp + edi*4 + 0x74]
mov ecx, dword [esp + edi*4 + 0xa8]
mov dword [eax + 4], edx
mov edx, dword [esp + edi*4 + 0xdc]
mov dword [eax + 0x10], edi
inc edi
cmp edi, 5
mov dword [eax], 0xf
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jae 0x2444be7
jmp 0x2444af5
mov ecx, dword [esp + 0x10]
cmp ecx, ebp
mov byte [esp + 0x374c], 7
je 0x2444bb0
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2444baa
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x2444b95
lea ecx, [esp + 0x2314]
mov byte [esp + 0x374c], 6
call fcn.0245dcd0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
jmp 0x24446d5
lea eax, [esp + 0x10]
push eax
lea ecx, [esi + 0x248]
call fcn.02484f70
test eax, eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x374c], 7
jne 0x2444c5d
cmp ecx, ebp
je 0x2444c26
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2444c20
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x2444c0b
lea ecx, [esp + 0x2314]
mov byte [esp + 0x374c], 6
call fcn.0245dcd0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
jmp 0x24446d5
cmp ecx, ebp
je 0x2444c7c
cmp ecx, ebp
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2444c76
push 1
call fcn.0245cf60
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov ecx, eax
jne 0x2444c61
lea ecx, [esp + 0x2314]
mov byte [esp + 0x374c], 6
call fcn.0245dcd0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0
call fcn.024017d0
mov ecx, dword [esi + 0x174]
mov edx, dword [esi + 0x230]
mov edi, dword [sym.imp.user32.dll_SendMessageA]
push ecx
push ebp
push 0x1003
push edx
call edi
mov ecx, dword [esi + 0x230]
mov ebx, eax
mov eax, dword [esi + 0x178]
push eax
push 1
push 0x1003
push ecx
call edi
cmp ebx, ebp
mov dword [esp + 0x28], eax
je 0x2444d0c
push ebx
call dword [sym.imp.comctl32.dll_ImageList_Destroy]
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x2444d1b
push eax
call dword [sym.imp.comctl32.dll_ImageList_Destroy]
mov edx, dword [esi + 0x174]
mov eax, dword [esi + 0x2f0]
push edx
push ebp
push 0x1003
push eax
call edi
mov ecx, dword [esi + 0x178]
mov edx, dword [esi + 0x2f0]
push ecx
push 1
push 0x1003
push edx
mov ebx, eax
call edi
cmp ebx, ebp
mov edi, eax
je 0x2444d57
push ebx
call dword [sym.imp.comctl32.dll_ImageList_Destroy]
cmp edi, ebp
je 0x2444d62
push edi
call dword [sym.imp.comctl32.dll_ImageList_Destroy]
call dword [sym.imp.user32.dll_GetDialogBaseUnits]
mov ecx, eax
and eax, 0xffff
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 4
cdq
and edx, 3
add eax, edx
mov ebp, eax
shr ecx, 0x10
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 7
add eax, edx
mov ebx, eax
xor eax, eax
mov ecx, 9
lea edi, [esp + 0xfc]
rep stosd dword es:[edi], eax
mov eax, dword [0x24e27c8]
xor edi, edi
push 0x7f00
push edi
sar ebp, 2
sar ebx, 3
mov dword [esp + 0x100], edi
mov dword [esp + 0x110], eax
mov dword [esp + 0x11c], edi
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], edi
mov dword [esp + 0x114], edi
call dword [sym.imp.user32.dll_LoadCursorA]
mov edx, dword [esp + 0x3754]
push edi
push 0x50000442
push 5
push edi
push edx
push ebx
push ebp
push edi
push edi
push 0x44000000
mov dword [esp + 0x138], eax
push 0x24e25d0
lea eax, [esp + 0x124]
lea ecx, [esi + 0x608]
push eax
mov dword [esp + 0x148], edi
call fcn.0247a090
test eax, eax
je 0x2445683
mov ecx, dword [esp + 0x3754]
push 0
push 0x50000442
push 5
push 0
push ecx
push ebx
push ebp
push 0
push 0
push 0x44000000
push 0x24e25d0
lea edx, [esp + 0x124]
lea edi, [esi + 0x6d4]
push edx
mov ecx, edi
call fcn.0247a090
test eax, eax
je 0x2445683
lea ebp, [esi + 0x608]
push 1
mov ecx, ebp
call fcn.0247ae30
test eax, eax
je 0x2445683
push 1
mov ecx, edi
call fcn.0247ae30
test eax, eax
je 0x2445683
mov ebx, dword [esp + 0x48]
push ebx
push ebp
mov ecx, esi
call fcn.024420d0
test eax, eax
je 0x2445683
push ebx
push edi
mov ecx, esi
call fcn.024420d0
test eax, eax
je 0x2445683
mov ebx, dword [sym.imp.user32.dll_GetWindowRect]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
xor edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x6b0]
mov dword [esp + 0x3c], edx
push eax
mov dword [esp + 0x44], edx
push ecx
mov dword [esp + 0x4c], edx
call ebx
test eax, eax
je 0x2445683
mov eax, dword [esi + 0x77c]
lea edx, [esp + 0x38]
push edx
push eax
call ebx
test eax, eax
je 0x2445683
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0
sub ecx, ebx
push ecx
sub edx, dword [esp + 0x18]
push edx
push 0
push 0
mov ecx, ebp
call fcn.024787d0
mov ebx, dword [sym.imp.user32.dll_MoveWindow]
push eax
call ebx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
push 0
sub eax, edx
push eax
sub ecx, dword [esp + 0x40]
push ecx
push 0
push 0
mov ecx, edi
call fcn.024787d0
push eax
call ebx
mov ecx, ebp
call fcn.0247ae10
mov ecx, edi
mov dword [esi + 0x7a0], eax
call fcn.0247ae10
mov ecx, dword [esi + 0x7a0]
xor ebx, ebx
cmp ecx, ebx
mov dword [esi + 0x7a4], eax
je 0x2445683
cmp eax, ebx
je 0x2445683
mov edi, dword [esp + 0x3754]
mov edx, edi
call fcn.0244ace0
test eax, eax
je 0x2445683
mov ecx, dword [esi + 0x7a4]
mov edx, edi
call fcn.0244ace0
test eax, eax
je 0x2445683
call fcn.024783b0
test eax, eax
push ebx
je 0x2444ff5
mov edx, dword [0x24e27c4]
push edx
push 0x153
push edi
push ebx
push ebx
push ebx
push ebx
push 0x54000000
push ebx
push 0x24daee4
push ebx
call dword [sym.imp.user32.dll_CreateWindowExW]
jmp 0x2445017
mov eax, dword [0x24e27c4]
push eax
push 0x153
push edi
push ebx
push ebx
push ebx
push ebx
push 0x54000000
push ebx
push 0x24daed0
push ebx
call dword [sym.imp.user32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [esi + 0x7a8], eax
je 0x2445683
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa079
mov byte [esp + 0x3750], 0xc
call fcn.02481110
test eax, eax
je 0x24454db
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x20]
push edx
mov edx, 0xa07a
mov byte [esp + 0x3750], 0xd
call fcn.02481110
test eax, eax
jne 0x2445084
lea ecx, [esp + 0x20]
jmp 0x24454d6
xor eax, eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
push ecx
mov ecx, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
call fcn.024787d0
mov ebp, dword [sym.imp.user32.dll_GetWindowRect]
push eax
call ebp
test eax, eax
jne 0x24450b8
lea ecx, [esp + 0x20]
jmp 0x24454d6
lea edx, [esp + 0x48]
lea edi, [esi + 0x308]
push edx
mov ecx, edi
mov dword [esp + 0x4c], ebx
call fcn.0248cc20
test eax, eax
jne 0x24450db
lea ecx, [esp + 0x20]
jmp 0x24454d6
xor eax, eax
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], eax
push ecx
mov ecx, edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], eax
call fcn.024787d0
push eax
call ebp
test eax, eax
jne 0x2445109
lea ecx, [esp + 0x20]
jmp 0x24454d6
mov edx, dword [0x24e27c8]
xor ebx, ebx
xor eax, eax
push 0x7f00
mov ecx, 9
lea edi, [esp + 0x100]
rep stosd dword es:[edi], eax
push ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x110], edx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x114], ebx
call dword [sym.imp.user32.dll_LoadCursorA]
push ebx
push 0x56000640
push 5
push ebx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x3764]
push eax
push 0x64
push 0x64
push ebx
push ebx
push 0x44000000
push 0x24e25d0
lea ecx, [esp + 0x124]
lea ebp, [esi + 0x490]
push ecx
mov ecx, ebp
mov dword [esp + 0x148], ebx
call fcn.024894e0
test eax, eax
jne 0x24451a8
lea ecx, [esp + 0x20]
jmp 0x24454d6
mov edx, dword [esp + 0x3754]
push ebx
push 0x56000640
push 5
push ebx
push edx
push 0x64
push 0x64
push ebx
push ebx
push 0x44000000
push 0x24e25d0
lea eax, [esp + 0x124]
lea edi, [esi + 0x54c]
push eax
mov ecx, edi
call fcn.024894e0
test eax, eax
jne 0x24451eb
lea ecx, [esp + 0x20]
jmp 0x24454d6
push ebx
mov ecx, ebp
call fcn.02489a60
test eax, eax
jne 0x2445200
lea ecx, [esp + 0x20]
jmp 0x24454d6
push ebx
mov ecx, edi
call fcn.02489a60
test eax, eax
jne 0x2445215
lea ecx, [esp + 0x20]
jmp 0x24454d6
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xb8], ecx
lea ecx, [esi + 0x608]
mov dword [esp + 0xa8], 0x75
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
call fcn.024787d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x18]
sub eax, ecx
push 0xffffffffffffffff
lea ecx, [esp + 0xac]
sub edx, edi
push ecx
mov ecx, ebp
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.02489880
test eax, eax
jne 0x24452c9
lea ecx, [esp + 0x20]
jmp 0x24454d6
mov edx, dword [esp + 0x24]
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x6d4]
mov dword [esp + 0xa8], 0x75
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
call fcn.024787d0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1c]
sub ecx, edx
push 0xffffffffffffffff
lea edx, [esp + 0xac]
sub eax, edi
mov dword [esp + 0xd4], ecx
push edx
lea ecx, [esi + 0x54c]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.02489880
test eax, eax
jne 0x2445381
lea ecx, [esp + 0x20]
jmp 0x24454d6
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x308]
mov dword [esp + 0xa8], 0x71
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
call fcn.024787d0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
sub ecx, edx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x48]
push 0xffffffffffffffff
lea edx, [esp + 0xac]
mov dword [esp + 0xd0], ecx
push edx
mov ecx, ebp
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.02489880
test eax, eax
jne 0x244542b
lea ecx, [esp + 0x20]
jmp 0x24454d6
xor eax, eax
mov ecx, 0xc
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
lea ebp, [esi + 0x3cc]
mov ecx, ebp
mov dword [esp + 0xa8], 0x71
mov dword [esp + 0xac], 4
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
call fcn.024787d0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
sub ecx, edx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x48]
push 0xffffffffffffffff
lea edx, [esp + 0xac]
mov dword [esp + 0xd0], ecx
push edx
lea ecx, [esi + 0x54c]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
call fcn.02489880
test eax, eax
lea ecx, [esp + 0x20]
jne 0x24454e9
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
jmp 0x2445683
call fcn.024017d0
lea ecx, [esp + 0x28]
mov byte [esp + 0x374c], 0
call fcn.024017d0
mov ecx, esi
call fcn.0243f970
mov edi, dword [esp + 0x3754]
push ebx
push ebx
push 5
push edi
mov ecx, esi
call fcn.024441e0
mov eax, dword [esp + 0x15f0]
cmp eax, 0x9c55
je 0x2445541
cmp eax, 0x9c56
je 0x2445541
cmp eax, 0x9c57
je 0x2445541
cmp eax, 0x9c58
je 0x2445541
mov eax, 0x9c55
lea ecx, [esi + 0x308]
mov dword [esi + 0x7b4], eax
call fcn.024787d0
push eax
mov eax, dword [esi + 0x7b4]
push eax
push 0x111
push edi
mov ecx, esi
call fcn.024441e0
mov eax, dword [esp + 0x15f4]
cmp eax, 0x9c55
je 0x244558f
cmp eax, 0x9c56
je 0x244558f
cmp eax, 0x9c57
je 0x244558f
cmp eax, 0x9c58
je 0x244558f
mov eax, 0x9c55
mov ecx, ebp
mov dword [esi + 0x7b8], eax
call fcn.024787d0
mov ecx, dword [esi + 0x7b8]
push eax
push ecx
push 0x111
push edi
mov ecx, esi
call fcn.024441e0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
push ebx
lea edx, [esp + 0x14]
push edx
mov ecx, esi
mov byte [esp + 0x3754], 0xe
call fcn.02440010
test eax, eax
jne 0x244560a
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov byte [esp + 0x374c], al
je 0x2445683
cmp ecx, ebx
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2445602
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov ecx, eax
jne 0x24455ed
jmp 0x2445683
push 1
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x2445648
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov byte [esp + 0x374c], al
je 0x2445683
cmp ecx, ebx
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2445640
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov ecx, eax
jne 0x244562b
jmp 0x2445683
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0243f700
test eax, eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x374c], 0
jne 0x24456a2
cmp ecx, ebx
je 0x2445683
cmp ecx, ebx
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x244567d
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov ecx, eax
jne 0x2445668
lea ecx, [esp + 0x234]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0245dcd0
or eax, 0xffffffff
jmp 0x244a46d
cmp ecx, ebx
je 0x24456c1
cmp ecx, ebx
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x24456bb
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov ecx, eax
jne 0x24456a6
lea ecx, [esi + 0x188]
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
lea ecx, [esp + 0x234]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0245dcd0
mov edi, dword [esp + 0x3758]
mov ebx, dword [esp + 0x3754]
mov edx, dword [esp + 0x3760]
mov eax, dword [esp + 0x375c]
push edx
push eax
push edi
push ebx
mov ecx, esi
call fcn.024787e0
jmp 0x244a46d
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
je 0x2445759
lea edi, [esi + 0xa8]
mov ecx, edi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_IsWindowVisible]
test eax, eax
je 0x2445759
mov ecx, edi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x7ac]
test eax, eax
jne 0x2445769
mov eax, dword [esi + 0x230]
push eax
call dword [sym.imp.user32.dll_SetFocus]
jmp case.0x244a1a5.259
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x3754]
mov dword [esp + 0x9c], eax
push ecx
mov dword [esp + 0xa4], eax
push edx
mov dword [esp + 0xac], eax
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je case.0x244a1a5.259
mov ecx, dword [esi + 0x538]
mov edi, dword [sym.imp.user32.dll_GetWindowRect]
lea eax, [esp + 0x88]
push eax
push ecx
call edi
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esi + 0x5f4]
lea edx, [esp + 0x98]
push edx
push eax
call edi
test eax, eax
je case.0x244a1a5.259
mov edx, dword [esi + 0x7a8]
lea ecx, [esp + 0x50]
push ecx
push edx
call edi
test eax, eax
je case.0x244a1a5.259
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
sub edi, ebp
mov ebp, dword [esi + 0x86c]
sub ebx, eax
imul ebp, ebx
push 1
sub edi, edx
add edi, ecx
push edi
shr ebp, 0x10
lea eax, [ebp - 2]
push eax
push 0
push 0
lea ecx, [esi + 0x490]
mov dword [esp + 0x3c], eax
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_MoveWindow]
push 1
mov eax, ebx
sub eax, ebp
push edi
add eax, 0xfffffffe
push eax
lea ecx, [ebp + 2]
push 0
mov dword [esp + 0x70], ecx
push ecx
lea ecx, [esi + 0x54c]
mov dword [esp + 0x34], eax
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_MoveWindow]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
mov edx, ecx
sub edx, eax
push 1
add edx, edi
push edx
mov edx, dword [esp + 0x30]
push edx
sub eax, ecx
push eax
push 0
lea ecx, [esi + 0x188]
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_MoveWindow]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa4]
mov edx, ecx
sub edx, eax
push 1
add edx, edi
push edx
mov edx, dword [esp + 0x28]
sub eax, ecx
push edx
push eax
mov eax, dword [esp + 0x70]
push eax
lea ecx, [esi + 0x248]
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_MoveWindow]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea ecx, [esi + 0xa8]
call fcn.024787d0
mov ecx, eax
call fcn.02481640
mov edx, dword [esi + 0x7a8]
lea ecx, [esp + 0x38]
push ecx
push 2
push 0x404
inc ebp
push edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], 0xffffffff
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 0x7a8]
push 1
sub eax, edx
push eax
push ebx
push edi
push 0
push ecx
call dword [sym.imp.user32.dll_MoveWindow]
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
je 0x24459c9
mov eax, dword [0x24e2798]
test eax, eax
jne 0x24459c9
push 0x42034
push 0xa091
push 0xa119
push ebx
call fcn.0241c630
cmp eax, 7
je case.0x244a1a5.259
lea ecx, [esp + 0x234]
call fcn.0245db00
mov eax, dword [esi + 0x7c0]
mov ecx, dword [esi + 0x7b4]
mov edx, dword [esi + 0x7bc]
mov dword [esp + 0x15e4], eax
mov dword [esp + 0x15f0], ecx
xor eax, eax
mov ecx, 0xa
lea edi, [esp + 0xfc]
rep stosd dword es:[edi], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x15e0], edx
mov edx, dword [esi + 0x7b8]
push eax
push ebx
mov dword [esp + 0x3754], 0xf
mov dword [esp + 0x15fc], edx
mov dword [esp + 0x100], 0x2c
call dword [sym.imp.user32.dll_GetWindowPlacement]
test eax, eax
je 0x2445a70
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x118]
sub ecx, edx
mov edx, dword [esp + 0x120]
sub edx, eax
mov dword [esp + 0x15e8], ecx
mov dword [esp + 0x15ec], edx
lea eax, [esp + 0x48]
push eax
lea edi, [esi + 0x188]
push 0
mov ecx, edi
mov dword [esp + 0x50], 0
call fcn.02486130
test eax, eax
je 0x2445a9b
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x15f8], ecx
lea edx, [esp + 0x48]
push edx
push 1
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445ab8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x15fc], eax
lea ecx, [esp + 0x48]
push ecx
push 2
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445ad5
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1600], edx
lea eax, [esp + 0x48]
push eax
push 3
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445af2
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1604], ecx
lea edx, [esp + 0x48]
push edx
push 4
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445b0f
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1608], eax
lea ecx, [esp + 0x48]
push ecx
lea edi, [esi + 0x248]
push 0
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445b32
mov edx, dword [esp + 0x48]
mov dword [esp + 0x160c], edx
lea eax, [esp + 0x48]
push eax
push 1
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445b4f
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1610], ecx
lea edx, [esp + 0x48]
push edx
push 2
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445b6c
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1614], eax
lea ecx, [esp + 0x48]
push ecx
push 3
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445b89
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1618], edx
lea eax, [esp + 0x48]
push eax
push 4
mov ecx, edi
call fcn.02486130
test eax, eax
je 0x2445ba6
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x161c], ecx
push 0x10
lea ecx, [esp + 0x238]
call fcn.0245de90
push 0
call dword [sym.imp.user32.dll_PostQuitMessage]
lea ecx, [esp + 0x234]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0245dcd0
mov edi, dword [esp + 0x3758]
jmp case.0x2445ca2.37
mov ebp, dword [esp + 0x3760]
mov ebx, dword [esp + 0x375c]
push ebp
push ebx
push edi
lea ecx, [esi + 0x490]
call fcn.024787d0
mov edi, dword [sym.imp.user32.dll_SendMessageA]
push eax
call edi
mov edx, dword [esp + 0x3758]
push ebp
push ebx
push edx
lea ecx, [esi + 0x54c]
call fcn.024787d0
push eax
call edi
mov eax, dword [esp + 0x3758]
push ebp
push ebx
push eax
lea ecx, [esi + 0x188]
call fcn.024787d0
push eax
call edi
mov ecx, dword [esp + 0x3758]
push ebp
push ebx
push ecx
lea ecx, [esi + 0x248]
call fcn.024787d0
push eax
call edi
mov edx, dword [esi + 0x7a8]
push ebp
mov ebp, dword [esp + 0x375c]
push ebx
push ebp
push edx
call edi
cmp ebp, 0x1a
jne case.0x244a1a5.259
cmp ebx, 0x2e
jne case.0x244a1a5.259
mov esi, dword [esp + 0x3754]
mov ecx, esi
call fcn.02480690
push 0
push eax
push 0x7e
push esi
call edi
jmp case.0x244a1a5.259
lea eax, [edi - 0x1f]
cmp eax, 0xe1
ja case.0x2445ca2.37
xor ecx, ecx
mov cl, byte [eax + 0x244a5cc]
jmp dword [ecx*4 + 0x244a5b0]
mov esi, dword [esp + 0x3760]
test esi, esi
je case.0x244a1a5.259
call dword [sym.imp.user32.dll_InSendMessage]
test eax, eax
je 0x2445ce3
mov edx, dword [esp + 0x3754]
push 0
push 0
push 0xd3e
push edx
call dword [sym.imp.user32.dll_PostMessageA]
mov eax, 1
jmp 0x244a46d
cmp dword [esi + 4], 1
jne 0x2445cfb
mov ecx, dword [esi + 0xc]
call fcn.0242ce30
mov eax, 1
jmp 0x244a46d
xor ecx, ecx
call fcn.0242ce30
mov eax, 1
jmp 0x244a46d
mov eax, dword [0x24e27c4]
mov edi, dword [sym.imp.user32.dll_LoadIconA]
push 0xe6
push eax
call edi
mov ebx, dword [esp + 0x3754]
mov ebp, dword [sym.imp.user32.dll_SetClassLongA]
push eax
push 0xfffffffffffffff2
push ebx
call ebp
mov ecx, dword [0x24e27c4]
push 0xee
push ecx
call edi
push eax
push 0xfffffffffffffff2
push ebx
call ebp
mov edi, dword [esp + 0x375c]
push 6
mov ecx, edi
call fcn.0242d740
mov edx, dword [0x24e27c4]
neg eax
sbb eax, eax
neg eax
add eax, 0x8d
push eax
push edx
lea ecx, [esi + 0x308]
call fcn.0248ca80
test eax, eax
je case.0x244a1a5.259
push 6
mov ecx, edi
call fcn.0242d740
neg eax
sbb eax, eax
neg eax
add eax, 0x8d
push eax
mov eax, dword [0x24e27c4]
push eax
lea ecx, [esi + 0x3cc]
call fcn.0248ca80
test eax, eax
je case.0x244a1a5.259
push edi
lea ecx, [esi + 0x6d4]
push ecx
mov ecx, esi
call fcn.024420d0
test eax, eax
je case.0x244a1a5.259
push edi
lea edx, [esi + 0x608]
push edx
mov ecx, esi
call fcn.024420d0
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esi + 0x17c]
xor ebp, ebp
cmp eax, ebp
je 0x2445e3d
xor ebx, ebx
mov eax, dword [esi + 0x17c]
mov ecx, dword [eax + ebx*4]
cmp ecx, ebp
je 0x2445e06
cmp ecx, ebp
mov edi, dword [ecx]
je 0x2445e00
push 1
call fcn.0245cec0
cmp edi, ebp
mov ecx, edi
jne 0x2445df3
mov eax, dword [esi + 0x180]
inc ebx
cmp ebx, eax
jbe 0x2445de6
mov edi, dword [esi + 0x17c]
mov ecx, eax
lea ecx, [ecx*4 + 4]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x375c]
mov dword [esi + 0x184], ebp
push edi
mov ecx, esi
call fcn.024434e0
test eax, eax
je case.0x244a1a5.259
call fcn.024783b0
test eax, eax
je 0x2445e7d
push 0x24da3b8
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
cmp eax, ebp
je case.0x244a1a5.259
push 0x294
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
cmp eax, ebp
je 0x2445e7d
push 1
call eax
mov ecx, esi
call fcn.02443690
test eax, eax
je case.0x244a1a5.259
push ebp
push ebp
lea ebx, [esi + 0x248]
push ebx
mov ecx, esi
call fcn.02443400
test eax, eax
je case.0x244a1a5.259
push ebp
push ebp
lea edi, [esi + 0x188]
push edi
mov ecx, esi
call fcn.02443400
test eax, eax
je case.0x244a1a5.259
lea eax, [esp + 0x4c]
push eax
push 1
mov ecx, esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x78], ebp
call fcn.02443490
test eax, eax
je case.0x244a1a5.259
lea ecx, [esp + 0x70]
push ecx
push ebp
mov ecx, esi
call fcn.02443490
test eax, eax
je case.0x244a1a5.259
mov edx, dword [esi + 0x7c0]
mov eax, dword [esp + 0x4c]
push edx
push eax
lea ecx, [esi + 0x830]
push ecx
push ebx
mov ecx, esi
call fcn.02442ca0
test eax, eax
je case.0x244a1a5.259
mov edx, dword [esi + 0x7bc]
mov eax, dword [esp + 0x70]
push edx
push eax
lea ecx, [esi + 0x820]
push ecx
push edi
mov ecx, esi
call fcn.02442ca0
jmp case.0x244a1a5.259
push ebx
call dword [sym.imp.user32.dll_IsWindowEnabled]
test eax, eax
je case.0x2445ca2.37
xor edx, edx
xor eax, eax
xor edi, edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x58], edx
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], eax
call dword [sym.imp.user32.dll_GetCursorPos]
test eax, eax
je case.0x244a1a5.259
lea edx, [esp + 0x50]
push edx
lea ecx, [esi + 0x188]
call fcn.024787d0
mov ebp, dword [sym.imp.user32.dll_GetWindowRect]
push eax
call ebp
test eax, eax
je case.0x244a1a5.259
lea eax, [esp + 0x28]
push eax
lea ecx, [esi + 0x248]
call fcn.024787d0
push eax
call ebp
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
cmp eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jg 0x2445ff0
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x2446004
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.user32.dll_PtInRect]
test eax, eax
je 0x2445bd3
push 0x7f84
push edi
call dword [sym.imp.user32.dll_LoadCursorA]
cmp eax, edi
je case.0x244a1a5.259
push eax
call dword [sym.imp.user32.dll_SetCursor]
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne 0x2447027
mov eax, dword [esi + 0x870]
test eax, eax
je case.0x2445ca2.37
jmp 0x2447027
mov edi, dword [esp + 0x3760]
xor ebp, ebp
cmp edi, ebp
je case.0x244a1a5.259
mov eax, dword [edi + 8]
cmp eax, 0xffffff65
ja 0x2446a96
je 0x2446611
cmp eax, 0xfffffdee
ja 0x2446128
je 0x244610c
add eax, 0x33f
cmp eax, 0x1b
ja case.0x244a1a5.259
xor ecx, ecx
mov cl, byte [eax + 0x244a6c0]
jmp dword [ecx*4 + 0x244a6b0]
mov edx, dword [esp + 0x3754]
push ebp
push ebp
push 5
push edx
call dword [sym.imp.user32.dll_PostMessageA]
mov eax, 1
jmp 0x244a46d
mov eax, dword [edi]
cmp eax, dword [esi + 0x6b0]
jne 0x24460e8
lea ecx, [esi + 0x608]
call fcn.024787d0
mov dword [esi + 0x7ac], eax
mov ecx, dword [edi]
cmp ecx, dword [esi + 0x77c]
jne case.0x244a1a5.259
lea ecx, [esi + 0x6d4]
call fcn.024787d0
mov dword [esi + 0x7ac], eax
jmp case.0x244a1a5.259
mov eax, dword [edi + 4]
mov edx, dword [0x24e27c8]
mov dword [edi + 0xc], eax
mov dword [edi + 0xb0], edx
mov eax, 1
jmp 0x244a46d
cmp eax, 0xfffffdf8
je 0x24465f8
cmp eax, 0xffffff4f
je 0x24463cd
cmp eax, 0xffffff50
jne case.0x244a1a5.259
cmp dword [esi + 0x878], ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
mov eax, dword [edi]
cmp eax, dword [esi + 0x230]
je 0x244617c
cmp eax, dword [esi + 0x2f0]
jne case.0x244a1a5.259
mov ebp, 1
mov eax, dword [edi + 0x20]
test eax, eax
je case.0x244a1a5.259
push eax
call fcn.024adc6c
add esp, 4
test eax, eax
je case.0x244a1a5.259
mov ebx, dword [edi + 0x2c]
xor ecx, ecx
cmp ebx, ecx
je case.0x244a1a5.259
mov al, byte [ebx + 0x18]
cmp al, 1
je 0x24461b4
test al, al
jne case.0x244a1a5.259
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x374c], 0x14
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov ecx, ebx
mov byte [esp + 0x374c], 0x15
call fcn.0247f850
test eax, eax
jne 0x24461f4
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x28]
jmp 0x244a466
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x50]
call fcn.0247f900
test eax, eax
je 0x24461e2
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x28]
call fcn.0247f900
test eax, eax
je 0x24461e2
mov eax, dword [esp + 0x2c]
push eax
mov ebx, eax
call fcn.024adc6c
add esp, 4
test eax, eax
jle 0x2446238
lea ecx, [ebx + eax*2]
cmp word [ecx], 0x5c
je 0x2446238
dec eax
sub ecx, 2
test eax, eax
jg 0x244622a
cmp word [ebx + eax*2], 0x5c
jne 0x2446240
inc eax
mov word [ebx + eax*2], 0
mov edx, dword [edi + 0x20]
lea ecx, [esp + 0x28]
call fcn.0247f890
test eax, eax
je 0x24461e2
xor edi, edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
lea ecx, [esp + 0x74]
mov byte [esp + 0x374c], 0x16
call fcn.0245d0f0
cmp eax, edi
jne 0x24462b4
mov ecx, dword [esp + 0x74]
cmp ecx, edi
mov byte [esp + 0x374c], 0x15
je 0x24461e2
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
je 0x24462a9
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x78]
cmp eax, edi
mov ecx, eax
jne 0x2446294
jmp 0x24461e2
lea ecx, [esp + 0x50]
test ecx, ecx
mov dword [eax], 3
mov dword [eax + 4], ebp
je 0x24462e1
mov ebx, dword [esp + 0x50]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [eax + 0xc], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
lea edx, [esp + 0x28]
test edx, edx
je 0x2446309
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov ebx, dword [esp + 0x28]
lea ecx, [eax + 0x14]
mov dword [eax + 0x10], ebx
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edx
xor edi, edi
push ebp
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x244634e
mov ecx, dword [esp + 0x74]
cmp ecx, edi
mov byte [esp + 0x374c], 0x15
je 0x24461e2
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
je 0x2446343
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x78]
cmp eax, edi
mov ecx, eax
jne 0x244632e
jmp 0x24461e2
lea edx, [esp + 0x74]
push edx
mov ecx, esi
call fcn.0243f700
test eax, eax
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x374c], 0x15
jne 0x2446392
cmp ecx, edi
je 0x24461e2
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
je 0x2446387
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x78]
cmp eax, edi
mov ecx, eax
jne 0x2446372
jmp 0x24461e2
cmp ecx, edi
je 0x24463b1
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
je 0x24463ab
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x78]
cmp eax, edi
mov ecx, eax
jne 0x2446396
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
mov eax, 1
jmp 0x244a46d
mov eax, dword [edi]
cmp eax, dword [esi + 0x230]
je 0x24463e3
cmp eax, dword [esi + 0x2f0]
jne case.0x244a1a5.259
mov eax, dword [edi + 0x14]
cmp eax, 1
lea ebx, [edi + 0x14]
jl case.0x244a1a5.259
cmp eax, 4
jg case.0x244a1a5.259
mov esi, dword [edi + 0x2c]
cmp esi, ebp
je case.0x244a1a5.259
mov eax, dword [edi + 0x20]
test eax, eax
lea ebp, [edi + 0x20]
je case.0x244a1a5.259
mov edx, dword [edi + 0x24]
test edx, edx
lea ecx, [edi + 0x24]
mov dword [esp + 0x28], ecx
je case.0x244a1a5.259
push 0x24e26a0
push eax
call fcn.024adcbe
xor eax, eax
add esp, 8
mov dword [edi + 0xc], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov edx, 0x24e26a0
lea ecx, [esp + 0x20]
mov dword [esp + 0x374c], 0x17
call fcn.0247f900
test eax, eax
jne 0x244646b
lea ecx, [esp + 0x20]
jmp 0x244a466
mov eax, dword [ebx]
dec eax
cmp eax, 3
ja case.default.0x2446477
jmp dword [eax*4 + 0x244a6dc]
mov ecx, esi
call fcn.0247f850
test eax, eax
jne 0x2446492
lea ecx, [esp + 0x20]
jmp 0x244a466
mov eax, dword [esi + 4]
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.024418a0
test eax, eax
jne case.default.0x2446477
lea ecx, [esp + 0x20]
jmp 0x244a466
cmp byte [esi + 0x18], 1
jne case.default.0x2446477
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.02440c20
test eax, eax
jne case.default.0x2446477
lea ecx, [esp + 0x20]
jmp 0x244a466
mov al, byte [esi + 0x18]
test al, al
je 0x24464f0
cmp al, 1
jne case.default.0x2446477
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x2c]
mov edx, eax
or edx, esi
je case.default.0x2446477
push esi
push eax
lea ecx, [esp + 0x28]
call fcn.02441360
test eax, eax
jne case.default.0x2446477
lea ecx, [esp + 0x20]
jmp 0x244a466
mov al, byte [esi + 0x18]
test al, al
je 0x244652b
cmp al, 1
jne case.default.0x2446477
mov al, byte [esi + 0x30]
add esi, 0x30
test al, 1
je 0x2446550
mov edx, 0x24da558
lea ecx, [esp + 0x20]
call fcn.0247f890
test eax, eax
jne 0x2446550
lea ecx, [esp + 0x20]
jmp 0x244a466
test byte [esi], 2
je 0x2446570
mov edx, 0x24da580
lea ecx, [esp + 0x20]
call fcn.0247f890
test eax, eax
jne 0x2446570
lea ecx, [esp + 0x20]
jmp 0x244a466
test byte [esi], 4
je 0x2446590
mov edx, 0x24da554
lea ecx, [esp + 0x20]
call fcn.0247f890
test eax, eax
jne 0x2446590
lea ecx, [esp + 0x20]
jmp 0x244a466
test byte [esi], 0x20
je case.default.0x2446477
mov edx, 0x24da59c
lea ecx, [esp + 0x20]
call fcn.0247f890
test eax, eax
jne case.default.0x2446477
lea ecx, [esp + 0x20]
jmp 0x244a466
lea ecx, [esp + 0x20]
call fcn.0247f850
test eax, eax
jne 0x24465c6
lea ecx, [esp + 0x20]
jmp 0x244a466
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ecx, dword [esi]
mov edx, dword [ebp]
push eax
push 0x24dae84
push ecx
push edx
call fcn.024ae131
mov ecx, dword [ebp]
mov eax, dword [esi]
mov word [ecx + eax*2 - 2], 0
add esp, 0x10
lea ecx, [esp + 0x20]
jmp 0x244a466
mov eax, dword [edi + 4]
mov edx, dword [0x24e27c8]
mov dword [edi + 0xc], eax
mov dword [edi + 0x60], edx
mov eax, 1
jmp 0x244a46d
cmp dword [esi + 0x878], ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
mov eax, dword [edi]
cmp eax, dword [esi + 0x230]
je 0x2446668
cmp eax, dword [esi + 0x2f0]
jne case.0x244a1a5.259
lea ecx, [esi + 0x248]
mov dword [esp + 0x48], ecx
lea eax, [esi + 0x188]
lea ecx, [esi + 0x3cc]
mov dword [esp + 0x4c], eax
call fcn.024787d0
mov ebx, eax
lea ebp, [esi + 0x6d4]
jmp 0x244668f
lea ecx, [esi + 0x248]
lea edx, [esi + 0x188]
mov dword [esp + 0x4c], ecx
lea ecx, [esi + 0x308]
mov dword [esp + 0x48], edx
call fcn.024787d0
mov ebx, eax
lea ebp, [esi + 0x608]
xor eax, eax
mov ax, word [edi + 0xc]
add eax, 0xfffffff8
cmp eax, 0x71
ja case.0x244a1a5.259
xor edx, edx
mov dl, byte [eax + 0x244a72c]
jmp dword [edx*4 + 0x244a6ec]
push 0x11
call dword [sym.imp.user32.dll_GetKeyState]
movsx eax, ax
test eax, 0x80000000
je case.0x244a1a5.259
push 0
push 0x9cef
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x12
call dword [sym.imp.user32.dll_GetKeyState]
movsx ecx, ax
test ecx, 0x80000000
je case.0x244a1a5.259
add esi, 0x608
jmp 0x2446716
push 0x12
call dword [sym.imp.user32.dll_GetKeyState]
movsx edx, ax
test edx, 0x80000000
je 0x2446732
add esi, 0x6d4
mov ecx, esi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
push 1
mov ecx, esi
call fcn.0247ae60
jmp case.0x244a1a5.259
push 0
push 0x818
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x11
call dword [sym.imp.user32.dll_GetKeyState]
movsx eax, ax
test eax, 0x80000000
je case.0x244a1a5.259
push 0
push 0x9c9a
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x11
call dword [sym.imp.user32.dll_GetKeyState]
movsx ecx, ax
test ecx, 0x80000000
je case.0x244a1a5.259
push 0
push 0x9c9b
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
mov esi, dword [sym.imp.user32.dll_GetKeyState]
push 0x10
call esi
movsx edx, ax
test edx, 0x80000000
je 0x24467d4
push 0
push 0x9ced
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x11
call esi
movsx eax, ax
test eax, 0x80000000
push 0
je 0x24467fa
push 0x9c9d
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x816
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x11
call dword [sym.imp.user32.dll_GetKeyState]
movsx ecx, ax
test ecx, 0x80000000
je case.0x244a1a5.259
push 0
push 0x9c9c
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x10
call dword [sym.imp.user32.dll_GetKeyState]
movsx edx, ax
test edx, 0x80000000
je 0x2446865
mov ecx, ebp
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
jmp case.0x244a1a5.259
push 0
push 0x815
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0
push 0x817
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x12
call dword [sym.imp.user32.dll_GetKeyState]
movsx eax, ax
test eax, 0x80000000
push 0
je 0x24468bf
push 0x9c9e
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0x81a
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
push 0
push 0x814
push 0x111
push ebx
call dword [sym.imp.user32.dll_SendMessageA]
jmp case.0x244a1a5.259
mov ecx, dword [esp + 0x4c]
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
jmp case.0x244a1a5.259
push 0x11
call dword [sym.imp.user32.dll_GetKeyState]
movsx ecx, ax
test ecx, 0x80000000
je case.0x244a1a5.259
mov ecx, dword [esp + 0x48]
call fcn.02485ab0
jmp case.0x244a1a5.259
push 0x10
call dword [sym.imp.user32.dll_GetKeyState]
movsx edx, ax
test edx, 0x80000000
je case.0x244a1a5.259
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x10]
push eax
mov ecx, ebp
mov dword [esp + 0x3750], 0x13
call fcn.024855d0
test eax, eax
je 0x24469e4
mov eax, dword [esp + 0x10]
cmp eax, edi
mov dword [esp + 0x14], eax
je 0x24469e4
add eax, 4
cmp eax, edi
je 0x24469e4
mov edx, dword [eax + 4]
lea ecx, [esp + 0x74]
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0x7c], 1
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
call fcn.02485a50
test eax, eax
je 0x24469e4
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
add eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x78]
sar eax, 1
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x80]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x3c], eax
mov edx, dword [ebp + 0xa8]
lea ecx, [esp + 0x38]
push ecx
push edx
call dword [sym.imp.user32.dll_ClientToScreen]
test eax, eax
jne 0x2446a2d
mov eax, dword [esp + 0x10]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], ecx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
jne 0x2446a11
jmp case.0x244a1a5.259
lea edx, [esp + 0x38]
push edx
push ebx
push ebp
mov ecx, esi
call fcn.02444170
test eax, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
jne 0x2446a72
cmp eax, edi
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], ecx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
jne 0x2446a56
jmp case.0x244a1a5.259
cmp eax, edi
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
jne 0x2446a7a
jmp case.0x244a1a5.259
add eax, 0x6d
cmp eax, 0x6a
ja case.0x244a1a5.259
xor ecx, ecx
mov cl, byte [eax + 0x244a7bc]
jmp dword [ecx*4 + 0x244a7a0]
cmp dword [esi + 0x878], ebp
jne case.0x244a1a5.259
mov edi, dword [edi]
cmp edi, dword [esi + 0x230]
jne 0x2446acb
xor ebx, ebx
jmp 0x2446adc
cmp edi, dword [esi + 0x2f0]
jne case.0x244a1a5.259
mov ebx, 1
mov eax, dword [esi + 0x840]
cmp eax, ebp
je 0x2446b01
mov edx, dword [eax]
push eax
mov dword [esi + 0x844], edx
call fcn.024adc89
mov eax, dword [esi + 0x844]
add esp, 4
cmp eax, ebp
jne 0x2446ae6
cmp ebx, ebp
mov dword [esi + 0x840], ebp
mov dword [esi + 0x848], ebp
mov dword [esi + 0x844], ebp
mov dword [esi + 0x84c], ebp
lea ecx, [esi + 0x248]
jne 0x2446b29
lea ecx, [esi + 0x188]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x3750], 0x12
call fcn.024855d0
test eax, eax
jne 0x2446b85
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], ecx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebp
jne 0x2446b69
jmp case.0x244a1a5.259
cmp dword [esp + 0x1c], ebp
jne 0x2446bbe
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebp
jne 0x2446ba2
jmp case.0x244a1a5.259
mov ebp, dword [esp + 0x10]
xor edi, edi
cmp ebp, edi
mov ecx, ebp
mov dword [esp + 0x14], ecx
je 0x2446c27
lea eax, [ebp + 4]
cmp eax, edi
je 0x2446c27
mov eax, dword [eax + 4]
cmp eax, edi
je 0x2446be7
mov al, byte [eax + 0x18]
cmp al, 1
je 0x2446be7
test al, al
jne 0x2446bfa
mov ecx, dword [ecx]
cmp ecx, edi
mov dword [esp + 0x14], ecx
je 0x2446c27
lea eax, [ecx + 4]
cmp eax, edi
jne 0x2446bd5
jmp 0x2446c27
mov eax, ebp
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], ecx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
jne 0x2446bfc
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edi
lea edx, [esp + 0x10]
test edx, edx
mov dword [esi + 0x860], ebx
je 0x2446c7d
mov edx, dword [esi + 0x844]
mov edi, dword [esi + 0x848]
mov eax, dword [esi + 0x840]
mov ebx, dword [esi + 0x84c]
mov dword [esi + 0x844], ecx
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x848], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x840], ebp
mov dword [esi + 0x84c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x3754]
or ebx, 0xffffffff
push edi
mov dword [esi + 0x864], 1
mov dword [esi + 0x868], ebx
call dword [sym.imp.user32.dll_SetCapture]
push edi
lea ecx, [esi + 0x850]
call fcn.024303c0
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x374c], ebx
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x2446cbd
jmp case.0x244a1a5.259
mov eax, dword [edi]
cmp eax, dword [esi + 0x230]
jne 0x2446cf4
lea ecx, [esi + 0x188]
call fcn.024787d0
mov dword [esi + 0x7ac], eax
mov ecx, dword [edi]
cmp ecx, dword [esi + 0x2f0]
jne case.0x244a1a5.259
lea ecx, [esi + 0x248]
call fcn.024787d0
mov dword [esi + 0x7ac], eax
jmp case.0x244a1a5.259
cmp dword [esi + 0x878], ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
mov edx, dword [edi]
cmp edx, dword [esi + 0x230]
mov ebx, dword [sym.imp.user32.dll_SendMessageA]
jne 0x2446d59
push ebp
push 0x81a
push 0x111
lea ecx, [esi + 0x308]
call fcn.024787d0
push eax
call ebx
mov eax, dword [edi]
cmp eax, dword [esi + 0x2f0]
jne case.0x244a1a5.259
push ebp
push 0x81a
push 0x111
lea ecx, [esi + 0x3cc]
call fcn.024787d0
push eax
call ebx
jmp case.0x244a1a5.259
cmp dword [esi + 0x878], ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
mov edi, dword [edi]
cmp edi, dword [esi + 0x230]
jne 0x2446db5
lea edi, [esi + 0x188]
lea ecx, [esi + 0x308]
jmp 0x2446dcd
cmp edi, dword [esi + 0x2f0]
jne case.0x24460aa.830
lea edi, [esi + 0x248]
lea ecx, [esi + 0x3cc]
call fcn.024787d0
lea ecx, [esp + 0x38]
push ecx
mov ebx, eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
call dword [sym.imp.user32.dll_GetCursorPos]
test eax, eax
je case.0x244a1a5.259
lea edx, [esp + 0x38]
push edx
push ebx
push edi
mov ecx, esi
call fcn.02444170
neg eax
sbb eax, eax
neg eax
jmp 0x244a46d
mov eax, dword [edi]
cmp eax, dword [esi + 0x230]
jne 0x2446e1a
lea ecx, [esi + 0x308]
jmp 0x2446e2c
cmp eax, dword [esi + 0x2f0]
jne case.0x24460aa.830
lea ecx, [esi + 0x3cc]
call fcn.024787d0
mov edi, dword [edi + 0x10]
cmp edi, 3
ja case.default.0x2446e3d
jmp dword [edi*4 + 0x244a828]
push ebp
mov ecx, 0x9c9a
push ecx
push 0x111
push eax
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, 1
jmp 0x244a46d
push ebp
mov ecx, 0x9c9b
push ecx
push 0x111
push eax
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, 1
jmp 0x244a46d
push ebp
mov ecx, 0x9c9c
push ecx
push 0x111
push eax
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, 1
jmp 0x244a46d
push ebp
mov ecx, 0x9c9d
push ecx
push 0x111
push eax
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, 1
jmp 0x244a46d
cmp dword [esi + 0x7b0], ebp
jne case.0x244a1a5.259
mov eax, dword [esp + 0x3754]
push ebp
push ebp
push 0x5dc
push eax
mov dword [esi + 0x7b0], 1
call dword [sym.imp.user32.dll_PostMessageA]
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x870]
mov ebx, dword [esp + 0x375c]
mov ebp, dword [sym.imp.user32.dll_ReleaseCapture]
xor edi, edi
cmp eax, edi
je 0x2446f19
cmp ebx, 0x1b
jne 0x2446f19
lea ecx, [esi + 0x850]
mov dword [esi + 0x870], edi
call fcn.024304d0
call ebp
cmp dword [esi + 0x864], edi
je case.0x244a1a5.259
cmp ebx, 0x1b
jne case.0x244a1a5.259
cmp dword [esi + 0x860], edi
lea ecx, [esi + 0x188]
jne 0x2446f42
lea ecx, [esi + 0x248]
mov eax, dword [esi + 0x868]
or ebx, 0xffffffff
cmp eax, ebx
je 0x2446f5c
push edi
push eax
call fcn.024860c0
mov dword [esi + 0x868], ebx
mov eax, dword [esi + 0x840]
cmp eax, edi
je 0x2446f81
mov ecx, dword [eax]
push eax
mov dword [esi + 0x844], ecx
call fcn.024adc89
mov eax, dword [esi + 0x844]
add esp, 4
cmp eax, edi
jne 0x2446f66
mov dword [esi + 0x840], edi
mov dword [esi + 0x848], edi
mov dword [esi + 0x844], edi
mov dword [esi + 0x84c], edi
mov dword [esi + 0x868], ebx
mov dword [esi + 0x864], edi
call ebp
lea ecx, [esi + 0x850]
call fcn.024304d0
push 0x7f00
push edi
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
jmp case.0x244a1a5.259
cmp edi, 0x5d0
ja 0x244a07b
je 0x2449a86
cmp edi, 0x201
ja 0x24494b2
je 0x24493ab
mov eax, edi
sub eax, 0x111
je 0x2447335
sub eax, 2
je 0x24472e1
sub eax, 0xed
jne case.0x2445ca2.37
mov eax, dword [esi + 0x870]
test eax, eax
je 0x24470e0
test byte [esp + 0x375c], 1
jne 0x2447044
mov eax, dword [esp + 0x3754]
mov edx, dword [esi]
push 0
push 0x1b
push 0x100
push eax
mov ecx, esi
call dword [edx + 4]
jmp case.0x244a1a5.259
movsx ebp, word [esp + 0x3760]
xor ecx, ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x14], ecx
push edx
mov dword [esp + 0x1c], ecx
push ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], ecx
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je case.0x244a1a5.259
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x10]
test ecx, ecx
jle case.0x244a1a5.259
lea edx, [ecx + ecx*4]
shl edx, 1
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jle 0x24470e0
lea edx, [ecx + ecx*4]
lea edx, [edx + edx*8]
shl edx, 1
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jge 0x24470e0
mov eax, ebp
shl eax, 0x10
cdq
idiv ecx
mov edx, dword [esi]
push 0
push 0
push 5
push ebx
mov ecx, esi
mov dword [esi + 0x86c], eax
call dword [edx + 4]
push ebx
call dword [sym.imp.user32.dll_UpdateWindow]
mov eax, dword [esi + 0x864]
test eax, eax
je case.0x2445ca2.37
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
test byte [esp + 0x375c], 1
jne 0x244711c
mov eax, dword [esi]
push 0
push 0x1b
push 0x100
push ebx
mov ecx, esi
call dword [eax + 4]
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x84c]
test eax, eax
push 0x7f88
jne 0x244713f
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
jmp case.0x244a1a5.259
mov edi, dword [sym.imp.user32.dll_LoadCursorA]
xor ebp, ebp
push ebp
call edi
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esi + 0x860]
xor edx, edx
cmp ecx, ebp
sete dl
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x50], ebp
push edx
call fcn.02443490
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esp + 0x3760]
mov ecx, eax
shr eax, 0x10
mov dword [esp + 0x54], ebp
lea edx, [esp + 0x50]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3754]
push edx
and ecx, 0xffff
push eax
mov dword [esp + 0x58], ecx
call dword [sym.imp.user32.dll_ClientToScreen]
test eax, eax
je case.0x244a1a5.259
cmp dword [esi + 0x860], ebp
lea ebp, [esi + 0x188]
jne 0x24471bf
lea ebp, [esi + 0x248]
lea ecx, [esp + 0x38]
push ecx
xor eax, eax
lea edx, [esp + 0x54]
push edx
mov ecx, ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.024858e0
test eax, eax
jne 0x2447243
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, ebp
mov dword [esp + 0x40], 0xffffffff
call fcn.024859c0
test eax, eax
je 0x2447243
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x2447243
test byte [esp + 0x70], 1
je 0x2447243
cmp dword [esi + 0x84c], 1
jne 0x2447232
mov edx, dword [0x24e27c4]
push 0xba
push edx
call edi
mov ebx, eax
cmp dword [esi + 0x84c], 1
jbe 0x2447243
mov eax, dword [0x24e27c4]
push 0xbb
push eax
call edi
mov ebx, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x244728b
cmp byte [eax + 0x18], 1
jne 0x2447259
mov dword [esp + 0x38], 0xffffffff
cmp dword [esi + 0x84c], 1
jne 0x2447279
mov ecx, dword [0x24e27c4]
push 0xba
push ecx
call edi
mov ebx, eax
cmp dword [esi + 0x84c], 1
jbe 0x244728b
mov edx, dword [0x24e27c4]
push 0xbb
push edx
call edi
mov ebx, eax
mov eax, dword [esi + 0x868]
cmp eax, 0xffffffff
je 0x24472b0
cmp eax, dword [esp + 0x38]
je 0x24472b0
push 0
push eax
mov ecx, ebp
call fcn.024860c0
mov dword [esi + 0x868], 0xffffffff
mov eax, dword [esp + 0x38]
cmp eax, 0xffffffff
je 0x24472d5
cmp dword [esi + 0x868], eax
je 0x24472d5
push 1
push eax
mov ecx, ebp
call fcn.024860c0
mov eax, dword [esp + 0x38]
mov dword [esi + 0x868], eax
push ebx
call dword [sym.imp.user32.dll_SetCursor]
jmp 0x24456ea
lea edi, [esi + 0x87c]
mov ecx, edi
call fcn.024369d0
cmp dword [esp + 0x375c], eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
je 0x2447329
add esi, 0xa8
push 1
mov ecx, esi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_ShowWindow]
mov ecx, esi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
mov ecx, edi
call fcn.0243c080
jmp case.0x244a1a5.259
mov edi, dword [esp + 0x375c]
mov eax, edi
shr eax, 0x10
sub eax, 7
je 0x24492e0
sub eax, 2
je 0x2449113
dec eax
je 0x244908f
and edi, 0xffff
cmp edi, 0x9c54
jg 0x24480e2
je 0x2447f0f
add edi, 0xfffff7ec
cmp edi, 6
ja case.0x244a1a5.259
jmp dword [edi*4 + 0x244a838]
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x24473c4
lea edi, [esi + 0x188]
xor ebp, ebp
jmp 0x24473e2
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
lea edi, [esi + 0x248]
mov ebp, 1
lea ecx, [esp + 0x10]
call fcn.024433f0
lea ecx, [esp + 0x10]
push ecx
mov ebx, 0x2c
mov ecx, edi
mov dword [esp + 0x3750], ebx
call fcn.024855d0
test eax, eax
jne 0x2447420
lea ecx, [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0248c4a0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
call fcn.0245cbf0
cmp eax, 1
jne 0x2447407
lea ecx, [esp + 0x10]
call fcn.0242e7b0
mov edi, dword [eax + 4]
test edi, edi
je 0x2447407
cmp byte [edi + 0x18], 1
jne 0x24475b8
test ebp, ebp
je 0x2447464
push 0x2040
push 0xa02c
push 0xa11a
push 0
call fcn.0241c630
jmp 0x2447407
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x2447407
call dword [sym.imp.kernel32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x24474f2
push 1
push 0x24e26a0
push 0x24e26a0
mov ecx, edi
call fcn.0240a2c0
mov ebx, dword [esp + 0x3760]
push eax
push 0x24db064
push ebx
call dword [sym.imp.shell32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x2447407
cmp eax, 0x1f
jne 0x2447407
push 0x24da3b8
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
je 0x2447407
push 0x24db524
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x2447407
push 0
mov ecx, edi
call fcn.0240a2c0
push eax
push 0
push ebx
call esi
jmp 0x2447407
lea ecx, [esp + 0x38]
call fcn.024290f0
mov ecx, edi
mov byte [esp + 0x374c], 0x2d
lea esi, [esp + 0x38]
call fcn.0240a2c0
mov ecx, eax
mov edx, esi
call fcn.0247fbd0
test eax, eax
jne 0x2447529
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2447407
push 1
push 0x24e25d0
push 0x24e25d0
lea ecx, [esp + 0x44]
call fcn.0240a2c0
mov edi, dword [esp + 0x3760]
push eax
push 0x24dadfc
push edi
call dword [sym.imp.shell32.dll_ShellExecuteA]
cmp eax, 0x20
ja 0x24475aa
cmp eax, 0x1f
jne 0x24475aa
push 0x24da3b8
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
test eax, eax
jne 0x2447579
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2447407
push 0x24db514
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x2447599
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2447407
push 0
lea ecx, [esp + 0x3c]
call fcn.0240a2c0
push eax
push 0
push edi
call esi
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp 0x2447407
test ebp, ebp
lea ecx, [esi + 0x7d0]
jne 0x24475c8
lea ecx, [esi + 0x7d8]
mov edx, edi
call fcn.0247f970
test eax, eax
je 0x2447407
lea ecx, [esp + 0x38]
call fcn.024433f0
push ebp
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov byte [esp + 0x3754], 0x2e
call fcn.02440010
test eax, eax
je 0x2447607
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.0243f700
test eax, eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], bl
call fcn.0245caa0
jmp 0x2447407
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x2447658
xor ebx, ebx
lea ebp, [esi + 0x7d8]
jmp 0x2447676
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
mov ebx, 1
lea ebp, [esi + 0x7d0]
mov ecx, ebp
call fcn.0247f830
test eax, eax
je case.0x244a1a5.259
lea ecx, [esp + 0x38]
call fcn.024290f0
mov edx, ebp
lea ecx, [esp + 0x38]
mov dword [esp + 0x374c], 0x30
call fcn.0247f970
test eax, eax
lea ecx, [esp + 0x38]
je 0x2448fca
call fcn.0240a2c0
mov edi, eax
push edi
call fcn.024adc6c
add esp, 4
cmp eax, 1
jle 0x24476d0
cmp word [edi + eax*2 - 2], 0x5c
jne 0x24476d0
sub eax, 2
test eax, eax
jle 0x24476f4
lea ecx, [edi + eax*2]
cmp word [ecx], 0x5c
je 0x24476e7
dec eax
sub ecx, 2
test eax, eax
jg 0x24476d7
jmp 0x24476f4
test eax, eax
jle 0x24476f4
cmp word [edi + eax*2 - 2], 0x3a
jne 0x24476f4
inc eax
cmp eax, 2
mov word [edi + eax*2], 0
jge 0x2447704
mov word [edi], 0
mov edx, edi
mov ecx, ebp
call fcn.0247f900
test eax, eax
jne 0x244771f
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
call fcn.024433f0
push ebx
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov byte [esp + 0x3754], 0x31
call fcn.02440010
test eax, eax
jne 0x2447760
mov byte [esp + 0x374c], 0x30
lea ecx, [esp + 0x10]
call fcn.0245caa0
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp case.0x244a1a5.259
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.0243f700
test eax, eax
mov byte [esp + 0x374c], 0x30
lea ecx, [esp + 0x10]
jne 0x244774d
call fcn.0245caa0
lea ecx, [esp + 0x38]
call fcn.024017d0
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x24477c9
add esi, 0x188
jmp 0x24477e2
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
add esi, 0x248
lea ecx, [esp + 0x10]
call fcn.024433f0
lea eax, [esp + 0x10]
push eax
mov ecx, esi
mov dword [esp + 0x3750], 0x32
call fcn.024855d0
test eax, eax
jne 0x244781f
lea ecx, [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0248c4a0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
call fcn.0245cbf0
cmp eax, 1
jne 0x2447806
lea ecx, [esp + 0x10]
call fcn.0242e7b0
mov eax, dword [eax + 4]
test eax, eax
je 0x2447806
mov cl, byte [eax + 0x18]
cmp cl, 1
je 0x2447849
test cl, cl
jne 0x2447806
push eax
mov ecx, esi
call fcn.02485df0
jmp 0x2447806
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x244788f
xor edi, edi
lea ebp, [esi + 0x7d0]
jmp 0x24478ad
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
mov edi, 1
lea ebp, [esi + 0x7d8]
mov ecx, ebp
call fcn.0247f850
test eax, eax
je case.0x244a1a5.259
test edi, edi
lea ebx, [esi + 0x248]
jne 0x24478cc
lea ebx, [esi + 0x188]
lea ecx, [esp + 0x10]
call fcn.024433f0
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
mov dword [esp + 0x3750], 0x33
call fcn.024855d0
test eax, eax
jne 0x2447909
lea ecx, [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0248c4a0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
call fcn.0245cbf0
test eax, eax
je 0x24478f0
lea ecx, [esp + 0x38]
call fcn.024433f0
mov ecx, ebp
mov byte [esp + 0x374c], 0x34
call fcn.0240a2c0
push eax
lea edx, [esp + 0x14]
push edx
push edi
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0243fb00
test eax, eax
jne 0x2447958
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0x33
call fcn.0245caa0
jmp 0x24478f0
xor ecx, ecx
test edi, edi
sete cl
lea edx, [esp + 0x38]
push ecx
push edx
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x2447986
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0x33
call fcn.0245caa0
jmp 0x24478f0
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.0243f700
lea ecx, [esp + 0x38]
test eax, eax
mov byte [esp + 0x374c], 0x33
call fcn.0245caa0
jmp 0x24478f0
mov eax, dword [esi + 0x878]
xor ebp, ebp
cmp eax, ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x24479e6
lea edi, [esi + 0x188]
xor ebx, ebx
jmp 0x2447a04
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
lea edi, [esi + 0x248]
mov ebx, 1
lea ecx, [esp + 0x10]
call fcn.024433f0
lea ecx, [esp + 0x10]
push ecx
mov ecx, edi
mov dword [esp + 0x3750], 0x35
call fcn.024855d0
test eax, eax
je 0x2447cc9
lea ecx, [esp + 0x10]
call fcn.0245cbf0
test eax, eax
je 0x2447cc9
lea ecx, [esp + 0x28]
mov word [esp + 0x1b14], bp
call fcn.024290f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0x36
call fcn.024290f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x37
call fcn.0245cbf0
cmp eax, 1
jne 0x2447b4c
lea ecx, [esp + 0x10]
call fcn.0242e7b0
mov edi, dword [eax + 4]
cmp edi, ebp
jne 0x2447aa0
lea ecx, [esp + 0x38]
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
jmp 0x2447cc9
mov al, byte [edi + 0x18]
cmp al, 1
jne 0x2447af7
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x2447a89
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x28]
push edx
mov edx, 0xa076
call fcn.02481110
test eax, eax
je 0x2447a89
mov ecx, edi
mov word [esp + 0x1b14], bp
call fcn.0240a2c0
push eax
lea ecx, [esp + 0x2c]
call fcn.0240a2c0
push eax
push 0x400
lea eax, [esp + 0x1b20]
push eax
jmp 0x2447b92
test al, al
jne 0x2447a89
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x2447a89
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa077
call fcn.02481110
test eax, eax
je 0x2447a89
mov ecx, edi
mov word [esp + 0x1b14], bp
call fcn.0240a2c0
push eax
lea ecx, [esp + 0x2c]
call fcn.0240a2c0
push eax
push 0x400
lea edx, [esp + 0x1b20]
push edx
jmp 0x2447b92
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x28]
push eax
mov edx, 0xa078
call fcn.02481110
test eax, eax
je 0x2447a89
lea ecx, [esp + 0x10]
mov word [esp + 0x1b14], bp
call fcn.0245cbf0
push eax
lea ecx, [esp + 0x2c]
call fcn.0240a2c0
push eax
push 0x400
lea ecx, [esp + 0x1b20]
push ecx
call fcn.024ae131
mov ecx, dword [0x24e27c8]
add esp, 0x10
lea edx, [esp + 0x38]
push edx
xor edx, edx
cmp ebx, ebp
setne dl
mov word [esp + 0x2316], bp
add edx, 0xa074
call fcn.02481110
test eax, eax
je 0x2447a89
push 0x2024
lea ecx, [esp + 0x3c]
call fcn.0240a2c0
mov ecx, dword [esp + 0x3758]
push eax
lea eax, [esp + 0x1b1c]
push eax
push ecx
call dword [sym.imp.user32.dll_MessageBoxW]
cmp eax, 6
lea ecx, [esp + 0x38]
jne 0x2447a8d
call fcn.024017d0
lea ecx, [esp + 0x28]
mov byte [esp + 0x374c], 0x35
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024433f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x38
call fcn.0242e7b0
cmp eax, ebp
je 0x2447c99
mov eax, dword [eax + 4]
test eax, eax
je 0x2447c8c
mov ebp, eax
mov al, byte [ebp + 0x18]
cmp al, 1
je 0x2447c41
test al, al
jne 0x2447c8c
mov ecx, ebp
call fcn.0247f850
test eax, eax
je 0x2447c8c
lea ecx, [esp + 0x50]
call fcn.0245cb00
mov edi, eax
test edi, edi
je 0x2447cb8
cmp byte [ebp + 0x18], 1
jne 0x2447c67
mov dword [edi], 4
mov al, byte [ebp + 0x18]
test al, al
jne 0x2447c74
mov dword [edi], 6
mov ecx, ebp
mov dword [edi + 4], ebx
call fcn.0240a2c0
mov edx, eax
lea ecx, [edi + 8]
call fcn.0247f900
test eax, eax
je 0x2447cb8
lea ecx, [esp + 0x10]
call fcn.0242ee70
test eax, eax
jne 0x2447c2d
push ebx
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.02440010
test eax, eax
je 0x2447cb8
lea eax, [esp + 0x50]
push eax
mov ecx, esi
call fcn.0243f700
test eax, eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x374c], 0x35
call fcn.0245caa0
lea ecx, [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0248c4a0
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x2447d1e
xor ebp, ebp
lea edi, [esi + 0x7d8]
jmp 0x2447d44
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
mov ebp, 1
lea edi, [esi + 0x7d0]
lea ebx, [esi + 0x248]
jmp 0x2447d4a
lea ebx, [esi + 0x188]
mov ecx, edi
call fcn.0247f830
test eax, eax
je case.0x244a1a5.259
lea ecx, [esp + 0xa8]
call fcn.024290f0
lea ecx, [esp + 0xb0]
push ecx
mov ecx, ebx
mov dword [esp + 0x3750], 0x39
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_GetWindowRect]
test eax, eax
je 0x2447ef3
mov eax, dword [esp + 0x3754]
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0xa8]
push edx
push 0x241c2a0
push eax
mov edx, 0xaa
call fcn.02481700
test eax, eax
je 0x2447ef3
lea ecx, [esp + 0xa8]
call fcn.0247f830
test eax, eax
je 0x2447ef3
lea ecx, [esp + 0x28]
call fcn.024290f0
mov bl, 0x3a
mov ecx, edi
mov byte [esp + 0x374c], bl
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x28]
call fcn.0247f900
test eax, eax
je 0x2447eea
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x50], 0
call fcn.0240a2c0
push eax
mov ecx, esi
call fcn.02443460
test eax, eax
je 0x2447eea
mov eax, dword [esp + 0x4c]
test eax, eax
lea ecx, [esp + 0x28]
jne 0x2447eee
call fcn.0240a2c0
push eax
call fcn.024adc6c
mov edi, eax
add esp, 4
test edi, edi
lea ecx, [esp + 0x28]
je 0x2447eee
call fcn.0240a2c0
cmp word [eax + edi*2 - 2], 0x5c
je 0x2447e6c
mov edx, 0x24da178
lea ecx, [esp + 0x28]
call fcn.0247f890
test eax, eax
je 0x2447eea
lea ecx, [esp + 0xa8]
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x28]
call fcn.0247f890
test eax, eax
je 0x2447eea
lea ecx, [esp + 0x10]
call fcn.024433f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x3b
call fcn.0245cb00
test eax, eax
je 0x2447eda
lea edx, [esp + 0x28]
mov dword [eax], 2
push edx
lea ecx, [eax + 8]
mov dword [eax + 4], ebp
call fcn.0240a2d0
push ebp
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.02440010
test eax, eax
je 0x2447eda
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0243f700
test eax, eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], bl
call fcn.0245caa0
lea ecx, [esp + 0x28]
call fcn.024017d0
lea ecx, [esp + 0xa8]
mov dword [esp + 0x374c], 0xffffffff
call fcn.024017d0
jmp case.0x244a1a5.259
lea edi, [esi + 0x308]
mov ecx, edi
call fcn.024787d0
mov ebx, dword [esp + 0x3760]
cmp ebx, eax
jne 0x2447f39
lea edx, [esi + 0x7b4]
mov esi, dword [esi + 0x3b0]
mov dword [esp + 0x4c], edx
jmp 0x2447f5e
lea edi, [esi + 0x3cc]
mov ecx, edi
call fcn.024787d0
cmp ebx, eax
jne case.0x244a1a5.259
lea eax, [esi + 0x7b8]
mov esi, dword [esi + 0x474]
mov dword [esp + 0x4c], eax
mov ecx, edi
call fcn.024787d0
mov ebx, dword [sym.imp.user32.dll_SendMessageA]
xor edi, edi
push edi
push 0x9c54
push 0x419
push esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call ebx
cmp eax, 0xffffffff
je case.0x244a1a5.259
lea ecx, [esp + 0x10]
push ecx
push eax
push 0x41d
push esi
call ebx
test eax, eax
je case.0x244a1a5.259
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x40], edi
push esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
call dword [sym.imp.user32.dll_ClientToScreen]
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
xor edx, edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xac], eax
sub eax, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xb8], edx
add eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb0], ecx
sub ecx, eax
mov eax, dword [0x24e27c8]
push 0xa7
add ecx, ebp
push eax
mov dword [esp + 0xb0], 0x14
mov dword [esp + 0xc0], ecx
call dword [sym.imp.user32.dll_LoadMenuA]
mov ebp, eax
cmp ebp, edi
je case.0x244a1a5.259
push 5
push ebp
call dword [sym.imp.user32.dll_GetSubMenu]
mov edi, eax
test edi, edi
jne 0x2448072
push ebp
call dword [sym.imp.user32.dll_DestroyMenu]
jmp case.0x244a1a5.259
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
push 0
push edx
push 0x9c58
push 0x9c55
push edi
call dword [sym.imp.user32.dll_CheckMenuRadioItem]
push 1
push 0x9c54
push 0x402
push esi
call ebx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
sub edx, eax
mov eax, dword [esp + 0x40]
add edx, ecx
push edx
push eax
push 0
push edi
call dword [sym.imp.user32.dll_TrackPopupMenuEx]
push 0
push 0x9c54
push 0x402
push esi
call ebx
push ebp
call dword [sym.imp.user32.dll_DestroyMenu]
jmp case.0x244a1a5.259
lea eax, [edi - 0x9c55]
cmp eax, 0x9a
ja case.0x244a1a5.259
xor ecx, ecx
mov cl, byte [eax + 0x244a86c]
jmp dword [ecx*4 + 0x244a854]
lea eax, [edi - 0x9c55]
xor ebx, ebx
cmp eax, 3
ja case.default.0x244810f
jmp dword [eax*4 + 0x244a908]
xor ebx, ebx
jmp case.default.0x244810f
mov ebx, 3
jmp case.default.0x244810f
mov ebx, 2
jmp case.default.0x244810f
mov ebx, 1
lea ecx, [esi + 0x308]
call fcn.024787d0
mov ebp, dword [esp + 0x3760]
cmp ebp, eax
jne 0x244815d
lea ecx, [esi + 0x188]
push ebx
lea ebp, [esi + 0x7b4]
call fcn.02485560
mov dword [ebp], edi
jmp case.0x244a1a5.259
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp ebp, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x248]
push ebx
lea ebp, [esi + 0x7b8]
call fcn.02485560
mov dword [ebp], edi
jmp case.0x244a1a5.259
add edi, 0xffff6366
xor ebx, ebx
cmp edi, 3
ja case.default.0x2448197
jmp dword [edi*4 + 0x244a918]
mov ebx, 1
jmp case.default.0x2448197
mov ebx, 2
jmp case.default.0x2448197
mov ebx, 3
jmp case.default.0x2448197
mov ebx, 4
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x24481dc
lea ecx, [esi + 0x188]
lea eax, [esi + 0x7bc]
jmp 0x24481fb
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x248]
lea eax, [esi + 0x7c0]
mov edx, dword [eax]
mov esi, edx
and esi, 0xfffffeff
cmp ebx, esi
jne 0x2448221
xor edx, 0x100
push edx
push 0x2441d40
mov dword [eax], edx
call fcn.02485530
jmp case.0x244a1a5.259
mov edx, ebx
push edx
push 0x2441d40
mov dword [eax], ebx
call fcn.02485530
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
xor ebp, ebp
cmp eax, ebp
jne case.0x244a1a5.259
cmp dword [esi + 0x864], ebp
jne case.0x244a1a5.259
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x374c], 0x1c
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov word [esp + 0x18bc], bp
mov word [esp + 0x1664], bp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
xor eax, eax
mov dword [esp + 0xf8], ebp
mov ecx, 0xa
lea edi, [esp + 0xfc]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x308]
mov byte [esp + 0x374c], 0x20
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x2448389
xor edi, edi
add esi, 0x188
mov dword [esp + 0x48], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xe0], ebp
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x68]
push eax
mov edx, 0xa07f
mov byte [esp + 0x3750], 0x22
call fcn.02481110
test eax, eax
je 0x24483d7
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0xdc]
call fcn.0247fbd0
test eax, eax
je 0x24483d7
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
mov byte [esp + 0x3750], 0x23
call fcn.024855d0
test eax, eax
jne 0x24483a8
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov byte [esp + 0x374c], 0x22
je 0x24483d7
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebp
jne 0x2448370
jmp 0x24483d7
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne 0x24483ec
mov edi, 1
add esi, 0x248
jmp 0x24482e1
mov eax, dword [esp + 0x1c]
cmp eax, ebp
jne 0x244841f
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov byte [esp + 0x374c], 0x22
je 0x24483d7
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], ecx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebp
jne 0x24483c0
lea ecx, [esp + 0xdc]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x98]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x28]
jmp 0x244a466
cmp eax, 1
jne 0x24488da
mov eax, dword [esp + 0x10]
cmp eax, ebp
mov dword [esp + 0x14], eax
je 0x244843b
lea ecx, [eax + 4]
cmp ecx, ebp
jne 0x24484a5
cmp eax, ebp
mov byte [esp + 0x374c], 0x22
je 0x244845e
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebp
jne 0x2448447
lea ecx, [esp + 0xdc]
call fcn.024017d0
mov eax, dword [esp + 0x6c]
cmp eax, ebp
mov dword [esp + 0x68], ebp
je 0x2448483
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x64]
cmp eax, ebp
mov dword [esp + 0x60], ebp
je 0x2448fa5
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x64], ebp
jmp 0x2448fa5
mov esi, dword [ecx + 4]
cmp esi, ebp
je 0x2448b98
mov al, byte [esi + 0x18]
test al, al
je 0x24485c2
cmp al, 1
je 0x24485c2
mov ecx, esi
call fcn.0247f850
test eax, eax
je 0x2448b98
mov ecx, esi
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.0247f900
test eax, eax
je 0x2448b98
mov ecx, dword [0x24e27c8]
xor edx, edx
cmp edi, ebp
setne dl
lea eax, [esp + 0x28]
push eax
add edx, 0xa117
call fcn.02481110
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x88]
call fcn.0240a2c0
lea ecx, [esp + 0x28]
mov dword [esp + 0xfc], eax
call fcn.0240a2c0
mov edi, 0x24e26a0
mov ecx, esi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edi
call fcn.0240a2c0
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.024418a0
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x20]
call fcn.0240a2c0
push ebp
mov ecx, esi
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], edi
call fcn.0240a2c0
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
lea ecx, [esp + 0x100]
call fcn.024417d0
test eax, eax
je 0x2448b98
mov dword [esp + 0x114], ebp
mov dword [esp + 0x118], ebp
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x120], ebp
jmp 0x2448d5b
mov ecx, esi
call fcn.0247f850
test eax, eax
je 0x2448b98
mov ecx, esi
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x28]
call fcn.0247f900
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x28]
call fcn.0240a2c0
mov ebx, eax
push ebx
call fcn.024adc6c
mov edi, eax
add esp, 4
cmp edi, 1
jle 0x2448611
cmp word [ebx + edi*2 - 2], 0x5c
jne 0x2448611
sub edi, 2
cmp edi, ebp
jle 0x2448626
lea eax, [ebx + edi*2]
cmp word [eax], 0x5c
je 0x2448626
dec edi
sub eax, 2
cmp edi, ebp
jg 0x2448618
cmp word [ebx + edi*2], 0x5c
lea eax, [ebx + edi*2]
jne 0x2448634
lea eax, [ebx + edi*2 + 2]
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.0247f900
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x88]
call fcn.0240a2c0
cmp edi, ebp
mov dword [esp + 0xfc], eax
jle 0x244866a
cmp word [ebx + edi*2 - 2], 0x3a
jne 0x244866a
inc edi
lea ecx, [esp + 0x28]
mov word [ebx + edi*2], bp
call fcn.0240a2c0
mov dword [esp + 0x100], eax
cmp byte [esi + 0x18], 1
jne 0x24487d0
lea ecx, [esp + 0x38]
call fcn.024290f0
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa083
mov byte [esp + 0x3750], 0x24
call fcn.02481110
test eax, eax
jne 0x24486bb
lea ecx, [esp + 0x38]
jmp 0x2448b93
mov word [esp + 0x16c], bp
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push edx
push eax
push 0x24db4b4
lea ecx, [esp + 0x178]
push 0x64
push ecx
call fcn.024ae131
add esp, 0x14
lea ecx, [esp + 0x50]
mov word [esp + 0x232], bp
call fcn.024290f0
push ebp
push ebp
lea edx, [esp + 0x174]
lea ecx, [esp + 0x58]
mov byte [esp + 0x3754], 0x25
call fcn.02440240
test eax, eax
jne 0x2448723
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x38]
jmp 0x2448b93
lea ecx, [esp + 0xf0]
call fcn.024290f0
mov byte [esp + 0x374c], 0x26
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push edx
push eax
lea ecx, [esp + 0xf8]
call fcn.02440920
test eax, eax
jne 0x244875d
lea ecx, [esp + 0xf0]
call fcn.024017d0
jmp 0x2448711
lea ecx, [esp + 0x38]
mov word [esp + 0x1664], bp
call fcn.0240a2c0
push eax
lea ecx, [esp + 0x54]
call fcn.0240a2c0
push eax
lea ecx, [esp + 0xf8]
call fcn.0240a2c0
push eax
push 0x24db4fc
lea ecx, [esp + 0x1674]
push 0x12c
push ecx
call fcn.024ae131
add esp, 0x18
lea ecx, [esp + 0xf0]
mov word [esp + 0x18ba], bp
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x38]
mov byte [esp + 0x374c], 0x23
call fcn.024017d0
jmp 0x24487d8
mov word [esp + 0x1664], bp
lea edx, [esp + 0x1664]
mov ecx, esi
mov dword [esp + 0x104], edx
call fcn.0240a2c0
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.024418a0
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x20]
call fcn.0240a2c0
mov dword [esp + 0x108], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov edx, eax
or edx, ecx
je 0x2448845
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.02441380
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x60]
call fcn.0240a2c0
mov dword [esp + 0x10c], eax
jmp 0x2448850
mov dword [esp + 0x10c], 0x24e26a0
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
push eax
push ecx
lea ecx, [esp + 0xa0]
call fcn.02441380
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x98]
call fcn.0240a2c0
push ebp
mov ecx, esi
mov dword [esp + 0x114], eax
call fcn.0240a2c0
xor edx, edx
mov dl, byte [esi + 0x18]
push eax
lea ecx, [esp + 0x100]
call fcn.024417d0
test eax, eax
je 0x2448b98
mov edx, dword [esi + 0x30]
and edx, 1
mov dword [esp + 0x114], edx
mov eax, dword [esi + 0x30]
and eax, 0x20
mov dword [esp + 0x118], eax
mov ecx, dword [esi + 0x30]
and ecx, 2
mov dword [esp + 0x11c], ecx
mov edx, dword [esi + 0x30]
and edx, 4
mov dword [esp + 0x120], edx
jmp 0x2448d5b
xor edi, edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebp
xor esi, esi
xor ebx, ebx
call fcn.0242e7b0
cmp eax, ebp
je 0x2448923
mov eax, dword [eax + 4]
cmp eax, ebp
je 0x2448912
cmp byte [eax + 0x18], 1
jne 0x2448912
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
add edi, ecx
adc dword [esp + 0x3c], edx
or esi, dword [eax + 0x30]
inc ebx
lea ecx, [esp + 0x10]
call fcn.0242ee70
cmp eax, ebp
jne 0x24488f5
mov dword [esp + 0x38], edi
lea ecx, [esp + 0x10]
call fcn.0242e7b0
mov edi, dword [eax + 4]
cmp edi, ebp
je 0x2448b98
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x2448b98
mov ecx, edi
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x28]
call fcn.0247f900
test eax, eax
je 0x2448b98
lea ecx, [esp + 0x28]
call fcn.0240a2c0
mov edi, eax
push edi
call fcn.024adc6c
add esp, 4
cmp eax, 1
jle 0x2448984
cmp word [edi + eax*2 - 2], 0x5c
jne 0x2448984
sub eax, 2
cmp eax, ebp
jle 0x24489a8
lea ecx, [edi + eax*2]
cmp word [ecx], 0x5c
je 0x244899b
dec eax
sub ecx, 2
cmp eax, ebp
jg 0x244898b
jmp 0x24489a8
cmp eax, ebp
jle 0x24489a8
cmp word [edi + eax*2 - 2], 0x3a
jne 0x24489a8
inc eax
lea ecx, [esp + 0x28]
mov word [edi + eax*2], bp
call fcn.0240a2c0
lea ecx, [esp + 0x50]
mov dword [esp + 0x100], eax
call fcn.024290f0
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x50]
push eax
mov edx, 0xa087
mov byte [esp + 0x3750], 0x27
call fcn.02481110
test eax, eax
jne 0x24489ef
lea ecx, [esp + 0x50]
jmp 0x2448b93
push ebx
push 0x24da860
lea ecx, [esp + 0x174]
push 0x64
push ecx
mov word [esp + 0x17c], bp
call fcn.024ae131
add esp, 0x10
lea ecx, [esp + 0xf0]
mov word [esp + 0x232], bp
call fcn.024290f0
push ebp
push ebp
lea edx, [esp + 0x174]
lea ecx, [esp + 0xf8]
mov byte [esp + 0x3754], 0x28
call fcn.02440240
test eax, eax
jne 0x2448a59
lea ecx, [esp + 0xf0]
call fcn.024017d0
lea ecx, [esp + 0x50]
jmp 0x2448b93
lea ecx, [esp + 0x50]
mov word [esp + 0x18bc], bp
call fcn.0240a2c0
push eax
lea ecx, [esp + 0xf4]
call fcn.0240a2c0
push eax
push 0x24db4f0
lea edx, [esp + 0x18c8]
push 0x12c
push edx
call fcn.024ae131
lea eax, [esp + 0x18d0]
add esp, 0x14
lea ecx, [esp + 0xf0]
mov word [esp + 0x1b12], bp
mov dword [esp + 0xfc], eax
call fcn.024017d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x374c], 0x23
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024290f0
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa083
mov byte [esp + 0x3750], 0x29
call fcn.02481110
test eax, eax
je 0x2448b8f
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
push ebx
push edi
push 0x24db4b4
lea edx, [esp + 0x178]
push 0x64
push edx
mov word [esp + 0x180], bp
call fcn.024ae131
add esp, 0x14
lea ecx, [esp + 0xf0]
mov word [esp + 0x232], bp
call fcn.024290f0
push ebp
push ebp
lea edx, [esp + 0x174]
lea ecx, [esp + 0xf8]
mov byte [esp + 0x3754], 0x2a
call fcn.02440240
test eax, eax
je 0x2448b83
lea ecx, [esp + 0x128]
call fcn.024290f0
push ebx
push edi
lea ecx, [esp + 0x130]
mov byte [esp + 0x3754], 0x2b
call fcn.02440920
test eax, eax
jne 0x2448bf6
lea ecx, [esp + 0x128]
call fcn.024017d0
lea ecx, [esp + 0xf0]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x22
call fcn.0248c4a0
lea ecx, [esp + 0xdc]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x98]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x50]
mov word [esp + 0x1664], bp
call fcn.0240a2c0
push eax
lea ecx, [esp + 0xf4]
call fcn.0240a2c0
push eax
lea ecx, [esp + 0x130]
call fcn.0240a2c0
push eax
push 0x24db4fc
lea eax, [esp + 0x1674]
push 0x12c
push eax
call fcn.024ae131
lea ecx, [esp + 0x167c]
mov dword [esp + 0x11c], ecx
add esp, 0x18
lea ecx, [esp + 0x128]
mov word [esp + 0x18ba], bp
call fcn.024017d0
lea ecx, [esp + 0xf0]
call fcn.024017d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x374c], 0x23
call fcn.024017d0
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x20]
push edx
mov edx, 0xa088
call fcn.02481110
test eax, eax
jne 0x2448cf2
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x22
call fcn.0248c4a0
lea ecx, [esp + 0xdc]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x98]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x20]
call fcn.0240a2c0
mov dword [esp + 0x108], eax
mov eax, 0x24e26a0
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov eax, dword [0x24e27c4]
push 0xc2
push eax
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [esp + 0xf8], eax
mov ecx, esi
mov edx, esi
mov eax, esi
and ecx, 1
and edx, 0x20
and eax, 2
and esi, 4
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], esi
call fcn.024783b0
test eax, eax
mov ecx, 0xb
je 0x2448e68
xor eax, eax
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
mov ecx, 0xc
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
mov ecx, dword [0x24e27c8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0xf8]
mov dword [esp + 0xa8], 0x30
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb4], 0xc1
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc0], 0x241c0e0
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x138], 0x28
mov dword [esp + 0x13c], 8
call fcn.024787d0
mov dword [esp + 0x140], eax
mov eax, dword [0x24e27c8]
lea ecx, [esp + 0x68]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ebp
call fcn.0240a2c0
lea edx, [esp + 0x138]
lea ecx, [esp + 0xa8]
push edx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], 1
mov dword [esp + 0x158], ebp
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], ebp
call dword [sym.imp.comctl32.dll_PropertySheetW]
jmp 0x2448f61
xor eax, eax
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
mov ecx, 0xc
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
mov eax, dword [0x24e27c8]
lea ecx, [esp + 0xf8]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa8], 0x30
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0xc1
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xc0], 0x241c0e0
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x138], 0x28
mov dword [esp + 0x13c], 8
call fcn.024787d0
mov edx, dword [0x24e27c8]
lea ecx, [esp + 0xdc]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebp
call fcn.0240a2c0
mov dword [esp + 0x14c], eax
lea ecx, [esp + 0x138]
lea eax, [esp + 0xa8]
push ecx
mov dword [esp + 0x154], 1
mov dword [esp + 0x158], ebp
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ebp
call dword [sym.imp.comctl32.dll_PropertySheet]
mov edx, dword [esp + 0xf8]
push edx
call dword [sym.imp.user32.dll_DestroyCursor]
lea ecx, [esp + 0x10]
mov dword [esp + 0xf8], ebp
mov byte [esp + 0x374c], 0x22
call fcn.0248c4a0
lea ecx, [esp + 0xdc]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x98]
call fcn.024017d0
lea ecx, [esp + 0x20]
call fcn.024017d0
lea ecx, [esp + 0x88]
call fcn.024017d0
lea ecx, [esp + 0x28]
call fcn.024017d0
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, dword [esp + 0x3760]
cmp edi, eax
jne 0x244900a
xor edi, edi
jmp 0x2449022
lea ecx, [esi + 0x3cc]
call fcn.024787d0
cmp edi, eax
jne case.0x244a1a5.259
mov edi, 1
lea ecx, [esp + 0x10]
call fcn.024433f0
push edi
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov dword [esp + 0x3754], 0x2f
call fcn.02440010
test eax, eax
jne 0x2449060
lea ecx, [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0245caa0
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0243f700
test eax, eax
jmp 0x2449047
mov ecx, dword [esi + 0x8f8]
add ecx, 0x10
call fcn.0245c6e0
mov ecx, eax
mov edx, 0x9c4c
call fcn.0242c850
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esp + 0x3760]
cmp eax, dword [esi + 0x6b0]
je 0x24490da
cmp eax, dword [esi + 0x77c]
jne case.0x244a1a5.259
lea ebp, [esi + 0x7d0]
lea ebx, [esi + 0x6d4]
lea edi, [esi + 0x810]
jmp 0x24490ec
lea ebp, [esi + 0x7d8]
lea ebx, [esi + 0x608]
lea edi, [esi + 0x800]
mov ecx, ebp
call fcn.0247f850
test eax, eax
je case.0x244a1a5.259
mov eax, dword [ebp + 4]
push eax
push edi
push ebx
mov ecx, esi
call fcn.02442bc0
neg eax
sbb eax, eax
neg eax
jmp 0x244a46d
mov eax, dword [esi + 0x878]
xor edi, edi
cmp eax, edi
jne case.0x244a1a5.259
cmp dword [esi + 0x864], edi
jne case.0x244a1a5.259
mov eax, dword [esp + 0x3760]
cmp eax, dword [esi + 0x6b0]
jne 0x244914e
lea eax, [esi + 0x7d8]
mov dword [esp + 0x70], edi
mov dword [esp + 0x4c], eax
jmp 0x2449174
cmp eax, dword [esi + 0x77c]
jne case.0x244a1a5.259
lea edx, [esi + 0x7d0]
mov dword [esp + 0x70], 1
mov dword [esp + 0x4c], edx
lea ebx, [esi + 0x6d4]
jmp 0x244917a
lea ebx, [esi + 0x608]
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call fcn.0247abe0
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esp + 0x3c]
cmp eax, edi
je case.0x244a1a5.259
cmp byte [eax + 0x18], 1
mov ebp, eax
je case.0x244a1a5.259
mov edx, dword [eax + 4]
mov ecx, dword [ebx + 0xa8]
lea edi, [eax + 4]
call fcn.0247fd10
test eax, eax
je case.0x244a1a5.259
mov ecx, ebp
call fcn.0247f850
test eax, eax
je case.0x244a1a5.259
mov edx, dword [edi]
mov ecx, dword [esp + 0x4c]
call fcn.0247f900
test eax, eax
je case.0x244a1a5.259
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x70]
push edx
lea eax, [esp + 0x14]
push eax
mov ecx, esi
mov dword [esp + 0x3754], 0x1b
call fcn.02440010
test eax, eax
jne 0x244925c
mov esi, dword [esp + 0x10]
cmp esi, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x2449251
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x2449232
jmp case.0x244a1a5.259
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0243f700
test eax, eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x374c], 0xffffffff
jne 0x24492ad
cmp esi, edi
je case.0x244a1a5.259
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x24492a2
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x2449283
jmp case.0x244a1a5.259
cmp esi, edi
je 0x24492d6
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x14], eax
je 0x24492d0
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x24492b1
mov eax, 1
jmp 0x244a46d
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esp + 0x3760]
cmp eax, dword [esi + 0x6b0]
je 0x244931f
cmp eax, dword [esi + 0x77c]
jne case.0x244a1a5.259
add esi, 0x6d4
jmp 0x2449325
add esi, 0x608
xor eax, eax
lea edx, [esp + 0x16c]
mov ecx, 0x24
lea edi, [esp + 0x170]
rep stosd dword es:[edi], eax
push edx
mov dword [esp + 0x170], 0x94
call dword [sym.imp.kernel32.dll_GetVersionExA]
test eax, eax
je 0x2449371
cmp dword [esp + 0x17c], 2
jne 0x2449371
cmp dword [esp + 0x170], 6
jne 0x2449371
mov eax, dword [esp + 0x174]
test eax, eax
je 0x24493a1
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
mov dword [esp + 0x50], 0
call fcn.0247aec0
test eax, eax
je case.0x244a1a5.259
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, esi
call fcn.0247ae90
test eax, eax
je case.0x244a1a5.259
mov eax, 1
jmp 0x244a46d
xor eax, eax
xor edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x58], edx
mov dword [esp + 0x30], eax
push ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], eax
call dword [sym.imp.user32.dll_GetCursorPos]
test eax, eax
je case.0x244a1a5.259
lea edx, [esp + 0x50]
push edx
lea ecx, [esi + 0x188]
call fcn.024787d0
mov ebp, dword [sym.imp.user32.dll_GetWindowRect]
push eax
call ebp
test eax, eax
je case.0x244a1a5.259
lea eax, [esp + 0x28]
push eax
lea ecx, [esi + 0x248]
call fcn.024787d0
push eax
call ebp
test eax, eax
je case.0x244a1a5.259
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
cmp eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jg 0x2449458
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x244946c
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
push edx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.user32.dll_PtInRect]
test eax, eax
je case.0x2445ca2.37
mov edi, dword [esp + 0x3754]
push edi
mov dword [esi + 0x870], 1
call dword [sym.imp.user32.dll_SetCapture]
push edi
lea ecx, [esi + 0x850]
call fcn.024303c0
jmp case.0x244a1a5.259
cmp edi, 0x202
je 0x24494d4
cmp edi, 0x5cf
jne case.0x2445ca2.37
push 1
mov ecx, esi
call fcn.0243f8a0
jmp case.0x244a1a5.259
mov eax, dword [esi + 0x870]
xor edi, edi
cmp eax, edi
je 0x244958a
lea ecx, [esi + 0x850]
mov dword [esi + 0x870], edi
call fcn.024304d0
call dword [sym.imp.user32.dll_ReleaseCapture]
movsx ebp, word [esp + 0x3760]
xor ecx, ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x14], ecx
push edx
mov dword [esp + 0x1c], ecx
push ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], ecx
call dword [sym.imp.user32.dll_GetClientRect]
test eax, eax
je case.0x244a1a5.259
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x10]
cmp ecx, edi
jle case.0x244a1a5.259
lea edx, [ecx + ecx*4]
shl edx, 1
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jle 0x244958a
lea edx, [ecx + ecx*4]
lea edx, [edx + edx*8]
shl edx, 1
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jge 0x244958a
mov eax, ebp
shl eax, 0x10
cdq
idiv ecx
mov edx, dword [esi]
push edi
push edi
push 5
push ebx
mov ecx, esi
mov dword [esi + 0x86c], eax
call dword [edx + 4]
cmp dword [esi + 0x864], edi
je 0x24456ea
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
cmp dword [esi + 0x860], edi
mov ebx, 0x10
mov dword [esp + 0x374c], ebx
lea ebp, [esi + 0x188]
jne 0x24495c6
lea ebp, [esi + 0x248]
mov eax, dword [esi + 0x868]
cmp eax, 0xffffffff
mov dword [esp + 0x4c], ebp
je 0x24495e8
push edi
push eax
mov ecx, ebp
call fcn.024860c0
mov dword [esi + 0x868], 0xffffffff
lea eax, [esi + 0x840]
cmp eax, edi
je 0x2449633
mov ebx, dword [eax]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], ebx
mov ebx, dword [eax + 4]
mov dword [esp + 0x2c], ebx
mov ebx, dword [eax + 8]
mov dword [esp + 0x30], ebx
mov ebx, dword [eax + 0xc]
mov dword [esp + 0x34], ebx
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0x4c]
mov dword [eax + 0xc], edi
mov dword [eax], ecx
mov dword [eax + 4], edx
xor edi, edi
mov ebx, 0x10
mov dword [esi + 0x868], 0xffffffff
mov dword [esi + 0x864], edi
call dword [sym.imp.user32.dll_ReleaseCapture]
lea ecx, [esi + 0x850]
call fcn.024304d0
push 0x7f00
push edi
call dword [sym.imp.user32.dll_LoadCursorA]
push eax
call dword [sym.imp.user32.dll_SetCursor]
cmp dword [esi + 0x878], edi
je 0x24496a2
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ecx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x2449686
jmp case.0x244a1a5.259
cmp dword [esp + 0x34], edi
jne 0x24496db
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x24496bf
jmp case.0x244a1a5.259
lea eax, [esp + 0x70]
push eax
mov eax, dword [esi + 0x860]
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [esp + 0x74], edi
push ecx
mov ecx, esi
call fcn.02443490
test eax, eax
jne 0x2449730
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x2449714
jmp case.0x244a1a5.259
mov eax, dword [esp + 0x3760]
mov ecx, eax
shr eax, 0x10
mov dword [esp + 0x3c], edi
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3754]
push edx
and ecx, 0xffff
push eax
mov dword [esp + 0x40], ecx
call dword [sym.imp.user32.dll_ClientToScreen]
test eax, eax
jne 0x2449798
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ecx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x244977c
jmp case.0x244a1a5.259
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x3c]
push eax
mov ecx, ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
call fcn.024858e0
test eax, eax
jne 0x24497eb
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, ebp
mov dword [esp + 0x54], edi
call fcn.024859c0
test eax, eax
je 0x2449846
cmp dword [esp + 0x70], edi
jne 0x2449846
test byte [esp + 0x4c], 1
je 0x2449846
cmp dword [esi + 0x860], edi
je 0x244983c
lea ebp, [esi + 0x7d8]
jmp 0x2449842
mov ebp, dword [esp + 0x54]
cmp ebp, edi
jne 0x2449826
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ecx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x244980a
jmp case.0x244a1a5.259
cmp byte [ebp + 0x18], 1
jne 0x2449842
cmp dword [esi + 0x860], edi
je 0x244983c
lea ebp, [esi + 0x7d8]
jmp 0x2449842
lea ebp, [esi + 0x7d0]
cmp ebp, edi
jne 0x2449879
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x244985d
jmp case.0x244a1a5.259
mov ecx, ebp
call fcn.0247f850
test eax, eax
jne 0x24498b7
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ecx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x244989b
jmp case.0x244a1a5.259
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ebp, dword [ebp + 4]
mov eax, dword [esi + 0x860]
push ebp
lea edx, [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
mov byte [esp + 0x375c], 0x11
call fcn.0243fb00
test eax, eax
jne 0x244994c
mov ecx, dword [esp + 0x10]
cmp ecx, edi
mov byte [esp + 0x374c], bl
je 0x2449919
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2449913
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, edi
mov ecx, eax
jne 0x24498fe
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x2449930
jmp case.0x244a1a5.259
mov ecx, dword [esi + 0x860]
xor eax, eax
cmp ecx, edi
sete al
lea ecx, [esp + 0x10]
push eax
push ecx
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x24499c7
mov ecx, dword [esp + 0x10]
cmp ecx, edi
mov byte [esp + 0x374c], bl
je 0x2449994
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x244998e
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, edi
mov ecx, eax
jne 0x2449979
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x24499ab
jmp case.0x244a1a5.259
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.0243f700
test eax, eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x374c], bl
jne 0x2449a34
cmp ecx, edi
je 0x2449a01
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x24499fb
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, edi
mov ecx, eax
jne 0x24499e6
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je case.0x244a1a5.259
mov ecx, dword [eax]
push eax
mov dword [esp + 0x30], ecx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x2449a18
jmp case.0x244a1a5.259
cmp ecx, edi
je 0x2449a53
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
je 0x2449a4d
push 1
call fcn.0245cf00
mov eax, dword [esp + 0x14]
cmp eax, edi
mov ecx, eax
jne 0x2449a38
mov eax, dword [esp + 0x28]
cmp eax, edi
mov dword [esp + 0x374c], 0xffffffff
je 0x24456ea
mov edx, dword [eax]
push eax
mov dword [esp + 0x30], edx
call fcn.024adc89
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, edi
jne 0x2449a6a
jmp 0x24456ea
lea ecx, [esp + 0x74]
call fcn.024433f0
lea edi, [esi + 0x8b0]
mov ecx, edi
mov dword [esp + 0x374c], 0x3c
call fcn.024871d0
lea eax, [esi + 0x8e8]
push eax
lea ecx, [esp + 0x78]
call fcn.0245cc00
mov ecx, edi
call fcn.02487290
lea ecx, [esp + 0x74]
call fcn.0245cbf0
test eax, eax
je 0x244a062
lea ecx, [esp + 0x68]
xor ebx, ebx
push ecx
xor edi, edi
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x6c], ebx
call fcn.0245c740
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x4c], ebp
je 0x2449f44
cmp dword [ebp], 5
jne 0x2449f20
mov eax, dword [ebp + 4]
test eax, eax
lea ebx, [esi + 0x7d0]
jne 0x2449b18
lea ebx, [esi + 0x7d8]
test eax, eax
mov dword [esp + 0x124], ebx
je 0x2449b32
lea edx, [esi + 0x248]
mov dword [esp + 0xf0], edx
jmp 0x2449b3f
lea ecx, [esi + 0x188]
mov dword [esp + 0xf0], ecx
test eax, eax
je 0x2449b52
lea edx, [esi + 0x6d4]
mov dword [esp + 0x88], edx
jmp 0x2449b5f
lea ecx, [esi + 0x608]
mov dword [esp + 0x88], ecx
test eax, eax
je 0x2449b6f
lea edx, [esi + 0x810]
mov dword [esp + 0x60], edx
jmp 0x2449b79
lea ecx, [esi + 0x800]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x2449b89
lea edx, [esi + 0x7f0]
mov dword [esp + 0x70], edx
jmp 0x2449b93
lea ecx, [esi + 0x7e0]
mov dword [esp + 0x70], ecx
test eax, eax
je 0x2449ba6
lea edx, [esi + 0x830]
mov dword [esp + 0xdc], edx
jmp 0x2449bb3
lea ecx, [esi + 0x820]
mov dword [esp + 0xdc], ecx
test eax, eax
je 0x2449bc6
mov edx, dword [esi + 0x7c0]
mov dword [esp + 0x128], edx
jmp 0x2449bd3
mov eax, dword [esi + 0x7bc]
mov dword [esp + 0x128], eax
mov ecx, ebx
call fcn.0247f850
test eax, eax
je 0x244a062
lea edi, [ebp + 8]
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x244a062
lea ecx, [esp + 0x50]
call fcn.024290f0
lea ecx, [esp + 0x50]
push ecx
mov ecx, ebx
mov byte [esp + 0x3750], 0x3d
call fcn.0240a2c0
push eax
mov ecx, esi
call fcn.0243fee0
test eax, eax
je 0x2449fbe
mov ecx, edi
call fcn.0240a2c0
push eax
lea ecx, [esp + 0x54]
call fcn.0240a2c0
push eax
call fcn.024ade17
add esp, 8
test eax, eax
jne 0x2449f0f
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x2449d9c
lea edx, [esp + 0x134]
add ebp, 0x34
push edx
mov ecx, ebp
mov dword [esp + 0x138], 0
call fcn.0245c740
mov edi, eax
test edi, edi
je 0x2449dbb
mov ecx, edi
call fcn.0247f850
test eax, eax
je 0x2449fbe
lea ecx, [esp + 0x38]
call fcn.024290f0
mov ebx, dword [esp + 0x124]
lea eax, [esp + 0x130]
push eax
mov ecx, ebx
mov byte [esp + 0x3750], 0x3e
mov dword [esp + 0x134], 0
call fcn.0240a2c0
push eax
mov ecx, esi
call fcn.02443460
test eax, eax
je 0x2449fb5
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x2449d4a
mov ecx, ebx
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.0247f900
test eax, eax
lea ecx, [esp + 0x38]
je 0x2449fb9
call fcn.0240a2c0
push eax
call fcn.024adc6c
mov ebx, eax
add esp, 4
test ebx, ebx
lea ecx, [esp + 0x38]
je 0x2449fb9
call fcn.0240a2c0
cmp word [eax + ebx*2 - 2], 0x5c
je 0x2449d2e
mov edx, 0x24da178
lea ecx, [esp + 0x38]
call fcn.0247f890
test eax, eax
je 0x2449fb5
mov ecx, edi
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.0247f890
test eax, eax
je 0x2449fb5
jmp 0x2449d64
mov ecx, edi
call fcn.0240a2c0
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.0247f900
test eax, eax
je 0x2449fb5
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call fcn.0240a2d0
lea edx, [esp + 0x134]
push edx
mov ecx, ebp
call fcn.0245cad0
lea ecx, [esp + 0x38]
mov edi, eax
mov byte [esp + 0x374c], 0x3d
call fcn.024017d0
test edi, edi
jne 0x2449c75
jmp 0x2449dbb
mov eax, dword [ebp + 4]
test eax, eax
lea eax, [esp + 0x28]
jne 0x2449dab
lea eax, [esp + 0x20]
add ebp, 0x34
mov ecx, ebp
mov dword [eax], 1
call fcn.0245c870
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
lea eax, [esp + 0x48]
mov dword [esp + 0x48], ebx
mov edx, dword [ecx + 4]
push eax
push edx
mov ecx, esi
call fcn.02443490
test eax, eax
je 0x2449fbe
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xf0]
push eax
push ecx
push ebp
push edx
mov ecx, esi
call fcn.02442ca0
test eax, eax
je 0x2449fbe
push ebp
mov ebp, dword [esp + 0xe0]
mov ecx, ebp
call fcn.0245cc00
lea ecx, [esp + 0x10]
call fcn.024433f0
cmp dword [esp + 0x48], ebx
mov byte [esp + 0x374c], 0x3f
je 0x2449eba
lea ecx, [esp + 0xa8]
call fcn.024433f0
lea eax, [esp + 0x98]
push eax
mov ecx, ebp
mov byte [esp + 0x3750], 0x40
mov dword [esp + 0x9c], ebx
call fcn.0245c740
mov edi, eax
cmp edi, ebx
je 0x2449e95
lea ecx, [esp + 0xa8]
call fcn.0245c780
cmp eax, ebx
je 0x2449fcc
push edi
mov ecx, eax
call fcn.0241c6d0
test eax, eax
je 0x2449fcc
lea ecx, [esp + 0x98]
push ecx
mov ecx, ebp
call fcn.0245cad0
mov edi, eax
cmp edi, ebx
jne 0x2449e5c
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0xa8]
push edx
call fcn.0245cc00
lea ecx, [esp + 0xa8]
mov byte [esp + 0x374c], 0x3f
call fcn.0241e510
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x128]
call fcn.0240a2c0
mov ecx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
mov ecx, esi
call fcn.02442210
test eax, eax
je 0x2449fe0
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x10]
push edx
call fcn.0245cc00
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x3d
call fcn.0241e510
lea ecx, [esp + 0x50]
mov byte [esp + 0x374c], 0x3c
call fcn.024017d0
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x78]
call fcn.0245cad0
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x4c], ebp
jne 0x2449afb
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov ecx, esi
call fcn.0243f970
mov eax, dword [esi + 0x874]
test eax, eax
jne 0x244a058
test edi, edi
jne 0x2449f65
test ebx, ebx
je 0x244a058
lea ecx, [esp + 0xdc]
mov dword [esi + 0x874], 1
call fcn.024433f0
test edi, edi
mov byte [esp + 0x374c], 0x41
je 0x2449ffc
push 0
lea ecx, [esp + 0xe0]
push ecx
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x2449ffc
mov byte [esp + 0x374c], 0x3c
lea ecx, [esp + 0xdc]
call fcn.0245caa0
jmp 0x244a062
lea ecx, [esp + 0x38]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
jmp 0x244a062
lea ecx, [esp + 0xa8]
mov byte [esp + 0x374c], 0x3f
call fcn.0241e510
lea ecx, [esp + 0x10]
mov byte [esp + 0x374c], 0x3d
call fcn.0241e510
lea ecx, [esp + 0x50]
call fcn.024017d0
jmp 0x244a062
test ebx, ebx
je 0x244a02b
push 1
lea edx, [esp + 0xe0]
push edx
mov ecx, esi
call fcn.02440010
test eax, eax
jne 0x244a02b
lea ecx, [esp + 0xdc]
mov byte [esp + 0x374c], 0x3c
call fcn.0245caa0
jmp 0x244a062
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
call fcn.0243f700
test eax, eax
mov byte [esp + 0x374c], 0x3c
lea ecx, [esp + 0xdc]
jne 0x2449fab
call fcn.0245caa0
jmp 0x244a062
mov dword [esi + 0x874], 0
lea ecx, [esp + 0x74]
mov dword [esp + 0x374c], 0xffffffff
call fcn.0245caa0
jmp case.0x244a1a5.259
cmp edi, 0x5dc
ja 0x244a119
je 0x244a0f8
mov eax, edi
sub eax, 0x5d1
je 0x244a0b1
dec eax
jne case.0x2445ca2.37
mov ecx, dword [esp + 0x375c]
push ecx
lea ecx, [esi + 0xa8]
call fcn.0243e8c0
jmp case.0x244a1a5.259
mov edx, dword [esp + 0x375c]
test edx, edx
je case.0x244a1a5.259
mov eax, dword [edx + 8]
test eax, eax
jne 0x244a0cc
mov eax, 0x24e26a0
mov ecx, dword [edx + 4]
test ecx, ecx
mov edi, ecx
jne 0x244a0da
mov edi, 0x24e26a0
mov ecx, dword [edx]
test ecx, ecx
jne 0x244a0e5
mov ecx, 0x24e26a0
push eax
push edi
push ecx
lea ecx, [esi + 0xa8]
call fcn.0243e780
jmp case.0x244a1a5.259
push 1
mov ecx, esi
mov dword [esi + 0x7b0], 0
call fcn.02443730
push 0
mov ecx, esi
call fcn.02443730
jmp case.0x244a1a5.259
cmp edi, 0x5f4
je 0x244a144
cmp edi, 0xd3e
je 0x244a12e
jmp case.0x2445ca2.37
mov ecx, dword [esp + 0x3754]
call fcn.0242ce30
mov eax, 1
jmp 0x244a46d
mov ebx, dword [esp + 0x375c]
xor ebp, ebp
cmp ebx, ebp
je case.0x244a1a5.259
mov eax, dword [ebx]
cmp eax, dword [esi + 0x7a0]
je 0x244a17d
cmp eax, dword [esi + 0x7a4]
jne case.0x244a1a5.259
lea ecx, [esi + 0x248]
mov dword [esp + 0x28], ecx
lea ecx, [esi + 0x3cc]
jmp 0x244a18d
lea edx, [esi + 0x188]
mov dword [esp + 0x28], edx
lea ecx, [esi + 0x308]
call fcn.024787d0
mov edi, eax
mov eax, dword [ebx + 4]
add eax, 0xffffff00
cmp eax, 5
ja case.0x244a1a5.259
jmp dword [eax*4 + 0x244a928]
mov eax, dword [ebx + 8]
cmp eax, 0x70
mov ecx, 0x20000000
jne 0x244a1e8
test dword [ebx + 0xc], ecx
je 0x244a1e8
add esi, 0x608
mov ecx, esi
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
push 1
mov ecx, esi
call fcn.0247ae60
mov dword [ebx + 8], ebp
mov eax, 1
jmp 0x244a46d
cmp eax, 0x71
jne case.0x244a1a5.259
test dword [ebx + 0xc], ecx
je case.0x244a1a5.259
add esi, 0x6d4
jmp 0x244a1c4
cmp dword [ebx + 8], 0x4e
mov ebp, dword [sym.imp.user32.dll_GetKeyState]
jne 0x244a225
push 0x11
call ebp
movsx eax, ax
test eax, 0x80000000
je 0x244a225
push 0
push 0x9cef
jmp 0x244a241
cmp dword [ebx + 8], 0x74
jne 0x244a25e
push 0x10
call ebp
movsx ecx, ax
test ecx, 0x80000000
je 0x244a25e
push 0
push 0x9ced
push 0x111
push edi
call dword [sym.imp.user32.dll_SendMessageA]
mov dword [ebx + 8], 0
mov eax, 1
jmp 0x244a46d
mov eax, dword [ebx + 8]
cmp eax, 0x1b
je 0x244a51a
cmp eax, 9
je 0x244a51a
cmp eax, 0xd
jne case.0x244a1a5.259
mov eax, dword [esi + 0x878]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [esi + 0x864]
test eax, eax
jne case.0x244a1a5.259
mov eax, dword [ebx]
cmp eax, dword [esi + 0x7a0]
jne 0x244a2c0
lea eax, [esi + 0x7d8]
mov dword [esp + 0x4c], eax
lea eax, [esi + 0x608]
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
jmp 0x244a2f0
cmp eax, dword [esi + 0x7a4]
jne case.0x244a1a5.259
lea edx, [esi + 0x7d0]
lea eax, [esi + 0x6d4]
mov dword [esp + 0x20], 1
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], eax
lea edi, [esi + 0x810]
jmp 0x244a2f6
lea edi, [esi + 0x800]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0xa8]
lea edx, [esp + 0x38]
mov dword [esp + 0x374c], 0x18
call fcn.0247fdb0
test eax, eax
je 0x244a462
lea ecx, [esp + 0x28]
test ecx, ecx
je 0x244a3a1
mov ebp, dword [edi]
test ebp, ebp
je 0x244a3a1
lea edi, [ebp + 8]
test edi, edi
je 0x244a3a1
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x50]
push edx
push edi
mov byte [esp + 0x3754], 0x19
call fcn.0247aca0
test eax, eax
je 0x244a382
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
push 0xffffffffffffffff
push eax
push 0xffffffffffffffff
push ecx
mov edx, 1
mov ecx, 0x800
call fcn.02482400
cmp eax, 2
je 0x244a434
test ebp, ebp
je 0x244a392
mov ebp, dword [ebp]
test ebp, ebp
je 0x244a392
lea edi, [ebp + 8]
jmp 0x244a394
xor edi, edi
lea ecx, [esp + 0x50]
call fcn.024017d0
test edi, edi
jne 0x244a337
lea edx, [esp + 0x38]
test edx, edx
je 0x244a3c7
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edx], edi
mov edi, dword [esp + 0x3c]
mov dword [edx + 4], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
xor ebp, ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
mov byte [esp + 0x3754], 0x1a
call fcn.02440010
test eax, eax
jne 0x244a488
mov esi, dword [esp + 0x74]
cmp esi, ebp
mov byte [esp + 0x374c], 0x18
je 0x244a462
cmp esi, ebp
mov eax, dword [esi]
mov dword [esp + 0x78], eax
je 0x244a42c
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x7c]
add esp, 4
cmp eax, ebp
mov esi, eax
jne 0x244a40d
jmp 0x244a462
lea ecx, [esp + 0x50]
mov byte [esp + 0x374c], 0x18
call fcn.024017d0
xor ebp, ebp
cmp edi, ebp
je 0x244a3a1
mov ecx, dword [esp + 0x4c]
mov edx, edi
call fcn.0247f970
test eax, eax
jne 0x244a3c9
lea ecx, [esp + 0x38]
call fcn.024017d0
xor eax, eax
mov ecx, dword [esp + 0x3744]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x3740
ret 0x10
lea edx, [esp + 0x74]
push edx
mov ecx, esi
call fcn.0243f700
test eax, eax
jne 0x244a4cf
mov esi, dword [esp + 0x74]
cmp esi, ebp
mov byte [esp + 0x374c], 0x18
je 0x244a462
cmp esi, ebp
mov eax, dword [esi]
mov dword [esp + 0x78], eax
je 0x244a4c7
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x7c]
add esp, 4
cmp eax, ebp
mov esi, eax
jne 0x244a4a8
jmp 0x244a462
mov esi, dword [esp + 0x74]
cmp esi, ebp
mov dword [ebx + 8], ebp
mov byte [esp + 0x374c], 0x18
je 0x244a507
cmp esi, ebp
mov eax, dword [esi]
mov dword [esp + 0x78], eax
je 0x244a501
lea ecx, [esi + 8]
call fcn.0244be10
push esi
call fcn.024adc89
mov eax, dword [esp + 0x7c]
add esp, 4
cmp eax, ebp
mov esi, eax
jne 0x244a4e2
lea ecx, [esp + 0x38]
call fcn.024017d0
mov eax, 1
jmp 0x244a46d
mov ecx, dword [esp + 0x28]
call fcn.024787d0
push eax
call dword [sym.imp.user32.dll_SetFocus]
mov dword [ebx + 8], 0
mov eax, 1
jmp 0x244a46d
mov eax, dword [ebx + 8]
cmp eax, 0x70
je 0x244a54c
cmp eax, 0x71
jne case.0x244a1a5.259
mov dword [ebx + 8], ebp
mov eax, 1
jmp 0x244a46d
mov eax, dword [ebx + 8]
cmp eax, 0x1b
je 0x244a56f
cmp eax, 9
je 0x244a56f
cmp eax, 0xd
jne case.0x244a1a5.259
mov dword [ebx + 8], ebp
mov eax, 1
jmp 0x244a46d