Function at 0x406944
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ecx
test word [0x423f68], 0x200
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push ebp
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_LoadIconW]
mov esi, ecx
mov byte [0x424ff6], 0
jne 0x4069d3
push 0x65
push 0
call ebx
push eax
call edi
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0x32
mov dword [esp + 0x18], eax
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x65
push 0
call ebx
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4069ae
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
push dword [esp + 0x10]
mov ebp, 0x80
push 1
push ebp
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esp + 0x14]
push 0
push ebp
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 0x10]
push 0x4b2
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.00406baf
mov eax, dword [esi + 0xc]
push esi
call fcn.004071e5
mov eax, dword [esi + 8]
and eax, 3
xor ebp, ebp
sub eax, ebp
je 0x406a6e
dec eax
je 0x406a4b
dec eax
je 0x406a23
dec eax
jne 0x406a94
push 0x19
call fcn.00403364
pop ecx
push eax
push 0x4b3
call fcn.00406d74
push 0x1a
jmp 0x406a83
push 0x1a
call fcn.00403364
pop ecx
push eax
push 0x4b4
call fcn.00406d74
push 0x4b3
xor ecx, ecx
mov eax, esi
call fcn.00406c59
call fcn.00406739
jmp 0x406a94
push 0x19
call fcn.00403364
pop ecx
push eax
push 0x4b3
call fcn.00406d74
push 0x4b4
xor ecx, ecx
mov eax, esi
call fcn.00406c59
jmp 0x406a94
push 0x1b
call fcn.00403364
pop ecx
push eax
push 0x4b3
call fcn.00406d74
push 0x1c
call fcn.00403364
pop ecx
push eax
push 0x4b4
call fcn.00406d74
cmp dword [esi + 0x38], ebp
je 0x406b06
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
pop ebx
push ebx
push dword [esi + 4]
jmp 0x406ab2
push ebp
call fcn.00402d93
pop ecx
push 2
push ebp
call edi
mov ebp, eax
test ebp, ebp
jne 0x406aa8
push ebx
push dword [esi + 4]
jmp 0x406ace
mov eax, ebp
call fcn.00402e07
test eax, eax
jne 0x406aba
push 2
push ebp
call edi
mov ebp, eax
test ebp, ebp
jne 0x406ac0
push ebx
push dword [esi + 4]
jmp 0x406ae6
push ebx
call fcn.004031be
pop ecx
push 2
push ebx
call edi
mov ebx, eax
test ebx, ebx
jne 0x406adc
test byte [0x423f68], 8
jne 0x406ba0
push esi
call fcn.004070b0
jmp 0x406ba0
mov eax, dword [esi + 8]
and eax, 0x1c
cmp eax, 4
je 0x406b42
cmp eax, 8
je 0x406b3b
cmp eax, 0xc
je 0x406b34
cmp eax, 0x10
je 0x406b2d
cmp eax, 0x14
jne 0x406b72
push 0x7f03
push ebp
jmp 0x406b48
push 0x7f04
jmp 0x406b2a
push 0x7f01
jmp 0x406b2a
push 0x7f02
jmp 0x406b2a
push 0x65
push ebp
call ebx
push eax
call edi
cmp eax, ebp
je 0x406b72
push eax
xor ecx, ecx
inc ecx
push ecx
push 0x172
push 0x4b1
push dword [esi + 4]
mov dword [esi + 0x30], ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x406b83
push 0x4b1
xor ecx, ecx
mov eax, esi
mov dword [esi + 0x30], ebp
call fcn.00406c59
test byte [0x423f68], 8
jne 0x406b92
push esi
call fcn.004070b0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
call fcn.004068ea
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret