Function at 0x403150
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56c68e
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x5f4e20]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
push dword [ebp + 8]
push 0x66
call fcn.004226ed
lea ecx, [edi + 0x9c]
mov dword [ebp - 4], 0
mov dword [edi], vtable.CControllerDlg.0
mov byte [edi + 0x98], 0
call fcn.0041c29d
mov dword [edi + 0x9c], vtable.CButton.0
lea ecx, [edi + 0x110]
mov byte [ebp - 4], 1
call fcn.0041c29d
mov dword [edi + method.CButton.virtual_0], vtable.CButton.0
mov byte [ebp - 4], 2
mov dword [edi + 0x184], 0
mov dword [edi + 0x188], 0
mov dword [edi + 0x18c], 0
mov dword [edi + 0x190], 0
call fcn.004157e7
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40320e
push 0x80004005
call fcn.00401220
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x194], eax
mov byte [ebp - 4], 3
call fcn.004157e7
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40323e
push 0x80004005
call fcn.00401220
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x198], eax
mov byte [ebp - 4], 4
call fcn.004157e7
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40326e
push 0x80004005
call fcn.00401220
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x19c], eax
mov byte [ebp - 4], 5
call fcn.004157e7
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40329e
push 0x80004005
call fcn.00401220
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x1a0], eax
mov byte [ebp - 4], 6
call fcn.004157e7
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4032ce
push 0x80004005
call fcn.00401220
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x1a4], eax
lea ecx, [edi + 0x1a8]
mov byte [ebp - 4], 7
call fcn.0040ba40
lea ecx, [edi + 0x22c]
mov byte [ebp - 4], 8
call fcn.0041c29d
mov dword [edi + method.CProgressCtrl.virtual_0], vtable.CProgressCtrl.0
lea ecx, [edi + 0x2a0]
mov byte [ebp - 4], 9
call fcn.0041c29d
mov dword [edi + method.CStatic.virtual_0], vtable.CStatic.0
mov dword [edi + 0x320], 0
mov dword [edi + method.CBitmap.virtual_0], vtable.CBitmap.0
mov dword [edi + 0x324], 0
mov dword [edi + 0x328], 0
mov dword [edi + 0x32c], 0
mov dword [edi + 0x330], 0
mov word [edi + 0x334], 0
mov byte [ebp - 4], 0xd
mov dword [edi + 0x33c], 0
mov byte [edi + 0x340], 0
call fcn.00415bd0
call fcn.00415bd0
mov eax, dword [eax + 0xc]
push 0x80
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [edi + 0x94], eax
lea eax, [ebp + 8]
push 0xa0
push eax
call fcn.0040e4a0
add esp, 8
push eax
mov ecx, 0x5fa314
mov byte [ebp - 4], 0xe
call fcn.00401f90
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
or esi, 0xffffffff
mov byte [ebp - 4], 0xd
lea ecx, [edx + 0xc]
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4033db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp + 8]
push 0xa1
push eax
call fcn.0040e4a0
add esp, 8
push eax
mov ecx, 0x5fa318
mov byte [ebp - 4], 0xf
call fcn.00401f90
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
mov byte [ebp - 4], 0xd
lea eax, [edx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x403419
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4