Function at 0x506680
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x43
push 0
push 0
dec ecx
jne 0x506688
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x50737c
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x507184
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x53c068]
mov eax, dword [eax]
cmp dword [eax + 8], 0
jne 0x5066cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50718e
mov eax, dword [0x53e5e8]
mov eax, dword [eax + 0x56c]
mov edx, dword [eax]
call dword [edx + 0x3c]
test al, al
jne 0x5066ed
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50718e
lea edx, [ebp - 0x1c]
mov eax, dword [0x53e5e8]
mov eax, dword [eax + 0x56c]
call fcn.00432aa8
mov eax, dword [0x53e5e8]
mov eax, dword [eax + 0x56c]
call fcn.00432b00
sub eax, 2
jb 0x506719
je 0x506736
jmp 0x506751
lea ecx, [ebp - 0x38]
mov edx, 0x507398
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
call fcn.0040456c
jmp 0x506751
lea ecx, [ebp - 0x3c]
mov edx, 0x5073a8
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x1c]
call fcn.0040456c
mov eax, dword [ebp - 0x1c]
call fcn.00409690
test al, al
je 0x506795
push 0x44
push 0x5073b0
push 0x5073b8
mov eax, dword [0x53be4c]
mov eax, dword [eax]
call fcn.00471438
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 7
jne 0x506795
mov eax, dword [ebp - 4]
call fcn.00506680
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50718e
mov eax, dword [0x53be4c]
mov eax, dword [eax]
call fcn.00471438
push eax
call sub.user32.dll_LockWindowUpdate
xor edx, edx
push ebp
push 0x507173
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [0x53c688]
mov edx, dword [edx]
mov eax, dword [0x53c068]
mov eax, dword [eax]
call fcn.0041b028
mov ebx, dword [eax + 0x30c]
lea ecx, [ebp - 0x40]
mov edx, 0xcb
mov eax, ebx
call fcn.00492fa8
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 8]
mov ecx, 0x5073e0
call fcn.00406208
lea ecx, [ebp - 0x44]
mov edx, 0xcb
mov eax, ebx
call fcn.00492fa8
cmp dword [ebp - 0x44], 0
je 0x507155
lea eax, [ebp - 0xc]
call fcn.004061c4
push eax
push 0x5073f0
lea ecx, [ebp - 0x48]
mov edx, 0xcb
mov eax, ebx
call fcn.00492fa8
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [eax]
call dword [eax]
cmp dword [ebp - 0xc], 0
je 0x506861
push 0
push 0
lea eax, [ebp - 0x4c]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.004062d4
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.004062d4
mov dl, 1
mov eax, dword [0x424518]
call fcn.0042afbc
mov dword [ebp - 0x10], eax
mov dl, 6
mov eax, dword [ebp - 0x10]
call fcn.0042c674
lea eax, [ebp - 0x5c]
call fcn.0041088c
push eax
push 0
push 0x507404
lea eax, [ebp - 0x60]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x5c]
call fcn.00411584
mov edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x70]
call fcn.0041088c
push eax
push 0
push 0x507424
lea eax, [ebp - 0x74]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x70]
call fcn.00411584
mov edx, eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x10]
call fcn.0042b584
call fcn.004268a4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x84]
call fcn.0041088c
push eax
push 0
push 0x507440
lea eax, [ebp - 0x88]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x98]
call fcn.0041088c
push eax
push 0
push 0x507460
lea eax, [ebp - 0x9c]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xac]
mov edx, 0x14
mov cl, 1
call fcn.00414dac
lea edx, [ebp - 0xac]
pop eax
call fcn.004171bc
lea edx, [ebp - 0x98]
pop eax
call fcn.004171c8
lea eax, [ebp - 0x84]
call fcn.00412ec8
call fcn.00402d98
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xbc]
call fcn.0041088c
push eax
push 0
push 0x507480
lea eax, [ebp - 0xc0]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xd0]
call fcn.0041088c
push eax
push 0
push 0x50749c
lea eax, [ebp - 0xd4]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xe4]
mov edx, 0x14
mov cl, 1
call fcn.00414dac
lea edx, [ebp - 0xe4]
pop eax
call fcn.004171bc
lea edx, [ebp - 0xd0]
pop eax
call fcn.004171c8
lea eax, [ebp - 0xbc]
call fcn.00412ec8
call fcn.00402d98
test eax, eax
jl 0x506f23
inc eax
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x14]
inc esi
test esi, esi
jl 0x506dfe
inc esi
mov dword [ebp - 0x14], 0
mov dl, 1
mov eax, dword [0x424518]
call fcn.0042afbc
mov ebx, eax
lea eax, [ebp - 0xf4]
call fcn.0041088c
push eax
push 0
push 0x507460
lea eax, [ebp - 0xf8]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0xf8]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0xf4]
call fcn.00411584
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x108]
call fcn.0041088c
push eax
push 0
push 0x50749c
lea eax, [ebp - 0x10c]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x108]
call fcn.00411584
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, ebx
call fcn.0042b584
call fcn.004268a4
mov edi, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00419bd8
push 0
push 0
push 0
lea eax, [ebp - 0x34]
push eax
mov eax, ebx
call fcn.0042b584
call fcn.004268a4
push eax
mov eax, dword [ebp - 4]
call fcn.00471438
push eax
push 0
push 0
push 1
push 1
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
push 0xcc0020
push 2
push 2
push edi
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
lea eax, [ebp - 0x11c]
call fcn.0041088c
push eax
push 0
push 0x5074b8
lea eax, [ebp - 0x120]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x11c]
call fcn.00411584
push eax
lea eax, [ebp - 0x130]
call fcn.0041088c
push eax
push 0
push 0x5074d0
lea eax, [ebp - 0x134]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x130]
call fcn.00411584
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0x144]
call fcn.0041088c
push eax
push 0
push 0x507460
lea eax, [ebp - 0x148]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x148]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x158]
call fcn.0041088c
push eax
push 0
push 0x5074b8
lea eax, [ebp - 0x15c]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea edx, [ebp - 0x158]
pop eax
call fcn.004171b0
lea eax, [ebp - 0x144]
push eax
push 2
call sub.user32.dll_GetSystemMetrics
mov edx, eax
lea eax, [ebp - 0x16c]
mov cl, 0xfc
call fcn.00414dac
lea edx, [ebp - 0x16c]
pop eax
call fcn.004171bc
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x17c]
mov edx, 0x18
mov cl, 1
call fcn.00414dac
lea edx, [ebp - 0x17c]
pop eax
call fcn.004171bc
lea eax, [ebp - 0x144]
call fcn.00411584
push eax
lea eax, [ebp - 0x18c]
call fcn.0041088c
push eax
push 0
push 0x5074d0
lea eax, [ebp - 0x190]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x190]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x18c]
call fcn.00411584
push eax
lea eax, [ebp - 0x194]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.004062d4
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.004062d4
mov eax, ebx
call fcn.0040363c
inc dword [ebp - 0x14]
dec esi
jne 0x506ac3
push 0
lea eax, [ebp - 0x1a4]
call fcn.0041088c
push eax
push 0
push 0x50749c
lea eax, [ebp - 0x1a8]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x1a8]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x1b8]
call fcn.0041088c
push eax
push 0
push 0x5074d0
lea eax, [ebp - 0x1bc]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.004062d4
mov eax, dword [ebp - 0x1bc]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.004062d4
lea edx, [ebp - 0x1b8]
pop eax
call fcn.004171b0
lea eax, [ebp - 0x1a4]
push eax
push 2
call sub.user32.dll_GetSystemMetrics
mov edx, eax
lea eax, [ebp - 0x1cc]
mov cl, 0xfc
call fcn.00414dac
lea edx, [ebp - 0x1cc]
pop eax
call fcn.004171bc
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x1dc]
mov edx, 0x18
mov cl, 1
call fcn.00414dac
lea edx, [ebp - 0x1dc]
pop eax
call fcn.004171bc
lea eax, [ebp - 0x1a4]
call fcn.00411584
push eax
lea eax, [ebp - 0x1e0]
call fcn.004061c4
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x1b0]
call fcn.004062d4
mov eax, dword [ebp - 0x1e0]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.004062d4
dec dword [ebp - 0x24]
jne 0x506aaf
mov dl, 1
mov eax, dword [0x496f78]
call fcn.0049722c
mov ebx, eax
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040363c
mov eax, dword [0x53e5e8]
mov eax, dword [eax + 0x56c]
call fcn.00432b00
sub eax, 2
jb 0x506f63
je 0x506ff5
jmp 0x50714e
lea edx, [ebp - 0x1e8]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x1e8]
lea edx, [ebp - 0x1e4]
call fcn.00408b54
mov eax, dword [ebp - 0x1e4]
mov edx, 0x507398
call fcn.004048e0
je 0x506fe6
lea edx, [ebp - 0x1f0]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x1f0]
lea edx, [ebp - 0x1ec]
call fcn.00408b54
mov eax, dword [ebp - 0x1ec]
mov edx, 0x5074f0
call fcn.004048e0
je 0x506fe6
lea ecx, [ebp - 0x1f4]
mov edx, 0x507398
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov edx, dword [ebp - 0x1f4]
lea eax, [ebp - 0x1c]
call fcn.0040456c
mov edx, dword [ebp - 0x1c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x50]
jmp 0x50714e
lea edx, [ebp - 0x1fc]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x1fc]
lea edx, [ebp - 0x1f8]
call fcn.00408b54
mov eax, dword [ebp - 0x1f8]
mov edx, 0x507398
call fcn.004048e0
je 0x507078
lea edx, [ebp - 0x204]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x204]
lea edx, [ebp - 0x200]
call fcn.00408b54
mov eax, dword [ebp - 0x200]
mov edx, 0x5074f0
call fcn.004048e0
je 0x507078
lea ecx, [ebp - 0x208]
mov edx, 0x507398
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x1c]
call fcn.0040456c
mov edx, dword [ebp - 0x1c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x1c]
call fcn.00409690
test al, al
jne 0x50711f
lea edx, [ebp - 0x210]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x210]
lea edx, [ebp - 0x20c]
call fcn.00408b54
mov eax, dword [ebp - 0x20c]
mov edx, 0x507398
call fcn.004048e0
je 0x507115
lea edx, [ebp - 0x218]
mov eax, dword [ebp - 0x1c]
call fcn.00409a4c
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x214]
call fcn.00408b54
mov eax, dword [ebp - 0x214]
mov edx, 0x5074f0
call fcn.004048e0
je 0x507115
lea ecx, [ebp - 0x21c]
mov edx, 0x507398
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov edx, dword [ebp - 0x21c]
lea eax, [ebp - 0x1c]
call fcn.0040456c
mov edx, dword [ebp - 0x1c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x50]
lea ecx, [ebp - 0x20]
mov edx, 0x5073a8
mov eax, dword [ebp - 0x1c]
call fcn.00409864
mov eax, dword [ebp - 0x20]
call fcn.00404994
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404994
pop edx
call fcn.004bb69c
mov eax, dword [ebp - 0x1c]
call fcn.004097cc
mov eax, ebx
call fcn.0040363c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50717a
push 0
call sub.user32.dll_LockWindowUpdate
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 8]
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x507386
lea eax, [ebp - 0x21c]
mov edx, 0xf
call fcn.004044f8
lea eax, [ebp - 0x1e0]
call fcn.004061c4
lea eax, [ebp - 0x1dc]
mov edx, dword [0x401160]
mov ecx, 2
call fcn.004050e0
lea eax, [ebp - 0x1bc]
call fcn.004061c4
lea eax, [ebp - 0x1b8]
call fcn.0041088c
lea eax, [ebp - 0x1a8]
call fcn.004061c4
lea eax, [ebp - 0x1a4]
call fcn.0041088c
lea eax, [ebp - 0x194]
call fcn.004061c4
lea eax, [ebp - 0x190]
call fcn.004061c4
lea eax, [ebp - 0x18c]
mov edx, dword [0x401160]
mov ecx, 3
call fcn.004050e0
lea eax, [ebp - 0x15c]
call fcn.004061c4
lea eax, [ebp - 0x158]
call fcn.0041088c
lea eax, [ebp - 0x148]
call fcn.004061c4
lea eax, [ebp - 0x144]
call fcn.0041088c
lea eax, [ebp - 0x134]
call fcn.004061c4
lea eax, [ebp - 0x130]
call fcn.0041088c
lea eax, [ebp - 0x120]
call fcn.004061c4
lea eax, [ebp - 0x11c]
call fcn.0041088c
lea eax, [ebp - 0x10c]
call fcn.004061c4
lea eax, [ebp - 0x108]
call fcn.0041088c
lea eax, [ebp - 0xf8]
call fcn.004061c4
lea eax, [ebp - 0xf4]
mov edx, dword [0x401160]
mov ecx, 2
call fcn.004050e0
lea eax, [ebp - 0xd4]
call fcn.004061c4
lea eax, [ebp - 0xd0]
call fcn.0041088c
lea eax, [ebp - 0xc0]
call fcn.004061c4
lea eax, [ebp - 0xbc]
mov edx, dword [0x401160]
mov ecx, 2
call fcn.004050e0
lea eax, [ebp - 0x9c]
call fcn.004061c4
lea eax, [ebp - 0x98]
call fcn.0041088c
lea eax, [ebp - 0x88]
call fcn.004061c4
lea eax, [ebp - 0x84]
call fcn.0041088c
lea eax, [ebp - 0x74]
call fcn.004061c4
lea eax, [ebp - 0x70]
call fcn.0041088c
lea eax, [ebp - 0x60]
call fcn.004061c4
lea eax, [ebp - 0x5c]
call fcn.0041088c
lea eax, [ebp - 0x4c]
call fcn.004061c4
lea eax, [ebp - 0x48]
mov edx, dword [0x40122c]
mov ecx, 3
call fcn.004050e0
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004044f8
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004044f8
lea eax, [ebp - 0xc]
call fcn.004061c4
lea eax, [ebp - 8]
call fcn.004061c4
ret