Function at 0x55e88c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x55ee0f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x340], 0
je 0x55e8bf
mov eax, dword [ebp - 4]
add eax, 0x340
call fcn.0040fff4
xor ecx, ecx
mov dl, 1
mov eax, dword [0x45a6e0]
call fcn.0045d1c8
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x340], ebx
mov byte [ebx + 0x1f8], 1
mov eax, ebx
mov dl, 0x80
call fcn.00461dc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov dl, 1
call fcn.00461db4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov byte [eax + 0x231], 0
xor edx, edx
call fcn.0045e920
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x370]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.00443cc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov edx, dword [ebp - 4]
mov dword [eax + 0xdc], edx
mov dword [eax + 0xd8], 0x5628c4
xor eax, eax
push ebp
push 0x55ea70
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32c], 0
je 0x55e98e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x328]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x30]
call fcn.00558dfc
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x308]
mov edx, dword [edx + 0x19c]
mov ecx, dword [eax]
call dword [ecx]
jmp 0x55e9bf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x328]
inc edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x30]
call fcn.00558dfc
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x308]
mov edx, dword [edx + 0x19c]
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3d8], 0
je 0x55ea00
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x328]
add edx, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x30]
call fcn.00558dfc
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x30c]
mov edx, dword [edx + 0x19c]
mov ecx, dword [eax]
call dword [ecx]
jmp 0x55ea33
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x328]
add edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x30]
call fcn.00558dfc
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x30c]
mov edx, dword [edx + 0x19c]
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x328]
add edx, 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x304]
mov eax, dword [eax + 0x30]
call fcn.00558dfc
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x310]
mov edx, dword [edx + 0x19c]
mov ecx, dword [eax]
call dword [ecx]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55ea7a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
xor edx, edx
call fcn.0044325c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov edx, dword [eax + 0x40]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
call fcn.0044325c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax + 0x40]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0044325c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
xor edx, edx
call fcn.00443280
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
xor edx, edx
call fcn.00443280
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
xor edx, edx
call fcn.00443280
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax + 0x40]
add edx, dword [eax + 0x48]
mov dword [ebp - 8], edx
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.004434b4
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov eax, 3
call fcn.00562b64
mov dword [ebp - 0x14], eax
mov eax, 5
call fcn.00562b64
mov eax, 6
call fcn.00562b64
mov dword [ebp - 0x18], eax
mov eax, 0xa
call fcn.00562b64
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x3c4]
sar edi, 1
jns 0x55eb6a
adc edi, 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3d8], 0
je 0x55ebc7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov dl, 0x50
call fcn.00461dc8
mov eax, 0xc8
call fcn.00562b64
mov edx, ebx
sub edx, eax
mov eax, dword [ebp - 0x10]
add eax, ebx
add eax, dword [ebp - 8]
sar eax, 1
jns 0x55eba3
adc eax, 0
call fcn.0042ff80
mov ebx, eax
mov eax, dword [ebp - 0xc]
add eax, esi
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, ebx
sub eax, dword [ebp - 8]
mov ecx, ebx
mov edx, esi
call fcn.0041bba4
jmp 0x55ecb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
cmp eax, 1
je 0x55ebda
cmp eax, 3
jne 0x55ec19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov dl, 0x50
call fcn.00461dc8
lea eax, [edi + esi]
add eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
sub ecx, edi
sub ecx, dword [ebp - 0x14]
lea edx, [edi + esi]
add edx, dword [ebp - 0x14]
mov eax, ebx
sub eax, edi
sub eax, dword [ebp - 0x14]
sub eax, dword [ebp - 8]
call fcn.0041bba4
jmp 0x55ecb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
cmp eax, 2
je 0x55ec2c
cmp eax, 4
jne 0x55ec6a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov dl, 0x50
call fcn.00461dc8
lea eax, [edi + esi]
add eax, dword [ebp - 0x18]
add eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
sub ecx, edi
sub ecx, dword [ebp - 0x18]
dec ecx
lea edx, [edi + esi]
add edx, dword [ebp - 0x18]
mov eax, ebx
sub eax, edi
sub eax, dword [ebp - 0x18]
sub eax, dword [ebp - 8]
dec eax
call fcn.0041bba4
jmp 0x55ecb9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
mov dl, 0x96
call fcn.00461dc8
mov eax, esi
sub eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c4]
sar edx, 1
jns 0x55ec8f
adc edx, 0
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3a4]
call fcn.0042ff80
mov esi, eax
mov eax, dword [ebp - 0xc]
add eax, esi
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, ebx
sub eax, dword [ebp - 8]
mov ecx, ebx
mov edx, esi
call fcn.0041bba4
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.004434d4
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x340]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x340]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x340]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov dl, 1
call fcn.00443a40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30c]
mov dl, 1
call fcn.00443a40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov dl, 1
call fcn.00443a40
xor eax, eax
push ebp
push 0x55edc3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xbffcffff
or eax, 0x80000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
push eax
call sub.user32.dll_SetWindowLongA
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80
or eax, 8
push eax
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
push eax
call sub.user32.dll_SetWindowLongA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55edcd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0055d584
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x340]
call fcn.0044a1b0
push eax
call sub.user32.dll_SetWindowPos
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55ee19
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret