Function at 0x40ade0
Capabilities:
Inspect load icon resource

Disassembly:
test dword [0x4293b4], 0x200
push ebx
push esi
push edi
mov esi, ecx
mov byte [0x42a240], 0
jne 0x40ae56
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
mov ebx, eax
call edi
push eax
push 0x31
call edi
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 edi, eax
test edi, edi
jne 0x40ae38
mov edi, ebx
push ebx
push 1
push 0x80
mov ecx, esi
call fcn.00409350
push edi
push 0
push 0x80
mov ecx, esi
call fcn.00409350
test dword [0x4293b4], 0x4000
je 0x40aebe
push 0xfffffffffffffff0
push 0x4b2
mov ecx, esi
call fcn.00409330
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
push eax
call edi
or eax, 0x80
push eax
push 0xfffffffffffffff0
push 0x4b2
mov ecx, esi
call fcn.00409330
mov ebx, dword [sym.imp.USER32.dll_SetWindowLongW]
push eax
call ebx
push 0xfffffffffffffff0
push 0x4b5
mov ecx, esi
call fcn.00409330
push eax
call edi
or eax, 0x80
push eax
push 0xfffffffffffffff0
push 0x4b5
mov ecx, esi
call fcn.00409330
push eax
call ebx
mov eax, dword [esi + 0x10]
push eax
push 0x4b2
mov ecx, esi
call fcn.0040a0f0
mov ecx, dword [esi + 0xc]
push ecx
mov ecx, esi
call fcn.0040a480
mov eax, dword [esi + 8]
and eax, 3
cmp eax, 3
ja case.default.0x40aee8
jmp dword [eax*4 + 0x40b0ec]
push 0x1b
call fcn.00404950
add esp, 4
push eax
push 0x4b3
mov ecx, esi
call fcn.0040a450
push 0x1c
jmp 0x40af7d
push 0x19
call fcn.00404950
add esp, 4
push eax
push 0x4b3
mov ecx, esi
call fcn.0040a450
push 0
push 0x4b4
mov ecx, esi
call fcn.00409780
jmp case.default.0x40aee8
push 0x1a
call fcn.00404950
add esp, 4
push eax
push 0x4b4
mov ecx, esi
call fcn.0040a450
push 0
push 0x4b3
mov ecx, esi
call fcn.00409780
push 0x4b4
mov ecx, esi
call fcn.00409590
jmp case.default.0x40aee8
push 0x19
call fcn.00404950
add esp, 4
push eax
push 0x4b3
mov ecx, esi
call fcn.0040a450
push 0x1a
call fcn.00404950
add esp, 4
push eax
push 0x4b4
mov ecx, esi
call fcn.0040a450
cmp dword [esi + 0x38], 0
je 0x40b035
mov edx, dword [esi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetWindow]
push 5
push edx
call ebx
mov edi, eax
test edi, edi
je 0x40afc4
push edi
call fcn.004062f0
add esp, 4
push 2
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x40afb0
mov eax, dword [esi + 4]
push 5
push eax
call ebx
mov edi, eax
test edi, edi
je 0x40aff2
push edi
call fcn.00406370
add esp, 4
test eax, eax
je 0x40afe7
mov ecx, dword [esi + 4]
push 5
push ecx
jmp 0x40afea
push 2
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x40afd2
mov edx, dword [esi + 4]
push 5
push edx
call ebx
mov edi, eax
test edi, edi
je 0x40b014
push edi
call fcn.00404780
add esp, 4
push 2
push edi
call ebx
mov edi, eax
test edi, edi
jne 0x40b000
test byte [0x4293b4], 8
jne 0x40b0df
mov ecx, esi
call fcn.00409c40
mov ecx, esi
call fcn.004096c0
pop edi
pop esi
xor eax, eax
pop ebx
ret
mov eax, dword [esi + 8]
and eax, 0x1c
add eax, 0xfffffffc
cmp eax, 0x10
ja case.0x40b04a.5
movzx eax, byte [eax + 0x40b114]
jmp dword [eax*4 + 0x40b0fc]
push 0x65
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
jmp 0x40b07a
push 0x7f02
jmp 0x40b078
push 0x7f01
jmp 0x40b078
push 0x7f04
jmp 0x40b078
push 0x7f03
push 0
call dword [sym.imp.USER32.dll_LoadIconW]
test eax, eax
je case.0x40b04a.5
push eax
push 1
push 0x172
push 0x4b1
mov ecx, esi
mov dword [esi + 0x30], 1
call fcn.00409330
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x40b0bd
push 0
push 0x4b1
mov ecx, esi
mov dword [esi + 0x30], 0
call fcn.00409780
test byte [0x4293b4], 8
jne 0x40b0cd
mov ecx, esi
call fcn.00409c40
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
mov ecx, esi
call fcn.004096c0
pop edi
pop esi
xor eax, eax
pop ebx
ret