Function at 0x512ee0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x582c24
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0xd8], edi
cmp eax, 0x111
ja 0x513350
je 0x513304
cmp eax, 0x4e
ja 0x512fee
je 0x512fdc
mov ecx, eax
sub ecx, 2
je 0x512fbe
sub ecx, 3
jne 0x513561
movzx eax, si
mov dword [ebp - 0xd8], eax
call fcn.0040baa0
push 0x60
push dword [eax + 0xc]
push 4
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ebx, eax
lea eax, [ebp - 0x74]
push eax
push dword [edi + 0x64]
call dword [sym.imp.USER32.dll_GetClientRect]
push 1
push dword [ebp - 0x68]
push dword [ebp - 0xd8]
push 0
push 0
push dword [edi + 0x64]
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [edi + 0x74]
test ecx, ecx
je 0x51380d
mov eax, dword [ebp - 0x68]
shr esi, 0x10
push 1
sub esi, eax
add eax, ebx
sub esi, ebx
push esi
push dword [ebp - 0xd8]
push eax
push 0
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
jmp 0x51380d
push dword [edi + 0x64]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [edi + 0x68]
lea ecx, [edi + 0x68]
call dword [eax + 8]
mov ecx, edi
call fcn.004cefa0
jmp 0x51380d
push esi
mov ecx, edi
call fcn.005121f0
mov eax, 1
jmp 0x51380f
cmp eax, 0x7b
je 0x5132df
cmp eax, 0x110
jne 0x513561
call fcn.0040baa0
push 0
push dword [edi + 4]
mov ebx, eax
push 0
push dword [edi + 0xc]
push 0
push 0
push 0
push 0
push 0x50009931
push 0
push str.ToolbarWindow32
push 0x400000
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [edi + 4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0xe0]
push ecx
push 1
push 0x413
push eax
mov dword [edi + 0x64], eax
mov dword [ebp - 0xdc], 0x262
call esi
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xdc], 0x263
push eax
push 1
push 0x413
push dword [edi + 0x64]
call esi
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xdc], 0x264
push eax
push 1
push 0x413
push dword [edi + 0x64]
call esi
push 0
push 0x14
push 0x41e
push dword [edi + 0x64]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x44], 0x1004
mov dword [ebp - 0x3c], 0x5883b8
mov dword [ebp - 0x34], 2
mov dword [ebp - 0x38], 1
mov word [ebp - 0x30], 0x1004
mov dword [ebp - 0x28], 0x5883b8
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x24], 2
mov word [ebp - 0x1c], 0x1004
mov dword [ebp - 0x14], 0x5883b8
call esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
push dword [ebx + 0xc]
push 0x14
call esi
push 0x60
push dword [ebx + 0x10]
mov edi, eax
push 0x14
call esi
mov ebx, dword [ebp - 0xd8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
movzx ecx, ax
shl ecx, 0x10
movzx eax, di
or ecx, eax
push ecx
push 0
push 0x41f
push dword [ebx + 0x64]
call esi
push 0x14
push 0
push 0x457
push dword [ebx + 0x64]
call esi
lea eax, [ebp - 0x4c]
push eax
push 3
push 0x444
push dword [ebx + 0x64]
call esi
push 0
push 0
push 0x421
push dword [ebx + 0x64]
call esi
push 5
push dword [ebx + 0x64]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, ebx
call fcn.00511ac0
mov eax, dword [ebx + 0x68]
lea ecx, [ebx + 0x68]
push 0xdcb
push dword [ebx + 0xc]
push dword [ebx + 4]
call dword [eax + 0x30]
push 0x25e
push 0x25d
push 0x25c
push 0x261
push 0x260
mov ecx, ebx
call fcn.00513cd0
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0
push eax
lea ecx, [ebx + 0x94]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 1
push eax
lea ecx, [ebx + 0x94]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 2
push eax
lea ecx, [ebx + 0x94]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 3
push eax
lea ecx, [ebx + 0x94]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 4
push eax
lea ecx, [ebx + 0x94]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0
push eax
lea ecx, [ebx + 0x88]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 1
push eax
lea ecx, [ebx + 0x88]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 2
push eax
lea ecx, [ebx + 0x88]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 3
push eax
lea ecx, [ebx + 0x88]
call fcn.00514e20
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd8], 4
push eax
lea ecx, [ebx + 0x88]
call fcn.00514e20
push 0
lea ecx, [ebx + 0x68]
call fcn.004f7ed0
mov eax, dword [ebx + 0x68]
lea ecx, [ebx + 0x68]
push 1
call dword [eax + 0xc]
mov eax, 1
jmp 0x51380f
cmp byte [edi + 0x84], 0
jne 0x5132fa
mov eax, esi
mov ecx, edi
shr eax, 0x10
cwde
push eax
movsx eax, si
push eax
call fcn.00513e10
mov eax, 1
jmp 0x51380f
movzx ecx, word [ebp + 0x10]
mov eax, ecx
sub eax, 1
je 0x513344
sub eax, 1
je 0x513335
sub eax, 1
je 0x513326
push ecx
mov ecx, edi
call fcn.00512690
jmp 0x51380d
push 0
lea ecx, [edi + 0x68]
call fcn.004f7be0
jmp 0x51380d
push 1
lea ecx, [edi + 0x68]
call fcn.004f7be0
jmp 0x51380d
mov ecx, edi
call fcn.00513830
jmp 0x51380d
cmp eax, 0x800
ja 0x51354e
je 0x5133b0
mov ecx, eax
sub ecx, 0x200
je 0x513389
sub ecx, 2
jne 0x513561
cmp byte [edi + 0x84], cl
je 0x51380d
lea ecx, [edi + 0x68]
call fcn.004f7a40
jmp 0x51380d
cmp byte [edi + 0x84], 0
je 0x51380d
mov eax, esi
lea ecx, [edi + 0x68]
shr eax, 0x10
push eax
movzx eax, si
push eax
push dword [edi + 0xc]
call fcn.004f79b0
jmp 0x51380d
push esi
lea ecx, [ebp - 0xe4]
call fcn.0044edf0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x64]
push 0x594f9c
call fcn.004029a0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x5133e0
lea eax, [ebp - 0x64]
push dword [ebp - 0x54]
mov esi, dword [ebp - 0xe4]
mov ecx, esi
push 0
push eax
call fcn.00424e50
mov ebx, eax
cmp ebx, 0xffffffff
je 0x513530
mov eax, dword [esi + 0x10]
mov ecx, esi
dec eax
push eax
mov eax, dword [ebp - 0x54]
add eax, ebx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040c490
mov byte [ebp - 4], 2
lea eax, [ebp - 0xbc]
push 0x5c
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00513ef0
add esp, 0xc
mov byte [ebp - 4], 3
lea eax, [ebp - 0xa4]
push ebx
push 0
push eax
mov ecx, esi
call fcn.0040c490
mov byte [ebp - 4], 4
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0x8c], ax
lea ecx, [ebp - 0x8c]
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
push eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
call fcn.00406ac0
mov byte [ebp - 4], 5
lea eax, [ebx + 1]
push eax
push 0
lea eax, [ebp - 0xd4]
mov ecx, esi
push eax
call fcn.0040c490
mov byte [ebp - 4], 6
lea eax, [ebp - 0xbc]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xd4]
call fcn.00406650
sub esp, 0xc
lea eax, [ebp - 0x70]
mov ecx, esp
mov dword [ebp - 0xd8], esp
push eax
call fcn.0044edf0
mov byte [ebp - 4], 7
lea eax, [ebp - 0xd4]
push 0
push eax
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 6
mov ecx, edi
call fcn.0050f5b0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xd4]
call fcn.004038c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c]
call fcn.004038c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa4]
call fcn.004038c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call fcn.00403aa0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbc]
call fcn.004038c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x64]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
jmp 0x513808
mov ecx, eax
sub ecx, 0x801
je 0x513721
sub ecx, 1
je 0x5135a2
cmp eax, 0x4e
jne 0x51380d
mov eax, dword [esi]
cmp eax, dword [edi + 8]
jne 0x51380d
movzx eax, word [esi + 8]
sub eax, 0x41c
je 0x513592
sub eax, 1
jne 0x51380d
mov byte [edi + 0x28], 1
jmp 0x51380d
movzx eax, word [esi + 0xa]
mov dword [edi + 0x2c], eax
mov byte [edi + 0x28], 0
jmp 0x51380d
push esi
lea ecx, [ebp - 0x70]
call fcn.0044edf0
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x64]
push 0x594f9c
call fcn.004029a0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x5135cf
lea eax, [ebp - 0x64]
push dword [ebp - 0x54]
mov esi, dword [ebp - 0x70]
mov ecx, esi
push 0
push eax
call fcn.00424e50
mov ebx, eax
cmp ebx, 0xffffffff
je 0x513718
mov ecx, dword [esi + 0x10]
lea eax, [ebp - 0xa4]
dec ecx
push ecx
mov ecx, dword [ebp - 0x54]
add ecx, ebx
push ecx
push eax
mov ecx, esi
call fcn.0040c490
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0xa4]
push 0x5c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00513ef0
add esp, 0xc
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0xbc]
push ebx
push 0
push eax
mov ecx, esi
call fcn.0040c490
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x513641
lea eax, [ebp - 0x64]
mov ebx, dword [ebp - 0x54]
lea ecx, [esi + 0x18]
push ebx
push 0
push eax
call fcn.00424e50
mov ecx, eax
cmp ecx, 0xffffffff
je 0x5136ee
mov eax, dword [esi + 0x28]
dec eax
push eax
lea eax, [ebx + ecx]
push eax
lea eax, [ebp - 0xd4]
push eax
lea ecx, [esi + 0x18]
call fcn.0040c490
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0xd4]
push 0x5c
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.00513ef0
add esp, 0xc
mov byte [ebp - 4], 0x13
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
sub ecx, esi
imul ecx
mov ecx, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
push eax
lea eax, [ebp - 0x80]
push eax
push 0
lea eax, [ebp - 0xbc]
push eax
call fcn.00512df0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xe4]
call fcn.00403aa0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xd4]
call fcn.004038c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xbc]
call fcn.004038c0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x80]
call fcn.00403aa0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa4]
call fcn.004038c0
mov byte [ebp - 4], 0xd
jmp 0x5137f6
push esi
lea ecx, [ebp - 0x70]
call fcn.0044edf0
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x64]
push 0x594f9c
call fcn.004029a0
mov byte [ebp - 4], 9
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x51374e
lea eax, [ebp - 0x64]
push dword [ebp - 0x54]
mov esi, dword [ebp - 0x70]
mov ecx, esi
push 0
push eax
call fcn.00424e50
mov ebx, eax
cmp ebx, 0xffffffff
je 0x5137f2
mov eax, dword [esi + 0x10]
mov ecx, esi
dec eax
push eax
mov eax, dword [ebp - 0x54]
add eax, ebx
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040c490
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0xa4]
push 0x5c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00513ef0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xbc]
push ebx
push 0
push eax
mov ecx, esi
call fcn.0040c490
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x80]
push eax
push 0
lea eax, [ebp - 0xbc]
mov ecx, edi
push eax
call fcn.00510820
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbc]
call fcn.004038c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x80]
call fcn.00403aa0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa4]
call fcn.004038c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00403aa0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 0x10