Function at 0x51287a
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x5f4e24]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebx]
mov esi, dword [eax + 0x1dc]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
test eax, eax
je 0x512bbb
mov eax, dword [ebx + 0x300]
push edi
lea edi, [ebx + 0x20]
test eax, eax
je 0x5128c4
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [ebx + 0x2fc]
xor esi, esi
test eax, eax
je 0x5128df
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebx + 0x2fc], esi
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], esi
push eax
push dword [edi]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [ebp + 0xc], esi
je 0x512911
cmp dword [0x5fd8ac], esi
jne 0x512911
call fcn.00449d3a
cmp dword [eax + 0x180], esi
je 0x51293d
mov eax, dword [ebx]
mov esi, dword [eax + 0x164]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
test eax, eax
je 0x512931
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
jmp 0x512937
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
mov dword [ebx + 0x308], eax
cmp dword [ebp + 0xc], 0
mov eax, dword [ebx]
jne 0x512981
lea edi, [ebx + 0x30c]
lea esi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [eax + 0x39c]
xor edi, edi
push edi
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
push edi
mov ecx, ebx
call fcn.004377f2
push edi
push dword [ebx + 0x350]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x512bba
mov esi, dword [eax + 0x19c]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
push eax
mov ecx, 0x5f477c
call fcn.004da16f
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], eax
test esi, esi
je 0x5129db
push 0
push ebx
mov ecx, eax
call fcn.004c6f36
push 0
mov ecx, ebx
call fcn.0050f98a
mov ecx, dword [ebp - 0x18]
push eax
call fcn.004c5263
push 5
mov ecx, ebx
call fcn.004377f2
push 5
push dword [ebx + 0x350]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push dword [ebx + 0x350]
call dword [sym.imp.USER32.dll_BringWindowToTop]
cmp dword [ebx + 0x328], 1
jne 0x512a04
mov ecx, dword [ebp - 0x18]
push 1
push 0
call fcn.004c58bd
xor eax, eax
test esi, esi
push 0
push dword [0x5f49e0]
setne al
add eax, 0xec01
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebx + 0x300], eax
cmp dword [0x5fd8ac], 0
jne 0x512ba9
call fcn.00449d3a
cmp dword [eax + 0x180], 0
jne 0x512ba9
mov eax, dword [ebx + 0x328]
cmp eax, 1
jne 0x512add
mov eax, dword [ebx]
mov esi, dword [eax + 0x19c]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00438a53
mov eax, dword [ebx]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
mov edi, 0xa000
test edi, eax
je 0x512a99
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
jmp 0x512a9f
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
cdq
idiv dword [0x5f49dc]
cmp eax, 1
jl 0x512b65
mov eax, dword [ebx]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
test edi, eax
je 0x512ad2
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
jmp 0x512b9c
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
jmp 0x512b9c
cmp eax, 2
jne 0x512ba9
test esi, esi
jne 0x512b22
cmp dword [ebx + 0x31c], esi
jne 0x512b22
add ebx, 0x30c
lea esi, [ebp - 0x14]
mov edi, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 0x19c]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, edi
call esi
push ebx
mov ecx, eax
call fcn.00438a53
mov ebx, edi
mov eax, dword [ebx]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
mov edi, 0xa000
test edi, eax
je 0x512b4d
mov eax, dword [ebx + 0x318]
sub eax, dword [ebx + 0x310]
jmp 0x512b59
mov eax, dword [ebx + 0x314]
sub eax, dword [ebx + 0x30c]
cdq
idiv dword [0x5f49dc]
cmp eax, 1
jge 0x512b6a
xor eax, eax
inc eax
jmp 0x512ba3
mov eax, dword [ebx]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5a1a14]
mov ecx, ebx
call esi
test edi, eax
je 0x512b90
mov eax, dword [ebx + 0x318]
sub eax, dword [ebx + 0x310]
jmp 0x512b9c
mov eax, dword [ebx + 0x314]
sub eax, dword [ebx + 0x30c]
cdq
idiv dword [0x5f49dc]
mov dword [ebx + 0x308], eax
and dword [ebx + 0x304], 0
mov dword [ebx + 0x31c], 1
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.005638db
leave
ret 8