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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe0
mov ebx, eax
push 0
lea eax, [esp + 4]
push eax
push 0
push 0x30
call sub.user32.dll_SystemParametersInfoA
xor edx, edx
mov eax, ebx
call fcn.0045e284
mov edx, dword [ebx + 0x330]
mov eax, ebx
call fcn.004459c4
mov edx, dword [ebx + 0x32c]
mov eax, ebx
call fcn.004459a0
mov dx, word [ebx + 0x354]
mov eax, dword [ebx + 0x2fc]
call fcn.004463f0
mov eax, dword [ebx + 0x318]
call fcn.004c7c48
mov dword [ebx + 0x350], eax
mov byte [ebx + 0x31c], 1
mov eax, dword [ebx + 0x350]
sub eax, 1
jb 0x4c7d3e
je 0x4c7d70
dec eax
je 0x4c7dd3
dec eax
je 0x4c7da0
jmp 0x4c7e04
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + 0x6c]
add edx, dword [esp]
mov eax, ebx
call fcn.00445954
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0xc]
sub edx, dword [eax + 0x70]
sub edx, dword [ebx + 0x4c]
sub edx, dword [eax + 0x78]
mov eax, ebx
call fcn.00445978
jmp 0x4c7e04
mov edx, dword [esp + 8]
sub edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x318]
sub edx, dword [eax + 0x6c]
mov eax, ebx
call fcn.00445954
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + 0x70]
add edx, dword [esp + 4]
add edx, dword [eax + 0x78]
mov eax, ebx
call fcn.00445978
jmp 0x4c7e04
mov edx, dword [esp + 8]
sub edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x318]
sub edx, dword [eax + 0x6c]
mov eax, ebx
call fcn.00445954
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0xc]
sub edx, dword [eax + 0x70]
sub edx, dword [ebx + 0x4c]
sub edx, dword [eax + 0x78]
mov eax, ebx
call fcn.00445978
jmp 0x4c7e04
mov edx, dword [esp + 8]
sub edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x318]
sub edx, dword [eax + 0x6c]
mov eax, ebx
call fcn.00445954
mov eax, dword [ebx + 0x318]
mov edx, dword [esp + 0xc]
sub edx, dword [eax + 0x70]
sub edx, dword [ebx + 0x4c]
sub edx, dword [eax + 0x78]
mov eax, ebx
call fcn.00445978
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x78]
mov dword [ebx + 0x314], eax
mov eax, dword [ebx + 0x318]
test byte [eax + 0x62], 2
setne dl
cmp dl, 1
jne 0x4c7e70
mov eax, dword [ebx + 0x350]
cmp eax, 3
je 0x4c7e33
dec eax
jne 0x4c7e4a
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + 0x78]
add edx, dword [ebx + 0x330]
add edx, dword [eax + 0x68]
mov dword [eax + 0x78], edx
jmp 0x4c7e75
mov eax, dword [ebx + 0x350]
cmp eax, 2
je 0x4c7e59
test eax, eax
jne 0x4c7e75
mov eax, dword [ebx + 0x318]
mov edx, dword [eax + 0x78]
add edx, dword [ebx + 0x330]
add edx, dword [eax + 0x68]
mov dword [eax + 0x78], edx
jmp 0x4c7e75
xor edx, edx
mov dword [eax + 0x78], edx
mov edx, dword [ebx + 0x34c]
mov eax, dword [ebx + 0x310]
call fcn.004462d8
mov edx, dword [ebx + 0x324]
mov eax, dword [ebx + 0x310]
call fcn.00446214
mov esi, dword [ebx + 0x40]
mov edi, dword [ebx + 0x44]
mov edx, dword [ebx + 0x48]
neg edx
sub edx, 0xa
mov eax, ebx
call fcn.00445954
mov edx, dword [ebx + 0x4c]
neg edx
sub edx, 0xa
mov eax, ebx
call fcn.00445978
mov dl, 1
mov eax, ebx
call fcn.0045f678
xor edx, edx
mov eax, ebx
call fcn.0045f678
mov edx, esi
mov eax, ebx
call fcn.00445954
mov edx, edi
mov eax, ebx
call fcn.00445978
mov dl, 5
mov eax, dword [ebx + 0x300]
call fcn.004456f8
xor edx, edx
mov eax, dword [ebx + 0x300]
call fcn.004456f8
xor edx, edx
mov eax, dword [ebx + 0x2f8]
call fcn.004456f8
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
je 0x4c8058
mov dl, 1
mov eax, dword [0x422320]
call fcn.00428ab0
mov esi, eax
mov eax, dword [ebx + 0x300]
mov edx, dword [eax + 0x48]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebx + 0x300]
mov edx, dword [eax + 0x4c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp byte [ebx + 0x340], 1
jne 0x4c7fc2
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x20]
mov ebp, eax
test ebp, ebp
jl 0x4c7fc2
inc ebp
xor edi, edi
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x20]
inc eax
push eax
lea eax, [edi + 1]
push eax
mov ecx, dword [ebx + 0x33c]
mov edx, dword [ebx + 0x338]
mov eax, ebx
call fcn.004c82f0
push eax
mov eax, esi
call fcn.00429078
mov eax, dword [eax + 0x10]
pop edx
call fcn.004237b8
mov eax, esi
call fcn.00429078
mov ecx, edi
xor edx, edx
call fcn.00424228
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x2c]
push eax
mov eax, esi
call fcn.00429078
mov ecx, edi
pop edx
call fcn.004241c8
inc edi
dec ebp
jne 0x4c7f66
cmp byte [ebx + 0x340], 0
jne 0x4c8037
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ebp, eax
test ebp, ebp
jl 0x4c8037
inc ebp
xor edi, edi
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x20]
inc eax
push eax
lea eax, [edi + 1]
push eax
mov ecx, dword [ebx + 0x33c]
mov edx, dword [ebx + 0x338]
mov eax, ebx
call fcn.004c82f0
push eax
mov eax, esi
call fcn.00429078
mov eax, dword [eax + 0x10]
pop edx
call fcn.004237b8
mov eax, esi
call fcn.00429078
xor ecx, ecx
mov edx, edi
call fcn.00424228
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
mov eax, esi
call fcn.00429078
mov edx, edi
pop ecx
call fcn.004241c8
inc edi
dec ebp
jne 0x4c7fdb
push esi
mov eax, dword [ebx + 0x300]
call fcn.0043112c
xor ecx, ecx
xor edx, edx
call fcn.00424070
mov eax, esi
call fcn.004033e0
jmp 0x4c814a
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov al, byte [ebx + 0x31d]
sub al, 1
jb 0x4c8084
je 0x4c80aa
dec al
je 0x4c810d
jmp 0x4c814a
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
push eax
mov eax, dword [ebx + 0x300]
call fcn.0043112c
xor ecx, ecx
xor edx, edx
call fcn.00424070
jmp 0x4c814a
xor edi, edi
jmp 0x4c8100
xor esi, esi
jmp 0x4c80e2
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
push eax
mov eax, ebp
call fcn.0043112c
mov ecx, esi
mov edx, edi
call fcn.00424070
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
mov edx, dword [eax]
call dword [edx + 0x20]
add esi, eax
mov ebp, dword [ebx + 0x300]
cmp esi, dword [ebp + 0x4c]
jl 0x4c80b2
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x84]
mov edx, dword [eax]
call dword [edx + 0x2c]
add edi, eax
mov eax, dword [ebx + 0x300]
cmp edi, dword [eax + 0x48]
jl 0x4c80ae
jmp 0x4c814a
mov esi, dword [ebx + 0x300]
mov eax, dword [esi + 0x4c]
push eax
lea eax, [esp + 0x14]
push eax
mov ecx, dword [esi + 0x48]
xor edx, edx
xor eax, eax
call fcn.00417c74
lea eax, [esp + 0x10]
push eax
mov eax, dword [ebx + 0x300]
call fcn.0043112c
mov edx, dword [ebx + 0x318]
mov ecx, dword [edx + 0x84]
pop edx
call fcn.00424320
mov edx, 8
mov eax, dword [ebx + 0x310]
call fcn.00445954
imul edx, dword [ebx + 0x328], 0x3e8
mov eax, dword [ebx + 0x304]
call fcn.004315c4
cmp byte [ebx + 0x334], 0
je 0x4c81ef
mov eax, dword [ebx + 0x318]
call fcn.004c7c48
sub eax, 1
jb 0x4c81bb
je 0x4c8192
dec eax
je 0x4c81c9
dec eax
je 0x4c81a0
jmp 0x4c81e2
mov edx, 1
mov eax, ebx
call fcn.004459c4
jmp 0x4c81e2
mov edx, dword [ebx + 0x44]
add edx, dword [ebx + 0x4c]
mov eax, ebx
call fcn.00445978
mov edx, 1
mov eax, ebx
call fcn.004459c4
jmp 0x4c81e2
mov edx, 1
mov eax, ebx
call fcn.004459a0
jmp 0x4c81e2
mov edx, dword [ebx + 0x40]
add edx, dword [ebx + 0x48]
mov eax, ebx
call fcn.00445954
mov edx, 1
mov eax, ebx
call fcn.004459a0
mov dl, 1
mov eax, dword [ebx + 0x308]
call fcn.004315b4
cmp byte [ebx + 0x334], 0
jne 0x4c8205
mov dl, 1
mov eax, dword [ebx + 0x304]
call fcn.004315b4
mov dl, 3
mov eax, ebx
call fcn.004602f4
push 4
mov eax, ebx
call fcn.0044ca04
push eax
call sub.user32.dll_ShowWindow
mov dl, 1
mov eax, ebx
call fcn.0045f678
mov edx, dword [ebx + 0x348]
mov eax, dword [ebx + 0x2fc]
call fcn.004462d8
mov eax, ebx
call fcn.004c8260
mov edx, dword [ebx + 0x344]
mov eax, dword [ebx + 0x2fc]
call fcn.004462d8
mov eax, ebx
call fcn.004c8260
add esp, 0x20
pop ebp
pop edi
pop esi
pop ebx
ret