Function at 0x415ac8
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
push esi
push edi
push ebp
push 0x415dee
push dword fs:[0]
mov dword fs:[0], esp
imul ebx, ebx, 0
or ebx, dword [ebp + 8]
add ebx, dword [ebx + 0x3c]
lea eax, [0]
push eax
push 0x86ad3b28
ror dword [esp], 2
push 0x7fe374b9
xor dword [esp], 0x7fe341c3
push 0x65d9000
rol dword [esp], 0x14
push 0x180
ror dword [esp], 6
call sub.gdi32.dll_CombineRgn
pop eax
push eax
push dword [ebx + 0x50]
push eax
push 0x8000040
push eax
push 0xfae66d25
xor dword [esp], 0x51992da
push dword [0x418010]
pop eax
call eax
test eax, eax
je 0x415e88
push eax
pop dword [ebp - 4]
lea eax, [0]
push eax
push 0x527f0
rol dword [esp], 0x1c
push 0x6c240000
ror dword [esp], 0x10
call sub.gdi32.dll_PaintRgn
pop eax
push eax
push eax
push eax
push 0xf001f
push dword [ebp - 4]
push dword [0x418014]
pop eax
call eax
test eax, eax
je 0x415e43
mov dword [ebp - 8], 0
xor dword [ebp - 8], eax
cld
xor esi, esi
xor esi, dword [ebp + 8]
sub edi, edi
or edi, dword [ebp - 8]
sub ecx, ecx
xor ecx, dword [ebx + 0x54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
movzx edx, word [ebx + 6]
mov eax, ebx
add eax, 0xf8
shr ecx, 0x1f
shr ecx, 1
add ecx, dword [eax + 0x10]
imul esi, esi, 0
add esi, dword [eax + 0x14]
mov edi, dword [eax + 0xc]
add esi, dword [ebp + 8]
add edi, dword [ebp - 8]
rep movsb byte es:[edi], byte [esi]
add eax, 0x28
dec edx
jne 0x415bb1
cmp dword [ebx + 0xa0], 0
je 0x415c4d
shl eax, 0x1f
shl eax, 1
or eax, dword [ebx + 0xa0]
add eax, dword [ebp - 8]
shl ecx, 0x1f
shl ecx, 1
add ecx, dword [ebx + 0xa4]
test ecx, ecx
je 0x415c4d
sub ecx, dword [eax + 4]
push ecx
and edx, 0
xor edx, dword [ebp + 0xc]
sub edx, dword [ebx + 0x34]
push edx
sub edx, edx
add edx, eax
add edx, 8
push edx
mov edx, dword [eax + 4]
sub edx, 8
shr edx, 1
push edx
push 0
pop edx
or edx, dword [eax]
add edx, dword [ebp - 8]
push edx
push eax
push 0x7d5091d9
rol dword [esp], 6
push 0x320f585
xor dword [esp], 0x3208639
call sub.gdi32.dll_SetLayout
pop eax
and eax, 0
xor eax, dword [0x418028]
call eax
pop ecx
test eax, eax
jne 0x415bf2
cmp dword [ebx + 0x80], 0
je 0x415d6d
mov edi, dword [ebx + 0x80]
add edi, dword [ebp - 8]
cmp dword [edi + 0x10], 0
je 0x415d6d
mov eax, dword [edi + 0xc]
add eax, dword [ebp - 8]
push eax
push 0x6ee40000
ror dword [esp], 0x10
push 0xc00013bb
rol dword [esp], 2
call sub.user32.dll_GetWindowRgn
pop eax
push eax
imul eax, eax, 0
or eax, dword [0x418018]
call eax
test eax, eax
je 0x415df6
mov dword [ebp - 0x4c], 0
or dword [ebp - 0x4c], eax
push edi
mov eax, dword [edi]
cmp eax, 0
je 0x415cb9
imul esi, esi, 0
add esi, dword [edi]
jmp 0x415cbd
push dword [edi + 0x10]
pop esi
add esi, dword [ebp - 8]
mov edi, dword [edi + 0x10]
add edi, dword [ebp - 8]
cmp dword [edi], 0
je 0x415d5e
lodsd eax, dword [esi]
test eax, 0x80000000
jne 0x415ce2
add eax, dword [ebp - 8]
add eax, 1
sub eax, 0xffffffff
jmp 0x415ce7
and eax, 0x7fffffff
push eax
push 0xf6760a08
rol dword [esp], 0x12
push 0x631e5ad7
xor dword [esp], 0x7f54d48
push 0x1632e055
xor dword [esp], 0x351f35b4
push 0x1246d45d
sub dword [esp], 0xb03980c0
push 0x1226b265
rol dword [esp], 4
push 0
push 0
push 0x51e860a5
xor dword [esp], 0x51e84924
push 0xa015117d
sub dword [esp], 0xa01495ce
call sub.user32.dll_GrayStringA
pop eax
push eax
push dword [ebp - 0x4c]
shr eax, 0x1f
shr eax, 1
or eax, dword [0x41801c]
call eax
stosd dword es:[edi], eax
jae 0x415cc6
jb 0x415cc6
pop edi
add edi, 0x14
jl 0x415c63
jmp 0x415c63
mov edi, dword fs:[0x30]
mov edi, dword [edi + 0xc]
mov edi, dword [edi + 0x14]
sub esi, esi
xor esi, dword [ebp + 0xc]
shl eax, 0x1f
shl eax, 1
or eax, dword [edi + 0x10]
cmp eax, 0
je 0x415dcc
cmp esi, eax
je 0x415d95
push dword [edi]
pop edi
jmp 0x415d7f
push dword [ebx + 0x28]
pop eax
test eax, eax
je 0x415da0
add eax, dword [ebp + 0xc]
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x50]
push 0
pop dword [edi + 0x18]
or dword [edi + 0x18], eax
lea ebx, [0]
add ebx, dword [ebp - 8]
add ebx, dword [ebx + 0x3c]
sub eax, eax
xor eax, dword [ebp + 0xc]
push 0
pop dword [ebx + 0x34]
add dword [ebx + 0x34], eax
push eax
push 0x52b33924
xor dword [esp], 0x52b34f64
call sub.gdi32.dll_FillPath
pop eax
push dword [ebp - 8]
mov eax, dword [0x418020]
call eax
jmp 0x415e88
push eax
push 0x4a5c629
rol dword [esp], 6
push 0x36c1b7b5
ror dword [esp], 0x16
push 0xb94bdd5a
sub dword [esp], 0x6e63dae0
push 0x92c670d
ror dword [esp], 0x12
push 0x68402124
ror dword [esp], 0xc
push 0x368f88c9
rol dword [esp], 0x12
call sub.gdi32.dll_CreateRoundRectRgn
pop eax
push dword [ebp - 8]
xor eax, eax
or eax, dword [0x418020]
call eax
push eax
push 0x6b6885b6
rol dword [esp], 0x14
push 0x5c8d7e7c
xor dword [esp], 0x5c8d6755
push 0x5407d001
sub dword [esp], 0x54078d23
push 0xb8000000
rol dword [esp], 0xa
call sub.gdi32.dll_CombineRgn
pop eax
push dword [ebp - 4]
mov eax, dword [0x418024]
call eax
push 0
pop eax
push eax
pop dword [ebp - 4]
push eax
push 0x73b9a88b
sub dword [esp], 0x56fd113f
push 0xf1195f7
sub dword [esp], 0xa80c4fc6
push 0xe10084d6
sub dword [esp], 0x71908399
push 0x63d1835
ror dword [esp], 0xa
push 0xe345d23b
ror dword [esp], 0x18
push 0x55affb7f
rol dword [esp], 4
push 0x48bba4ae
rol dword [esp], 0x16
push 0x61bdb5c7
ror dword [esp], 0xa
push 0x15a2000
ror dword [esp], 0xc
call sub.gdi32.dll_Pie
pop eax
push 0x8000
push 0
push dword [ebp + 8]
shl eax, 0x1f
shl eax, 1
xor eax, dword [0x41800c]
call eax
pop dword fs:[0]
add esp, 8
xor eax, eax
add eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 8