Function at 0x408df6
Capabilities:
Inspect load icon resource

Disassembly:
push ecx
push ecx
test dword [0x4223cc], 0x200
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov byte [0x4226e4], 0
mov ebp, 0x80
jne 0x408e73
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x65
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
mov dword [esp + 0x18], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push 0x65
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov ebx, eax
test ebx, ebx
jne 0x408e58
mov ebx, dword [esp + 0x10]
push dword [esp + 0x10]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push ebp
push dword [esi + 4]
call edi
push ebx
push 0
push ebp
push dword [esi + 4]
call edi
test dword [0x4223cc], 0x4000
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, 0x4b2
je 0x408ef0
push ebx
push dword [esi + 4]
call edi
push ebx
push dword [esi + 4]
mov dword [esp + 0x18], eax
call edi
push 0xfffffffffffffff0
push dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, ebp
push eax
push 0xfffffffffffffff0
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x4b5
push dword [esi + 4]
call edi
push 0x4b5
push dword [esi + 4]
mov dword [esp + 0x1c], eax
call edi
push 0xfffffffffffffff0
push dword [esp + 0x18]
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, ebp
push eax
push 0xfffffffffffffff0
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push dword [esi + 0x10]
push ebx
push dword [esi + 4]
call edi
push eax
mov ecx, esi
call fcn.004078aa
push dword [esi + 0xc]
mov ecx, esi
call fcn.00407ef1
mov eax, dword [esi + 8]
and eax, 3
xor ebp, ebp
sub eax, ebp
je 0x408f8e
dec eax
je 0x408f6a
dec eax
je 0x408f3d
dec eax
jne 0x408fb8
push 0x19
pop ecx
call fcn.00403d74
push eax
push 0x4b3
mov ecx, esi
call fcn.004084b3
push 0x1a
jmp 0x408fa5
push 0x1a
pop ecx
call fcn.00403d74
push eax
mov ebx, 0x4b4
push ebx
mov ecx, esi
call fcn.004084b3
push ebp
push 0x4b3
mov ecx, esi
call fcn.00407956
push ebx
mov ecx, esi
call fcn.0040772f
jmp 0x408fb8
push 0x19
pop ecx
call fcn.00403d74
push eax
push 0x4b3
mov ecx, esi
call fcn.004084b3
push ebp
push 0x4b4
mov ecx, esi
call fcn.00407956
jmp 0x408fb8
push 0x1b
pop ecx
call fcn.00403d74
push eax
push 0x4b3
mov ecx, esi
call fcn.004084b3
push 0x1c
pop ecx
call fcn.00403d74
push eax
push 0x4b4
mov ecx, esi
call fcn.004084b3
cmp dword [esi + 0x38], ebp
je 0x40902b
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
pop ebp
push ebp
push dword [esi + 4]
jmp 0x408fd6
mov ecx, ebx
call fcn.00404bc7
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x408fcc
push ebp
push dword [esi + 4]
jmp 0x408ff2
mov ecx, ebx
call fcn.00404c38
test eax, eax
jne 0x408fde
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x408fe4
push ebp
push dword [esi + 4]
jmp 0x40900a
mov ecx, ebx
call fcn.00403bc5
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x409000
test byte [0x4223cc], 8
jne 0x4090c9
mov ecx, esi
call fcn.00407dcc
jmp 0x4090c9
mov eax, dword [esi + 8]
and eax, 0x1c
cmp eax, 4
je 0x409067
cmp eax, 8
je 0x409060
cmp eax, 0xc
je 0x409059
cmp eax, 0x10
je 0x409052
cmp eax, 0x14
jne 0x40909b
push 0x7f03
push ebp
jmp 0x409071
push 0x7f04
jmp 0x40904f
push 0x7f01
jmp 0x40904f
push 0x7f02
jmp 0x40904f
push 0x65
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
cmp eax, ebp
je 0x40909b
push eax
xor ecx, ecx
inc ecx
push ecx
push 0x172
push 0x4b1
push dword [esi + 4]
mov dword [esi + 0x30], ecx
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4090ab
push ebp
push 0x4b1
mov ecx, esi
mov dword [esi + 0x30], ebp
call fcn.00407956
test byte [0x4223cc], 8
jne 0x4090bb
mov ecx, esi
call fcn.00407dcc
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.0040784c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
pop ecx
ret