Function at 0x47edb0
Capabilities:
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdfc
push ebx
push esi
test dl, dl
je 0x47edc7
add esp, 0xfffffff0
call sub.rtl120.bpl__System__ClassCreate_qqrp17System_TMetaClasso
mov byte [ebp - 1], dl
mov ebx, eax
xor edx, edx
mov eax, ebx
call sub.rtl120.bpl__Classes_TComponent__bctr_qqrp18Classes_TComponent
mov eax, dword [sym.imp.rtl120.bpl__System_IsLibrary]
cmp byte [eax], 0
jne 0x47edf4
push 0
call sub.ole32.dll_OleInitialize
test eax, 0x80000000
sete al
mov byte [ebx + 0x17c], al
mov eax, dword [sym.imp.rtl120.bpl__Classes_ApplicationHandleException]
cmp word [eax + 2], 0
jne 0x47ee0e
mov eax, dword [sym.imp.rtl120.bpl__Classes_ApplicationHandleException]
mov dword [eax + 4], ebx
mov dword [eax], fcn.00480a30
mov eax, dword [sym.imp.rtl120.bpl__Classes_ApplicationShowException]
cmp word [eax + 2], 0
jne 0x47ee28
mov eax, dword [sym.imp.rtl120.bpl__Classes_ApplicationShowException]
mov dword [eax + 4], ebx
mov dword [eax], fcn.00480c40
mov byte [ebx + 0x31], 0
mov dl, 1
mov eax, dword [0x4684c8]
call fcn.00469f48
mov esi, eax
mov dword [ebx + 0x38], esi
mov dword [esi + 0xc], ebx
mov dword [esi + 8], 0x4810c4
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x8c], eax
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0xac], eax
xor eax, eax
mov dword [ebx + 0x5c], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x58], 0xff000018
mov dword [ebx + 0x74], 0x1f4
mov byte [ebx + 0x78], 1
xor eax, eax
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x70], 0x9c4
mov byte [ebx + 0x84], 0
mov byte [ebx + 0xa1], 1
mov byte [ebx + 0xb8], 1
mov dl, 1
mov eax, dword [0x468d20]
call fcn.0046f96c
mov esi, eax
mov dword [ebx + 0x9c], esi
push 0x47f004
mov eax, dword [sym.imp.rtl120.bpl__System_MainInstance]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconW
mov edx, eax
mov eax, esi
call fcn.0046fd70
mov eax, dword [ebx + 0x9c]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], 0x481374
mov dl, 1
mov eax, dword [sym.imp.rtl120.bpl__Classes_TList_]
call sub.rtl120.bpl__System_TObject__bctr_qqrv
mov dword [ebx + 0x94], eax
push pe_nt_image_headers32
lea eax, [ebp - 0x202]
push eax
mov eax, dword [sym.imp.rtl120.bpl__System_MainInstance]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetModuleFileNameW
lea eax, [ebp - 0x202]
mov dx, 0x5c
call sub.rtl120.bpl__Sysutils_StrRScan_qqrpxbb
test eax, eax
je 0x47ef36
lea edx, [eax + 2]
lea eax, [ebp - 0x202]
call sub.rtl120.bpl__Sysutils_StrCopy_qqrpbpxb
lea eax, [ebp - 0x202]
mov dx, 0x2e
call sub.rtl120.bpl__Sysutils_StrScan_qqrpxbb
test eax, eax
je 0x47ef4e
mov word [eax], 0
lea eax, [ebp - 0x202]
push eax
call sub.user32.dll_CharNextW
push eax
call sub.user32.dll_CharLowerW
lea eax, [ebx + 0x88]
lea edx, [ebp - 0x202]
mov ecx, pe_nt_image_headers32
call sub.rtl120.bpl__System__UStrFromWArray_qqrr20System_UnicodeStringpbi
push ebx
push 0x4806b4
call fcn.00475608
mov dword [ebx + 0x178], eax
mov byte [ebx + 0xcc], 0
mov eax, dword [sym.imp.rtl120.bpl__System_IsLibrary]
cmp byte [eax], 0
jne 0x47ef9f
mov eax, ebx
call fcn.0047f178
mov byte [ebx + 0x55], 1
mov byte [ebx + 0x56], 1
mov byte [ebx + 0x57], 1
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xcd], 0
mov byte [ebx + 0xd8], 0
xor eax, eax
mov dword [ebx + 0xd0], eax
mov byte [ebx + 0xcf], 0
xor eax, eax
mov dword [ebx + 0xa4], eax
mov eax, ebx
call fcn.0048159c
mov eax, ebx
call fcn.00482160
mov eax, ebx
cmp byte [ebp - 1], 0
je 0x47effc
call sub.rtl120.bpl__System__AfterConstruction_qqrp14System_TObject
pop dword fs:[0]
add esp, 0xc
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret