Function at 0x428230
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x479663
mov eax, dword fs:[0]
push eax
sub esp, 0x1f4
mov eax, dword [0x4947a0]
xor eax, esp
mov dword [esp + 0x1f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4947a0]
xor eax, esp
push eax
lea eax, [esp + 0x208]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x218]
lea eax, [esp + 0xe4]
push eax
mov dword [esp + 0x214], 0
call fcn.0041ac00
lea ecx, [esp + 0xcc]
push ecx
mov byte [esp + 0x214], 1
call fcn.0041ac00
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0x214], 2
call dword [sym.imp.USER32.dll_SetRectEmpty]
mov ebx, ebp
call fcn.004214e0
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x4282e4
mov eax, dword [ebp + 0x20]
push 0
push 0
push 0x10
push eax
call esi
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x74]
push ecx
call dword [sym.imp.USER32.dll_SetRect]
jmp 0x4282f9
push eax
call fcn.0043e4b5
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x64]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x240]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push edx
mov byte [ecx + 4], 0
call fcn.00401910
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0xd8]
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x74]
call fcn.004217c0
cmp dword [esp + 0x38], 0
jge 0x42883d
cmp dword [esp + 0x3c], 0
jge 0x42883d
cmp dword [esp + 0x40], 0
jge 0x42883d
cmp dword [esp + 0x44], 0
jge 0x42883d
cmp dword [esp + 0x30], 0
jge 0x42883d
cmp dword [esp + 0x34], 0
jge 0x42883d
cmp dword [esp + 0x28], 0
jge 0x42883d
cmp dword [esp + 0x2c], 0
jge 0x42883d
mov al, 0x46
mov dl, 0x4c
mov cl, 0xa
mov bl, 0x5a
mov byte [esp + 0x185], 0x32
mov byte [esp + 0x186], 0x25
mov byte [esp + 0x187], dl
mov byte [esp + 0x188], 0x44
mov byte [esp + 0x189], al
mov byte [esp + 0x18a], cl
mov byte [esp + 0x18b], 0x4e
mov byte [esp + 0x18c], al
mov byte [esp + 0x18d], bl
mov byte [esp + 0x18e], 0x3b
mov byte [esp + 0x18f], 0x20
mov byte [esp + 0x190], 0x32
mov byte [esp + 0x191], dl
mov byte [esp + 0x192], 0x47
mov byte [esp + 0x193], al
mov byte [esp + 0x194], al
mov byte [esp + 0x195], cl
mov byte [esp + 0x196], 0x44
mov byte [esp + 0x197], al
mov byte [esp + 0x198], al
mov byte [esp + 0x199], bl
mov byte [esp + 0x19a], 0x3b
mov byte [esp + 0x19b], 0x25
mov byte [esp + 0x19c], 0x26
mov byte [esp + 0x19d], dl
mov byte [esp + 0x19e], 0x47
mov byte [esp + 0x19f], al
mov byte [esp + 0x1a0], cl
mov byte [esp + 0x1a1], 0x42
mov byte [esp + 0x1a2], al
mov byte [esp + 0x1a3], bl
mov byte [esp + 0x1a4], 0x2e
mov byte [esp + 0x1a5], 0x2f
mov byte [esp + 0x1a6], 0x39
mov byte [esp + 0x1a7], dl
mov byte [esp + 0x1a8], al
mov byte [esp + 0x1a9], cl
mov byte [esp + 0x1aa], al
mov byte [esp + 0x1ab], bl
mov byte [esp + 0x1ac], 0x39
mov byte [esp + 0x1ad], 0x3f
mov byte [esp + 0x1ae], 0x3b
mov byte [esp + 0x1af], dl
mov byte [esp + 0x1b0], al
mov byte [esp + 0x1b1], cl
mov byte [esp + 0x1b2], al
mov byte [esp + 0x1b3], bl
mov byte [esp + 0x1b4], 0x26
mov byte [esp + 0x1b5], 0x22
mov byte [esp + 0x1b6], 0x35
mov byte [esp + 0x1b7], dl
mov byte [esp + 0x1b8], 0x44
mov byte [esp + 0x1b9], bl
mov byte [esp + 0x1ba], 0x25
mov byte [esp + 0x1bb], 0x26
mov byte [esp + 0x1bc], 0x22
mov byte [esp + 0x1bd], dl
mov byte [esp + 0x1be], 0x47
mov byte [esp + 0x1bf], cl
mov byte [esp + 0x1c0], 0x47
mov byte [esp + 0x1c1], cl
mov byte [esp + 0x1c2], 0x47
mov byte [esp + 0x1c3], cl
mov byte [esp + 0x1c4], 0x47
mov byte [esp + 0x1c5], cl
mov byte [esp + 0x1c6], bl
mov byte [esp + 0x1c7], 0x3b
mov byte [esp + 0x1c8], 0x39
mov byte [esp + 0x1c9], 0x32
mov byte [esp + 0x1ca], dl
mov byte [esp + 0x1cb], 0x44
mov byte [esp + 0x1cc], bl
mov byte [esp + 0x1cd], 0x38
mov byte [esp + 0x1ce], 0x23
mov byte [esp + 0x1cf], 0x3b
mov byte [esp + 0x1d0], dl
mov byte [esp + 0x1d1], 0x45
mov byte [esp + 0x1d8], al
mov byte [esp + 0x1d9], al
mov byte [esp + 0x1da], al
mov byte [esp + 0x1dd], al
mov byte [esp + 0x1de], al
mov byte [esp + 0x1df], al
mov byte [esp + 0x1e0], al
mov byte [esp + 0x1d2], bl
mov byte [esp + 0x1d3], 0x22
mov byte [esp + 0x1d4], 0x3b
mov byte [esp + 0x1d5], 0x33
mov byte [esp + 0x1d6], dl
mov byte [esp + 0x1d7], 0x43
mov byte [esp + 0x1db], cl
mov byte [esp + 0x1dc], 0x45
mov byte [esp + 0x1e1], bl
mov byte [esp + 0x1e2], 0x39
mov byte [esp + 0x1e3], 0x22
mov byte [esp + 0x1e4], 0x30
mov byte [esp + 0x1e5], dl
mov byte [esp + 0x1e6], 0x47
mov byte [esp + 0x1e7], cl
mov byte [esp + 0x1e8], 0x47
mov byte [esp + 0x1e9], cl
mov byte [esp + 0x1ea], 0x47
mov byte [esp + 0x1eb], cl
mov byte [esp + 0x1ec], 0x47
mov byte [esp + 0x1ed], cl
mov byte [esp + 0x1ee], bl
mov byte [esp + 0x1ef], 0x39
mov byte [esp + 0x1f0], 0x3b
mov byte [esp + 0x1f1], 0x25
mov byte [esp + 0x1f2], dl
mov byte [esp + 0x1f3], 0x41
mov byte [esp + 0x1f4], cl
mov byte [esp + 0x1f5], 0x42
mov byte [esp + 0x1f6], cl
mov byte [esp + 0x1f7], bl
mov byte [esp + 0x1f8], 0x3f
mov byte [esp + 0x1f9], 0x3b
mov byte [esp + 0x1fa], 0x25
mov byte [esp + 0x1fb], dl
mov byte [esp + 0x1fc], 0x45
mov byte [esp + 0x1fd], cl
mov byte [esp + 0x1fe], 0x43
mov byte [esp + 0x1ff], cl
mov byte [esp + 0x200], 0x4a
mov byte [esp + 0x201], 0x55
mov byte [esp + 0x202], 0x48
mov byte [esp + 0x203], 0x76
lea eax, [esp + 0x184]
mov byte [esp + 0x184], 0x4d
nop
inc eax
xor byte [eax], 0x76
jne 0x4287a0
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x16c]
call fcn.00401cd0
sub esp, 0x1c
lea edx, [esp + 0x184]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x230], 3
call fcn.00406900
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0xd8]
push eax
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x74]
call fcn.004217c0
lea ecx, [esp + 0x168]
mov byte [esp + 0x210], 2
call fcn.00401df0
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0x224]
push ecx
lea ecx, [esp + 0x158]
mov dword [esp + 0x170], 0xf
mov dword [esp + 0x16c], edi
mov byte [esp + 0x15c], 0
call fcn.00401910
lea edx, [esp + 0x34]
push edx
sub esp, 0x1c
mov byte [esp + 0x230], 4
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], edi
push str..______l_o
lea ebx, [esp + 0x58]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 5
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x4288f4
lea ecx, [esp + 0x1a8]
push str.OFT:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea eax, [esp + 0x24]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push str..______l_o
lea ebx, [esp + 0x48]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 6
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428991
lea ecx, [esp + 0x1a8]
push str.POS:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea ecx, [esp + 0x3c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push str..______l_o
lea ebx, [esp + 0x60]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 7
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428a2e
lea ecx, [esp + 0x1a8]
push str.WHD:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea edx, [esp + 0x4c]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push str..______l_o
lea ebx, [esp + 0x70]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 8
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428acb
lea ecx, [esp + 0x1a8]
push str.IWH:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea eax, [esp + 0x94]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push str..______l_o
lea ebx, [esp + 0xb8]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 9
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428b6e
lea ecx, [esp + 0x1a8]
push str.IXY:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea ecx, [esp + 0x9c]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push str..______l_o
lea ebx, [esp + 0xc0]
mov byte [ecx + 4], 0
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 0xa
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push 0x483354
mov byte [ecx + 4], 0
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428c11
lea ecx, [esp + 0x1a8]
push str.SLP:
call fcn.0040f860
add esp, 0x20
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
lea edx, [esp + 0x44]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
xor ebx, ebx
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str..______l_o
mov byte [ecx + 4], bl
call fcn.00401bf0
sub esp, 0x1c
mov dword [esp + 0x50], esp
mov edi, esp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
mov byte [esp + 0x268], 0xb
push 1
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x483354
mov byte [ecx + 4], bl
call fcn.00401bf0
cmp dword [esp + 0x1bc], 0x10
mov ecx, dword [esp + 0x1a8]
jae 0x428ca2
lea ecx, [esp + 0x1a8]
push str.CKN:
call fcn.0040f860
add esp, 0x20
lea ebx, [esp + 0x7c]
mov byte [esp + 0x24c], 4
call fcn.00410120
add esp, 0x3c
cmp dword [esp + 0x40], 0
jge 0x428cd2
mov dword [esp + 0x40], 1
cmp dword [esp + 0x44], 1
jne 0x428f59
mov ebx, ebp
call fcn.004214e0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x94]
push 4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
push eax
push 0
mov ecx, ebp
call fcn.0043a461
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov ecx, ebp
call fcn.004211c0
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea edi, [eax + ebx]
mov eax, dword [esp + 0x20]
push edi
add ecx, eax
push ecx
push ebx
push eax
lea edx, [esp + 0x124]
push edx
mov dword [esp + 0x2c], ecx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
call fcn.0040fad0
mov dword [esp + 0x40], eax
mov eax, edi
mov ecx, ebx
call fcn.0040fad0
mov edi, eax
mov ebx, ebp
mov dword [esp + 0x44], edi
call fcn.004215a0
mov dword [esp + 0x1c], eax
call fcn.00421660
mov dword [esp + 0x14], eax
call fcn.00421720
movzx ebx, word [esp + 0x40]
mov eax, dword [esp + 0x28]
movzx edi, di
shl edi, 0x10
or edi, ebx
push edi
push 0x201
push 0x210
push eax
call esi
mov ecx, dword [esp + 0x14]
push edi
push 0x201
push 0x210
push ecx
call esi
mov edx, dword [esp + 0x1c]
push edi
push 0x201
push 0x210
push edx
call esi
cmp dword [ebp + 0x26c], 0
mov eax, dword [ebp + 0x20]
jle 0x428dfb
push 4
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
mov eax, dword [esp + 0x44]
sub eax, ecx
add ax, word [ebp + 0x26c]
movzx edx, ax
mov eax, dword [esp + 0x18]
shl edx, 0x10
or edx, ebx
push edx
jmp 0x428dfc
push edi
push 0x201
push 0x210
push eax
call esi
mov eax, dword [ebp + 0x20]
push 0x2010001
push eax
push 0x21
mov ebx, ebp
call fcn.004214e0
push eax
call esi
mov eax, dword [ebp + 0x20]
push 0x2010001
push eax
push 0x21
call fcn.00421660
push eax
call esi
mov eax, dword [ebp + 0x20]
push 0x2010001
push eax
push 0x21
call fcn.004215a0
push eax
call esi
mov eax, dword [ebp + 0x20]
push 0x2010001
push eax
push 0x21
push eax
call esi
mov eax, dword [ebp + 0x20]
xor ebx, ebx
push ebx
push 1
push 0x1c
push eax
call esi
mov ebp, dword [ebp + 0x20]
push ebx
push 2
push 6
push ebp
call esi
mov ebp, dword [esp + 0x1c]
push ebx
push ebx
push 7
push ebp
call esi
mov ecx, dword [esp + 0x14]
push ebx
push ebp
push 7
push ecx
call esi
mov ebp, dword [esp + 0x28]
push edi
push ebp
push 0x200
push ebp
call esi
push edi
push 1
push 0x201
push ebp
call esi
push edi
push 1
push 0x202
push ebp
call esi
mov esi, 0x10
cmp dword [esp + 0x164], esi
jb 0x428ec2
mov edx, dword [esp + 0x150]
push edx
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x164], 0xf
mov dword [esp + 0x160], ebx
mov byte [esp + 0x150], bl
cmp eax, ebx
je 0x428eef
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0xcc]
push eax
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
call fcn.004396bc
mov eax, dword [esp + 0xf4]
add esp, 4
cmp eax, ebx
je 0x428f28
push eax
call fcn.004396bc
add esp, 4
mov ecx, dword [esp + 0xe4]
push ecx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
call fcn.004396bc
add esp, 4
cmp dword [esp + 0x234], esi
jmp 0x429990
mov ecx, dword [esp + 0x98]
test ecx, ecx
jle 0x428f7f
mov eax, dword [esp + 0x9c]
test eax, eax
jle 0x428f7f
cmp ecx, eax
jge 0x428f7f
call fcn.0040fad0
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x94]
push 4
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
push eax
push 0
mov ecx, ebp
call fcn.0043a461
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov ecx, ebp
call fcn.004211c0
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
push ebp
lea esi, [esp + 0x9c]
mov dword [eax + 0xc], edx
call fcn.004212b0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
add ecx, eax
push ecx
add esi, edx
push esi
push eax
push edx
lea edx, [esp + 0x124]
push edx
call dword [sym.imp.USER32.dll_SetRect]
lea eax, [esp + 0xb4]
push eax
call fcn.0041ac00
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x214], 0xc
call fcn.0041ac00
lea edx, [esp + 0xfc]
push edx
mov byte [esp + 0x214], 0xd
call fcn.0041ac00
mov byte [esp + 0x210], 0xe
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0xa4]
push ecx
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push eax
push ecx
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x9c]
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
mov edx, dword [esp + 0x144]
push eax
lea ecx, [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x150]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x164]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x168]
mov dword [eax + 8], edx
mov edx, dword [esp + 0xb4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0xb8]
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.00422760
mov edx, dword [esp + 0x10c]
sub edx, dword [esp + 0x108]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
sar edx, 3
cmp edx, 2
jb 0x429167
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push esi
push edi
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x40], esp
push edx
lea ecx, [esp + 0x128]
call fcn.004363e0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
lea edx, [esp + 0x154]
push edx
call fcn.00422180
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x30], esp
push eax
lea ecx, [esp + 0x140]
call fcn.004363e0
mov byte [esp + 0x228], 0xf
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
push esi
push edi
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x178]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0xac]
push eax
push ecx
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x6c], esp
push edx
lea ecx, [esp + 0x120]
call fcn.00436290
sub esp, 0x18
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
lea ecx, [esp + 0x150]
mov byte [esp + 0x27c], 0x10
call fcn.00436290
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
push ecx
push edx
lea ecx, [esp + 0x124]
mov byte [esp + 0x280], 0xe
call fcn.00422290
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xc0]
sar eax, 3
test eax, eax
jbe 0x429832
mov ebx, ebp
call fcn.004214e0
test eax, eax
je 0x429832
call fcn.004214e0
push ebp
mov dword [esp + 0x4c], eax
call fcn.00421470
test ebp, ebp
jne 0x42925a
xor eax, eax
jmp 0x42925d
mov eax, dword [ebp + 0x20]
mov ebx, dword [esp + 0x48]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x2010001
push eax
push 0x21
push ebx
call edi
push 0
push 0
push 7
push ebx
call edi
mov esi, 1
mov edx, ebx
call fcn.00420800
push ebx
call fcn.00432590
push ebp
call fcn.00421470
xor eax, eax
mov dword [esp + 0x64], vtable.CArray_struct__StructFlashClick__struct__StructFlashClick__.0
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov byte [esp + 0x210], 0x11
cmp dword [0x4ae4a8], eax
jle 0x42937b
lea ecx, [esp + 0x80]
push ecx
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [0x4ae4a8]
xor ebx, ebx
test eax, eax
jle 0x42937b
test ebx, ebx
jl 0x4293d9
cmp ebx, eax
jge 0x4293d9
mov edx, dword [0x4ae4a4]
mov eax, dword [edx + ebx*4]
lea ecx, [esp + 0x50]
push ecx
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x5c]
sub ecx, eax
sub eax, dword [esp + 0x80]
sub esi, edx
sub edx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
add eax, ecx
mov dword [esp + 0x54], edx
add edx, esi
mov dword [esp + 0x58], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x18]
push eax
lea ecx, [esp + 0xa4]
push ecx
mov dword [esp + 0xb8], edx
call dword [sym.imp.USER32.dll_CopyRect]
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0x68]
call fcn.00438260
mov eax, dword [0x4ae4a8]
inc ebx
cmp ebx, eax
jl 0x4292df
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xc0]
mov dword [esp + 0x1c], 0
sar eax, 3
test eax, eax
jbe 0x4297d0
lea esp, [esp]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
lea eax, [esp + 0xb4]
call fcn.004364d0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x4293de
mov ecx, dword [ebp + 0x20]
push esi
push esi
push 0x10
push ecx
call edi
jmp 0x429407
call fcn.00442e0b
push esi
call fcn.0043e4b5
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x38]
push edx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [0x4b1340], ecx
mov dword [0x4b1344], edx
movzx eax, word [0x4b1344]
movzx ecx, word [0x4b1340]
mov ebx, dword [esp + 0x48]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x84
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
movzx eax, word [esp + 0x20]
movzx esi, word [esp + 0x24]
shl esi, 0x10
or esi, eax
push esi
push ebx
push 0x200
push ebx
mov dword [esp + 0x28], eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x42953a
xor ecx, ecx
mov dword [esp + 0x28], ecx
test eax, eax
jle 0x42953a
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], edx
jmp 0x42947a
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x6c]
test ecx, ecx
jl 0x4293d9
cmp ecx, eax
jge 0x4293d9
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x5c], edx
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x84]
push edx
mov dword [esp + 0x68], eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
push eax
push ecx
lea edx, [esp + 0x88]
push edx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x429522
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x80]
movzx ecx, cx
movzx edx, ax
shl ecx, 0x10
or ecx, edx
push ecx
push 1
push 0x200
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x2000001
push ebx
push 0x20
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esp + 0x28]
add dword [esp + 0x14], 0x14
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
jl 0x429472
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x30]
jne 0x4297ae
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x34]
jne 0x4297ae
mov ebx, ebp
call fcn.004215a0
mov dword [esp + 0x14], eax
call fcn.00421660
mov dword [esp + 0x28], eax
call fcn.00421720
mov edx, dword [esp + 0x48]
push esi
push 0x201
push 0x210
push edx
call edi
mov eax, dword [esp + 0x28]
push esi
push 0x201
push 0x210
push eax
call edi
mov ecx, dword [esp + 0x14]
push esi
push 0x201
push 0x210
push ecx
call edi
cmp dword [ebp + 0x26c], 0
jle 0x4295d0
push 4
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edx, dword [esp + 0x24]
sub edx, eax
add dx, word [ebp + 0x26c]
movzx eax, dx
shl eax, 0x10
or eax, dword [esp + 0x18]
push eax
jmp 0x4295d1
push esi
push 0x201
push 0x210
mov ecx, ebp
call fcn.004014d0
push eax
call edi
push 0x2010001
mov ecx, ebp
call fcn.004014d0
push eax
push 0x21
mov ebx, ebp
call fcn.004214e0
push eax
call edi
push 0x2010001
mov ecx, ebp
call fcn.004014d0
push eax
push 0x21
call fcn.00421660
push eax
call edi
push 0x2010001
mov ecx, ebp
call fcn.004014d0
push eax
push 0x21
call fcn.004215a0
push eax
call edi
mov ecx, ebp
call fcn.004014d0
push 0x2010001
push eax
push 0x21
push eax
call edi
push 0
push 1
push 0x1c
mov ecx, ebp
call fcn.004014d0
push eax
call edi
push 0
push 2
push 6
mov ecx, ebp
call fcn.004014d0
push eax
call edi
mov ebx, dword [esp + 0x14]
push 0
push 0
push 7
push ebx
call edi
mov ecx, dword [esp + 0x28]
push 0
push ebx
push 7
push ecx
call edi
mov ebx, dword [esp + 0x48]
push esi
push 1
push 0x201
push ebx
call edi
push esi
push 1
push 0x202
push ebx
call edi
cmp dword [esp + 0x6c], 0
jle 0x4297ae
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x4293d9
cmp eax, dword [esp + 0x6c]
jge 0x4293d9
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x5c], edx
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0x68], eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x60]
push eax
push ebx
lea ecx, [esp + 0xa8]
push ecx
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x429796
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
sub ecx, dword [esp + 0xa4]
mov eax, ebx
sub eax, dword [esp + 0xa0]
test edx, edx
jle 0x429796
movzx ebx, cx
movzx eax, ax
shl ebx, 0x10
or ebx, eax
mov dword [esp + 0x18], edx
jmp 0x429750
push 0x2010001
mov ecx, ebp
call fcn.004014d0
push eax
push 0x21
push esi
call edi
push ebx
push 1
push 0x201
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push esi
push 0
push 0x215
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
push ebx
push 1
push 0x202
push esi
call dword [sym.imp.USER32.dll_PostMessageA]
sub dword [esp + 0x18], 1
jne 0x429750
mov eax, dword [esp + 0x14]
add dword [esp + 0x28], 0x14
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
jl 0x4296ac
mov ecx, dword [esp + 0xc4]
sub ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
inc eax
sar ecx, 3
mov dword [esp + 0x1c], eax
cmp eax, ecx
jb 0x4293a0
cmp dword [0x4b119c], 0
je 0x4297e4
mov ebx, dword [sym.imp.USER32.dll_GetCursorPos]
call fcn.00417860
mov eax, dword [0x4b1164]
mov ecx, dword [0x4b1168]
xor esi, esi
mov dword [0x4b119c], esi
mov dword [0x4b1198], esi
mov dword [0x4b1164], esi
mov dword [0x4b1168], 8
cmp eax, esi
je 0x42981b
push esi
push esi
push ecx
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esp + 0x68]
mov dword [0x4b116c], esi
cmp eax, esi
je 0x429832
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0x108]
xor esi, esi
cmp eax, esi
je 0x429848
push eax
call fcn.004396bc
add esp, 4
mov edx, dword [esp + 0xfc]
push edx
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
call fcn.004396bc
mov eax, dword [esp + 0x134]
add esp, 4
cmp eax, esi
je 0x429881
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0x124]
push eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x13c], esi
call fcn.004396bc
mov eax, dword [esp + 0xc4]
add esp, 4
cmp eax, esi
je 0x4298ba
push eax
call fcn.004396bc
add esp, 4
mov ecx, dword [esp + 0xb4]
push ecx
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
call fcn.004396bc
mov edi, 0x10
add esp, 4
cmp dword [esp + 0x164], edi
jb 0x4298fd
mov edx, dword [esp + 0x150]
push edx
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x164], 0xf
mov dword [esp + 0x160], esi
mov byte [esp + 0x150], 0
cmp eax, esi
je 0x42992b
push eax
call fcn.004396bc
add esp, 4
mov eax, dword [esp + 0xcc]
push eax
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
call fcn.004396bc
mov eax, dword [esp + 0xf4]
add esp, 4
cmp eax, esi
je 0x429964
push eax
call fcn.004396bc
add esp, 4
mov ecx, dword [esp + 0xe4]
push ecx
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
call fcn.004396bc
add esp, 4
cmp dword [esp + 0x234], edi
jb 0x4299a2
mov edx, dword [esp + 0x220]
push edx
call fcn.004396bc
add esp, 4
mov ecx, dword [esp + 0x208]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f0]
xor ecx, esp
call fcn.0045e1a6
add esp, 0x200
ret 0x20