Function at 0x4097b0
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push ecx
test dword [0x42b3b4], 0x200
push ebx
push esi
push edi
mov esi, ecx
mov byte [0x42c2a0], 0
mov edi, 0x80
jne 0x40982b
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 [ebp - 4], 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 0x409813
mov ebx, dword [ebp - 4]
push dword [ebp - 4]
mov ecx, esi
push 1
push edi
call fcn.004080b2
push ebx
push 0
push edi
mov ecx, esi
call fcn.004080b2
test dword [0x42b3b4], 0x4000
mov ebx, 0x4b2
je 0x40988e
push 0xfffffffffffffff0
push ebx
mov ecx, esi
call fcn.0040809f
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, edi
push eax
push 0xfffffffffffffff0
push ebx
mov ecx, esi
call fcn.0040809f
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push 0x4b5
mov ecx, esi
call fcn.0040809f
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, edi
push eax
push 0xfffffffffffffff0
push 0x4b5
mov ecx, esi
call fcn.0040809f
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [esi + 0x10]
mov ecx, esi
push ebx
call fcn.00408caa
push dword [esi + 0xc]
mov ecx, esi
call fcn.00408fd8
mov eax, dword [esi + 8]
and eax, 3
xor ebx, ebx
sub eax, ebx
je 0x409926
dec eax
je 0x409902
dec eax
je 0x4098d5
dec eax
jne 0x409950
push 0x19
call fcn.00403e07
pop ecx
push eax
push 0x4b3
mov ecx, esi
call fcn.00408fad
push 0x1a
jmp 0x40993d
push 0x1a
call fcn.00403e07
pop ecx
push eax
mov edi, 0x4b4
push edi
mov ecx, esi
call fcn.00408fad
push ebx
push 0x4b3
mov ecx, esi
call fcn.00408412
push edi
mov ecx, esi
call fcn.0040825d
jmp 0x409950
push 0x19
call fcn.00403e07
pop ecx
push eax
push 0x4b3
mov ecx, esi
call fcn.00408fad
push ebx
push 0x4b4
mov ecx, esi
call fcn.00408412
jmp 0x409950
push 0x1b
call fcn.00403e07
pop ecx
push eax
push 0x4b3
mov ecx, esi
call fcn.00408fad
push 0x1c
call fcn.00403e07
pop ecx
push eax
push 0x4b4
mov ecx, esi
call fcn.00408fad
cmp dword [esi + 0x38], ebx
je 0x4099c3
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push dword [esi + 4]
jmp 0x40996c
push ebx
call fcn.0040552a
pop ecx
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x409962
push 5
push dword [esi + 4]
jmp 0x409989
push ebx
call fcn.004055a4
pop ecx
test eax, eax
jne 0x409974
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x40997b
push 5
push dword [esi + 4]
jmp 0x4099a2
push ebx
call fcn.00403c53
pop ecx
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x409998
test byte [0x42b3b4], 8
jne 0x409a63
mov ecx, esi
call fcn.0040887e
jmp 0x409a63
mov eax, dword [esi + 8]
and eax, 0x1c
cmp eax, 4
je 0x4099ff
cmp eax, 8
je 0x4099f8
cmp eax, 0xc
je 0x4099f1
cmp eax, 0x10
je 0x4099ea
cmp eax, 0x14
jne 0x409a35
push 0x7f03
push ebx
jmp 0x409a09
push 0x7f04
jmp 0x4099e7
push 0x7f01
jmp 0x4099e7
push 0x7f02
jmp 0x4099e7
push 0x65
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
cmp eax, ebx
je 0x409a35
xor ecx, ecx
inc ecx
push eax
push ecx
push 0x172
mov dword [esi + 0x30], ecx
push 0x4b1
mov ecx, esi
call fcn.0040809f
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x409a45
push ebx
push 0x4b1
mov ecx, esi
mov dword [esi + 0x30], ebx
call fcn.00408412
test byte [0x42b3b4], 8
jne 0x409a55
mov ecx, esi
call fcn.0040887e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov ecx, esi
call fcn.0040836a
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret