Function at 0x408543
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
test dword [0x42cd98], 0x200
push ebx
push esi
push edi
mov edi, ecx
mov byte [0x430269], 0
mov esi, 0x80
jne 0x4085c4
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
mov dword [esp + 0x14], eax
call ebx
push eax
push 0x31
call ebx
push eax
push 1
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov ebx, eax
test ebx, ebx
jne 0x4085ab
mov ebx, dword [esp + 0xc]
push dword [esp + 0xc]
mov eax, edi
push 1
push esi
call fcn.00407df3
push ebx
push 0
push esi
mov eax, edi
call fcn.00407df3
test dword [0x42cd98], 0x4000
mov ebx, 0x4b2
je 0x408627
push 0xfffffffffffffff0
push ebx
mov eax, edi
call fcn.00407dac
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, esi
push eax
push 0xfffffffffffffff0
push ebx
mov eax, edi
call fcn.00407dac
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push 0x4b5
mov eax, edi
call fcn.00407dac
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, esi
push eax
push 0xfffffffffffffff0
push 0x4b5
mov eax, edi
call fcn.00407dac
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [edi + 0x10]
mov eax, edi
push ebx
call fcn.00407ddb
mov eax, dword [edi + 0xc]
push edi
call fcn.00408e93
mov eax, dword [edi + 8]
and eax, 3
xor ebx, ebx
sub eax, ebx
je 0x4086bb
dec eax
je 0x408697
dec eax
je 0x40866c
dec eax
jne 0x4086e3
push 0x19
call fcn.00405235
pop ecx
push eax
push 0x4b3
push edi
call fcn.004089db
push 0x1a
jmp 0x4086d1
push 0x1a
call fcn.00405235
pop ecx
push eax
mov esi, 0x4b4
push esi
push edi
call fcn.004089db
push 0x4b3
xor ecx, ecx
mov eax, edi
call fcn.004088c0
push esi
call fcn.00408331
jmp 0x4086e3
push 0x19
call fcn.00405235
pop ecx
push eax
push 0x4b3
push edi
call fcn.004089db
push 0x4b4
xor ecx, ecx
mov eax, edi
call fcn.004088c0
jmp 0x4086e3
push 0x1b
call fcn.00405235
pop ecx
push eax
push 0x4b3
push edi
call fcn.004089db
push 0x1c
call fcn.00405235
pop ecx
push eax
push 0x4b4
push edi
call fcn.004089db
cmp dword [edi + 0x38], ebx
je 0x408755
mov esi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push dword [edi + 4]
jmp 0x4086ff
push ebx
call fcn.00404c4f
pop ecx
push 2
push ebx
call esi
mov ebx, eax
test ebx, ebx
jne 0x4086f5
push 5
push dword [edi + 4]
jmp 0x40871c
push ebx
call fcn.00404cc4
pop ecx
test eax, eax
jne 0x408707
push 2
push ebx
call esi
mov ebx, eax
test ebx, ebx
jne 0x40870e
push 5
push dword [edi + 4]
jmp 0x408735
push ebx
call fcn.00405082
pop ecx
push 2
push ebx
call esi
mov ebx, eax
test ebx, ebx
jne 0x40872b
test byte [0x42cd98], 8
jne 0x4087f5
push edi
call fcn.00408d58
jmp 0x4087f5
mov eax, dword [edi + 8]
and eax, 0x1c
cmp eax, 4
je 0x408791
cmp eax, 8
je 0x40878a
cmp eax, 0xc
je 0x408783
cmp eax, 0x10
je 0x40877c
cmp eax, 0x14
jne 0x4087c7
push 0x7f03
push ebx
jmp 0x40879b
push 0x7f04
jmp 0x408779
push 0x7f01
jmp 0x408779
push 0x7f02
jmp 0x408779
push 0x65
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
cmp eax, ebx
je 0x4087c7
push eax
xor ecx, ecx
inc ecx
push ecx
push 0x172
push 0x4b1
mov eax, edi
mov dword [edi + 0x30], ecx
call fcn.00407dac
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4087d8
push 0x4b1
xor ecx, ecx
mov eax, edi
mov dword [edi + 0x30], ebx
call fcn.004088c0
test byte [0x42cd98], 8
jne 0x4087e7
push edi
call fcn.00408d58
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
push edi
call fcn.004084d5
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret