Function at 0x407685
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ecx
test dword [0x418540], 0x200
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov byte [0x418e6e], 0
mov ebp, 0x80
jne 0x407708
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 0x4076ed
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 [0x418540], 0x4000
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, 0x4b2
je 0x407785
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
call fcn.0040795f
mov eax, dword [esi + 0xc]
push esi
call fcn.00407fcb
mov eax, dword [esi + 8]
and eax, 3
xor ebp, ebp
sub eax, ebp
je 0x40781a
dec eax
je 0x4077f7
dec eax
je 0x4077cd
dec eax
jne 0x407840
push 0x19
call fcn.00403592
pop ecx
push eax
push 0x4b3
call fcn.00407b24
push 0x1a
jmp 0x40782f
push 0x1a
call fcn.00403592
pop ecx
push eax
mov ebx, 0x4b4
push ebx
call fcn.00407b24
push 0x4b3
xor ecx, ecx
mov eax, esi
call fcn.00407a09
push ebx
call fcn.00407476
jmp 0x407840
push 0x19
call fcn.00403592
pop ecx
push eax
push 0x4b3
call fcn.00407b24
push 0x4b4
xor ecx, ecx
mov eax, esi
call fcn.00407a09
jmp 0x407840
push 0x1b
call fcn.00403592
pop ecx
push eax
push 0x4b3
call fcn.00407b24
push 0x1c
call fcn.00403592
pop ecx
push eax
push 0x4b4
call fcn.00407b24
cmp dword [esi + 0x38], ebp
je 0x4078b2
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
pop ebp
push ebp
push dword [esi + 4]
jmp 0x40785e
push ebx
call fcn.00402ff8
pop ecx
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x407854
push ebp
push dword [esi + 4]
jmp 0x40787a
mov eax, ebx
call fcn.0040306c
test eax, eax
jne 0x407866
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x40786c
push ebp
push dword [esi + 4]
jmp 0x407892
push ebx
call fcn.00403423
pop ecx
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x407888
test byte [0x418540], 8
jne 0x407950
push esi
call fcn.00407e96
jmp 0x407950
mov eax, dword [esi + 8]
and eax, 0x1c
cmp eax, 4
je 0x4078ee
cmp eax, 8
je 0x4078e7
cmp eax, 0xc
je 0x4078e0
cmp eax, 0x10
je 0x4078d9
cmp eax, 0x14
jne 0x407922
push 0x7f03
push ebp
jmp 0x4078f8
push 0x7f04
jmp 0x4078d6
push 0x7f01
jmp 0x4078d6
push 0x7f02
jmp 0x4078d6
push 0x65
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
cmp eax, ebp
je 0x407922
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 0x407933
push 0x4b1
xor ecx, ecx
mov eax, esi
mov dword [esi + 0x30], ebp
call fcn.00407a09
test byte [0x418540], 8
jne 0x407942
push esi
call fcn.00407e96
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x28]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
call fcn.0040762b
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret