Function at 0x5a7070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5a7e7e
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
xor edi, edi
mov eax, esi
cmp eax, 0x15
jg 0x5a70ba
je 0x5a70f1
sub eax, 8
je 0x5a70e3
dec eax
je 0x5a70d5
sub eax, 0xb
je 0x5a70c7
jmp 0x5a7129
sub eax, 0x65
je 0x5a70ff
dec eax
je 0x5a710d
dec eax
je 0x5a711b
jmp 0x5a7129
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x150]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x128]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x100]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x178]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x1f0]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x1c8]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x1a0]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.004368c8
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov edx, 0x3e8
mov eax, esi
call fcn.005c5d14
test al, al
je 0x5a7182
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
cmp byte [eax + 0x30], 0
je 0x5a71f2
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
lea ebx, [eax + 0x38]
jmp 0x5a71f2
mov eax, dword [ebp - 4]
cmp dword [eax + 0xcc], 0
je 0x5a71f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc]
mov eax, dword [eax + 0x3c]
call fcn.004368c8
mov ecx, eax
add ecx, 0x7d0
dec ecx
mov edx, 0x7d0
mov eax, esi
call fcn.005c5d14
test al, al
je 0x5a71f2
mov edx, esi
sub edx, 0x7d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc]
mov eax, dword [eax + 0x3c]
call fcn.0059df68
cmp byte [eax + 0x1c], 0
je 0x5a71f2
mov edx, esi
sub edx, 0x7d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc]
mov eax, dword [eax + 0x3c]
call fcn.0059df68
mov edi, eax
mov eax, esi
sub eax, 0x65
jne 0x5a7209
mov eax, dword [ebp - 4]
call fcn.005ae9b8
test al, al
je 0x5a7e63
cmp esi, 0x7d0
jl 0x5a7215
mov al, 1
jmp 0x5a7278
mov eax, esi
add eax, 0xffffff9b
sub eax, 3
jb 0x5a7272
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x88]
cmp byte [eax + 4], 0
jne 0x5a7245
mov eax, dword [ebp - 4]
cmp dword [eax + 0x288], 0
je 0x5a7272
mov eax, dword [ebp - 4]
cmp dword [eax + 0x24c], 0
jne 0x5a7272
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
cmp dword [eax + 0x34], 0
jne 0x5a7272
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
cmp byte [eax + 0x29e], 1
jne 0x5a7276
xor eax, eax
jmp 0x5a7278
mov al, 1
test al, al
jne 0x5a7d40
test ebx, ebx
je 0x5a7d1a
cmp dword [ebx], 0xffffffff
je 0x5a7d1a
mov byte [ebp - 0x15], 0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x98]
jle 0x5a7e63
mov eax, dword [ebp - 4]
call fcn.005af410
mov edi, eax
sub edi, dword [ebx + 8]
push 0xcc0020
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x30]
sub eax, edi
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.0045cbac
call fcn.00457314
push eax
mov eax, dword [ebp - 4]
call fcn.005a65b8
push eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.005a6658
push eax
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0045cbac
call fcn.00457314
push eax
call sub.gdi32.dll_BitBlt
cmp esi, 9
jne 0x5a7344
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
cmp byte [eax + 0x29a], 2
jne 0x5a7344
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edi, dword [eax + 0x7a20]
jmp 0x5a746e
mov eax, esi
sub eax, 0x66
je 0x5a7382
dec eax
jne 0x5a7400
mov edi, dword [ebx + 4]
cmp dword [0x601374], 0
je 0x5a7373
mov eax, dword [0x601374]
mov eax, dword [eax + 0x274]
mov edx, dword [eax]
call dword [edx + 0x58]
xor al, 1
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x5a7e63
jmp 0x5a746e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004d6efc
test eax, eax
je 0x5a73d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004d6efc
cmp byte [eax + 0x29a], 2
jne 0x5a73d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edi, dword [eax + 0x7a34]
test edi, edi
jge 0x5a73dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edi, dword [eax + 0x7a20]
jmp 0x5a73dc
mov edi, dword [ebx + 4]
cmp dword [0x601374], 0
je 0x5a746e
mov eax, dword [0x601374]
mov eax, dword [eax + 0x274]
mov edx, dword [eax]
call dword [edx + 0x5c]
xor al, 1
mov byte [ebp - 0x15], al
jmp 0x5a746e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x5a746b
mov eax, esi
sub eax, 8
je 0x5a7424
dec eax
je 0x5a743a
jmp 0x5a7466
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edi, dword [eax + 0x7a20]
jmp 0x5a746e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edi, dword [eax + 0x7a1c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x274]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
jne 0x5a746e
mov byte [ebp - 0x15], 1
jmp 0x5a746e
mov edi, dword [ebx + 4]
jmp 0x5a746e
mov edi, dword [ebx + 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov edx, edi
call fcn.005cf3cc
test al, al
je 0x5a75b9
cmp esi, 0x3e8
jge 0x5a7521
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x264]
xor al, 1
or al, byte [ebp - 0x15]
and eax, 0x7f
cmp dword [ebx], 0
sete dl
or dl, byte [ebp - 0x15]
and edx, 0x7f
imul edx
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7894]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
xor ecx, ecx
xor edx, edx
call fcn.005c64dc
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x54]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.0040b03c
lea edx, [ebp - 0x54]
mov ecx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0059551c
jmp 0x5a75b9
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
cmp byte [eax + 0xc], 0
je 0x5a75b9
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x264]
xor al, 1
and eax, 0x7f
cmp dword [ebx], 0
sete dl
and edx, 0x7f
imul edx
inc eax
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7894]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
xor ecx, ecx
xor edx, edx
call fcn.005c64dc
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x54]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
call fcn.0040b03c
lea edx, [ebp - 0x54]
mov ecx, dword [ebx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0059551c
cmp esi, 0x3e8
jl 0x5a785e
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
cmp dword [eax + 0x14], 0
je 0x5a785e
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
call fcn.0045ccac
cmp al, 7
jne 0x5a7771
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
pop edx
sub eax, edx
sar eax, 1
jns 0x5a7635
adc eax, 0
cmp dword [ebx], 2
sete dl
and edx, 0x7f
add edx, dword [ebx + 8]
add eax, edx
mov dword [ebp - 0x10], eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
pop edx
sub eax, edx
sar eax, 1
jns 0x5a7676
adc eax, 0
cmp dword [ebx], 2
sete dl
and edx, 0x7f
add edx, dword [ebx + 0xc]
add eax, edx
mov dword [ebp - 0x14], eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.005c64dc
lea eax, [ebp - 0x4c]
push eax
push 1
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x64]
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040b00c
lea eax, [ebp - 0x64]
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x24]
add eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x74]
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0040b00c
lea eax, [ebp - 0x74]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc8]
mov ecx, dword [edx + 0x4c]
pop edx
call fcn.0057b558
jmp 0x5a785e
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
pop edx
sub eax, edx
sar eax, 1
jns 0x5a77a1
adc eax, 0
cmp dword [ebx], 2
sete dl
and edx, 0x7f
add edx, dword [ebx + 0xc]
add eax, edx
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x24]
dec eax
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
call fcn.0045cbac
xor edx, edx
pop ecx
mov edi, dword [eax]
call dword [edi + 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
pop edx
sub eax, edx
sar eax, 1
jns 0x5a7827
adc eax, 0
cmp dword [ebx], 2
sete dl
and edx, 0x7f
add edx, dword [ebx + 8]
add eax, edx
push eax
mov edx, esi
sub edx, 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.005bc594
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
pop ecx
call fcn.0057d5b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
call sub.user32.dll_GetWindowDC
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_SaveDC
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x5a7d13
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x288], 0
je 0x5a79f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x5a796a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x228], 0
je 0x5a78ea
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005b1684
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
call fcn.005a4aa4
add edi, eax
add edi, 4
jmp 0x5a78fa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
call fcn.005c0550
mov edi, eax
push 0xcc0020
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0045cbac
call fcn.00457314
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
push eax
mov eax, dword [ebx + 0xc]
sub eax, edi
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
call fcn.005a4ae0
mov edi, dword [ebx + 8]
sub edi, eax
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005b1684
sub edi, dword [ebp - 0x64]
push edi
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5a7a3e
push 0xcc0020
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0045cbac
call fcn.00457314
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
call fcn.005a4aa4
mov edi, dword [ebx + 0xc]
sub edi, eax
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005b1684
sub edi, dword [ebp - 0x60]
push edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
call fcn.005a4ae0
mov edi, dword [ebx + 8]
sub edi, eax
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 4]
call fcn.005b1684
sub edi, dword [ebp - 0x74]
push edi
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_BitBlt
jmp 0x5a7a3e
push 0xcc0020
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
mov eax, dword [eax + 0x4c]
call fcn.0045cbac
call fcn.00457314
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
push eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
push eax
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_BitBlt
cmp dword [ebx], 1
jne 0x5a7ccb
mov eax, esi
add eax, 0xfffffff8
sub eax, 2
jb 0x5a7a5a
sub eax, 0xa
jne 0x5a7ccb
mov eax, esi
sub eax, 8
je 0x5a7aa1
dec eax
je 0x5a7a85
sub eax, 0xb
jne 0x5a7abe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x10], eax
jmp 0x5a7abe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x10], eax
jmp 0x5a7abe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x5a7ce0
sub esi, 8
je 0x5a7b10
dec esi
je 0x5a7af1
sub esi, 0xb
jne 0x5a7b2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0x14], eax
jmp 0x5a7b2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x14], eax
jmp 0x5a7b2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7890]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x288]
test esi, esi
je 0x5a7b4e
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esi + 0x18]
call fcn.004b7904
push eax
call sub.user32.dll_GetWindowRect
jmp 0x5a7b66
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
lea eax, [ebp - 0x28]
call fcn.0040b168
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5df4
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
lea eax, [ebx + 8]
xor edx, edx
call fcn.005c5e08
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x88]
cmp byte [eax + 4], 0
je 0x5a7ce0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
cmp dword [eax + 0x34], 0
jne 0x5a7ce0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
cmp byte [eax + 0x29e], 1
je 0x5a7ce0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x288], 0
je 0x5a7c5a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7894]
mov edx, dword [ebx + 4]
mov ecx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov edx, dword [eax + edx*8 + 8]
lea eax, [ebp - 0x7c]
mov ecx, 0x5a7e98
call fcn.00407644
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
mov eax, dword [eax + 0x18]
call fcn.004b7904
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x28]
mov ecx, 0x5a7eb0
call fcn.0052fad4
mov dword [ebx + 0x1c], eax
jmp 0x5a7ce0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
call fcn.0058f8fc
mov eax, dword [eax + 0x7894]
mov edx, dword [ebx + 4]
mov ecx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov edx, dword [eax + edx*8 + 8]
lea eax, [ebp - 0x80]
push eax
mov ecx, 0x5a7e98
pop eax
call fcn.00407644
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc8]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x5a7eb0
pop eax
call fcn.0052fad4
mov dword [ebx + 0x1c], eax
jmp 0x5a7ce0
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5a7ce0
lea eax, [ebx + 0x1c]
call fcn.0052fbf8
mov dword [ebx + 0x1c], 0xffffffff
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a7e63
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_RestoreDC
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x26c]
call fcn.004b7904
push eax
call sub.user32.dll_ReleaseDC
ret
test ebx, ebx
je 0x5a7e63
cmp dword [ebx + 0x1c], 0xffffffff
je 0x5a7e63
lea eax, [ebx + 0x1c]
call fcn.0052fbf8
mov dword [ebx + 0x1c], 0xffffffff
jmp 0x5a7e63
test ebx, ebx
je 0x5a7da6
cmp dword [ebx], 0xffffffff
je 0x5a7da6
mov eax, dword [ebx]
mov edx, eax
dec edx
je 0x5a7d55
dec edx
je 0x5a7d70
jmp 0x5a7d8b
push 1
mov edx, dword [ebp - 4]
push edx
push 0
mov edx, eax
mov ecx, 0xa
mov eax, ebx
call fcn.005a47dc
jmp 0x5a7e63
push 1
mov edx, dword [ebp - 4]
push edx
push 0
mov edx, eax
mov ecx, 1
mov eax, ebx
call fcn.005a47dc
jmp 0x5a7e63
push 0
mov edx, dword [ebp - 4]
push edx
push 0
mov edx, eax
mov ecx, 0xa
mov eax, ebx
call fcn.005a47dc
jmp 0x5a7e63
test edi, edi
je 0x5a7e63
mov eax, dword [ebp - 4]
cmp dword [eax + 0x288], 0
je 0x5a7e20
mov eax, edi
call fcn.0059d924
dec eax
je 0x5a7dc9
dec eax
je 0x5a7de6
jmp 0x5a7e03
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
mov eax, dword [eax + 0x18]
push eax
mov cl, 1
mov edx, 0xa
mov eax, edi
call fcn.0059c680
jmp 0x5a7e63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
mov eax, dword [eax + 0x18]
push eax
mov cl, 1
mov edx, 0xa
mov eax, edi
call fcn.0059c680
jmp 0x5a7e63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x288]
mov eax, dword [eax + 0x18]
push eax
xor ecx, ecx
mov edx, 0xa
mov eax, edi
call fcn.0059c680
jmp 0x5a7e63
mov eax, edi
call fcn.0059d924
dec eax
je 0x5a7e2f
dec eax
je 0x5a7e41
jmp 0x5a7e53
push 0
mov cl, 1
mov edx, 0xa
mov eax, edi
call fcn.0059c680
jmp 0x5a7e63
push 0
mov cl, 1
mov edx, 0xa
mov eax, edi
call fcn.0059c680
jmp 0x5a7e63
push 0
xor ecx, ecx
mov edx, 0xa
mov eax, edi
call fcn.0059c680
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5a7e85
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.00407158
ret