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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a4fd2
mov eax, dword fs:[0]
push eax
sub esp, 0x480
mov eax, dword [0x4c84d4]
xor eax, esp
mov dword [esp + 0x478], eax
push ebx
push esi
push edi
mov eax, dword [0x4c84d4]
xor eax, esp
push eax
lea eax, [esp + 0x490]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x18], edi
call fcn.004664d1
mov eax, dword [edi + 0xa8]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov eax, dword [edi + 0x20]
push 1
push 0x80
push eax
call esi
mov eax, dword [edi + 0xa8]
mov ecx, dword [edi + 0x20]
push eax
push 0
push 0x80
push ecx
call esi
mov edx, dword [edi + 0x20]
push 0
push edx
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.0046debe
mov esi, eax
test esi, esi
je 0x40d5ed
call fcn.0046782c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40d56f
push 0x80004005
call fcn.00408510
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x11
push 0x4ae938
lea ecx, [esp + 0x18]
mov dword [esp + 0x4a0], 0
call fcn.00408b30
mov ebx, dword [esp + 0x10]
cmp dword [ebx - 0xc], 0
je 0x40d5c6
mov ecx, dword [esi + 4]
push 0
push 0
push 0x800
push ecx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov edx, dword [esi + 4]
push ebx
push 0x10
push 0
push edx
call dword [sym.imp.USER32.dll_AppendMenuA]
add ebx, 0xfffffff0
mov dword [esp + 0x498], 0xffffffff
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40d5ed
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
push 0x1156e
push 0x4ada64
push 0x4ae94c
lea ecx, [esp + 0x90]
push 0x400
push ecx
call fcn.0047d912
lea eax, [esp + 0x98]
add esp, 0x14
lea edx, [eax + 1]
jmp 0x40d620
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40d620
sub eax, edx
push eax
lea edx, [esp + 0x88]
lea esi, [edi + 0x74]
push edx
mov ecx, esi
call fcn.00408ca0
cmp dword [esi + 0x18], 0x10
jb 0x40d649
mov esi, dword [esi + 4]
jmp 0x40d64c
add esi, 4
push esi
mov ecx, edi
call fcn.00465750
call fcn.0041dc20
push eax
call fcn.0041dc90
push 0x5c4
call fcn.00460029
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x498], 1
je 0x40d687
push eax
call fcn.0042bd30
jmp 0x40d689
xor eax, eax
mov dword [esp + 0x498], 0xffffffff
mov dword [edi + 0x90], eax
mov edx, dword [eax]
lea esi, [edi + 0xac]
push esi
mov ecx, eax
mov eax, dword [edx + 0x134]
push 0xd6
call eax
push 0x74
call fcn.00460029
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
mov dword [esp + 0x498], 2
je 0x40d6e9
push 0
push 0xb1
mov ecx, ebx
call fcn.00466171
mov dword [ebx], vtable.CProxyDlg.0
mov ecx, ebx
jmp 0x40d6eb
xor ecx, ecx
mov dword [esp + 0x498], 0xffffffff
mov dword [edi + 0x98], ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x134]
push esi
push 0xb1
call eax
push 0x74
call fcn.00460029
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
mov dword [esp + 0x498], 3
je 0x40d743
push 0
push 0xad
mov ecx, ebx
call fcn.00466171
mov dword [ebx], vtable.CSignInfoDlg.0
mov ecx, ebx
jmp 0x40d745
xor ecx, ecx
or ebx, 0xffffffff
mov dword [esp + 0x498], ebx
mov dword [edi + 0x94], ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x134]
push esi
push 0xad
call eax
push 0x168
call fcn.00460029
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x498], 4
je 0x40d78d
push eax
call fcn.00408dd0
jmp 0x40d78f
xor eax, eax
mov dword [esp + 0x498], ebx
mov dword [edi + 0x9c], eax
mov edx, dword [eax]
push esi
mov ecx, eax
mov eax, dword [edx + 0x134]
push 0xd8
call eax
push 0xc8
call fcn.00460029
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x498], 5
je 0x40d7d6
push eax
call fcn.00416e70
jmp 0x40d7d8
xor eax, eax
mov dword [esp + 0x498], ebx
mov dword [edi + 0xa0], eax
mov edx, dword [eax]
push esi
mov ecx, eax
mov eax, dword [edx + 0x134]
push 0xdb
call eax
mov byte [esi + 0x8c], 1
mov dword [esi + 0x74], 0xff0000
mov ecx, dword [edi + 0x94]
mov eax, 0x4ae95c
mov edx, esi
call fcn.00446f00
mov ecx, dword [edi + 0x90]
mov eax, 0x4ae968
mov edx, esi
call fcn.00446f00
mov ecx, dword [edi + 0x98]
mov eax, 0x4ae974
mov edx, esi
call fcn.00446f00
mov ecx, dword [edi + 0x9c]
mov eax, 0x4ae980
mov edx, esi
call fcn.00446f00
mov ecx, dword [edi + 0xa0]
mov eax, 0x4ae98c
mov edx, esi
call fcn.00446f00
call fcn.0046915a
call fcn.0046915a
mov eax, dword [eax + 0xc]
push 0xdd
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
cmp dword [edi + 0x8c], 0x10
jb 0x40d886
mov ecx, dword [edi + 0x78]
jmp 0x40d889
lea ecx, [edi + 0x78]
push eax
push ecx
lea esi, [edi + 0x13c]
mov ebx, edi
call fcn.0044a610
push 0
lea ecx, [esp + 0x30]
push ecx
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov edx, esi
sub edx, ecx
sub edx, dword [esp + 0x2c]
push 8
lea ebx, [edx + eax - 3]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
sub eax, edx
sub edx, dword [esp + 0x24]
sub eax, dword [esp + 0x34]
push edx
add eax, dword [esp + 0x40]
sub ecx, esi
push ecx
push eax
push ebx
push 0
mov ecx, edi
call fcn.004659f5
mov dword [esp + 0x10], 0
lea ebx, [edi + 0x408]
jmp 0x40d914
mov edi, dword [esp + 0x18]
mov ecx, ebx
call fcn.0044aad0
lea ecx, [esp + 0x68]
call fcn.00443fb0
push eax
mov edi, str._skinnote.bmp
lea esi, [esp + 0x50]
mov dword [esp + 0x49c], 6
call fcn.0040a7e0
add esp, 4
mov edi, 0x10
mov byte [esp + 0x498], 7
cmp dword [eax + 0x18], edi
jb 0x40d958
mov eax, dword [eax + 4]
jmp 0x40d95b
add eax, 4
push eax
mov esi, ebx
call fcn.0044ad00
test eax, eax
sete byte [esp + 0x17]
cmp dword [esp + 0x64], edi
jb 0x40d97d
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00460054
add esp, 4
mov dword [esp + 0x498], 0xffffffff
cmp dword [esp + 0x80], edi
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
jb 0x40d9b3
mov edx, dword [esp + 0x6c]
push edx
call fcn.00460054
add esp, 4
cmp byte [esp + 0x17], 0
je 0x40d9c1
mov esi, ebx
call fcn.0044ac50
mov edi, ebx
call fcn.0044aba0
mov eax, dword [ebx + 0x20]
push 0x105
push 0
push 0
push eax
mov dword [ebx + 0x68], 0xffffff
mov dword [ebx + 0x6c], 0xc8
call dword [sym.imp.USER32.dll_RedrawWindow]
mov ecx, dword [ebx + 0x94]
mov eax, dword [ebx + 0x90]
sub ecx, 0x14
mov edx, 0xa
mov dword [esp + 0x3c], edx
mov edx, 0x14
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x40], edx
push ecx
lea edx, [ebx + 0x80]
sub eax, 0xa
push edx
mov dword [esp + 0x4c], eax
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x94]
imul ecx, eax
add eax, 1
mov dword [ebx + 0xd0], ecx
add ebx, 0xdc
cmp eax, 5
mov dword [esp + 0x10], eax
jl 0x40d910
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x94]
call fcn.00465847
xor eax, eax
mov ecx, dword [esp + 0x490]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x478]
xor ecx, esp
call fcn.0047d992
mov esp, ebp
pop ebp
ret