Function at 0x4472f8
Capabilities:
Access peb ldr_data

Disassembly:
pop es
push cs
push esp
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x44733b
inc esp
arpl word gs:[edi + 0x64], bp
mov al, byte gs:[0x94005126]
xchg ebx, eax
dec ebx
add byte [eax], al
add byte [ecx], cl
dec eax
jns 0x44732d
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447355
add byte [eax], al
nop
nop
clc
jb 0x44733b
add byte [edi], al
push cs
push esp
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447367
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
cld
push ecx
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447381
add byte [eax], al
nop
nop
and al, 0x73
inc esp
add byte [edi], al
or al, 0x54
push edx
popal
outsb dx, byte [esi]
inc esp
arpl word gs:[edi + 0x64], bp
pop eax
daa
push ecx
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
add byte [ecx], cl
dec eax
jns 0x447383
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x4473ab
add byte [eax], al
dec esp
jae 0x44738f
add byte [edi], al
or al, 0x54
push edx
popal
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
mov ah, 0x27
push ecx
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x4473d3
add byte [eax], al
je 0x4473e5
inc esp
add byte [edi], al
or dl, byte [ebp + ecx*2 + 0x54]
inc esi
inc esp
arpl word gs:[edi + 0x64], bp
adc byte gs:[eax], ch
push ecx
sub byte [ecx], dl
xchg esp, eax
xchg ebx, eax
dec ebx
add byte [eax], al
add byte [ecx], cl
dec eax
jns 0x4473d1
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x4473f9
add byte [eax], al
nop
nop
pushfd
jae 0x4473df
add byte [edi], al
or dl, byte [ebp + ecx*2 + 0x54]
inc esi
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
push 0x94005128
xchg ebx, eax
dec ebx
add byte [eax], al
add byte [ecx], cl
dec eax
jns 0x4473f9
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447421
add byte [eax], al
nop
nop
les esi, [ebx + 0x44]
add byte [edi], al
or dl, byte [edx + eax*2 + 0x57]
push esp
inc esp
arpl word gs:[edi + 0x64], bp
shr byte gs:[eax], 0x51
sub byte [ecx], dl
xchg esp, eax
xchg ebx, eax
dec ebx
add byte [eax], al
add byte [ecx], cl
dec eax
jns 0x447421
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447449
add byte [eax], al
nop
nop
in al, dx
jae 0x44742f
add byte [eax + 0x4473ec90], dl
add byte [edi], al
or dl, byte [edx + eax*2 + 0x57]
push esp
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
sbb byte gs:[ecx], ch
push ecx
add byte [ebx + edx*4 + 0x4b], dl
or dword [eax + 0x79], ecx
inc ebx
sub dword [ecx], edx
xchg esp, eax
xchg ebx, eax
dec ebx
add byte [eax], al
add byte [ecx], cl
dec eax
jns 0x447449
outsd dx, dword [esi]
arpl word [edi + 0x74], bp
je 0x447471
add byte [eax], al
nop
nop
mov ebp, esp
add dword [0x5297ec], 1
jb 0x44742e
pop ebp
ret
pop ebp
ret
mov dword [ebp - 4], eax
mov eax, 0x512970
call fcn.004c0000
mov word [ebp - 0x20], 8
mov ecx, ebx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004ae0c0
add dword [ebp - 0x14], 4
mov eax, dword [ebp - 4]
add eax, 0x24
xor edx, edx
mov dword [eax], edx
inc dword [ebp - 0x14]
and al, 0x33
ror byte [ecx - 0x13ba00f0], cl
mov eax, dword [ebp - 4]
add eax, 0x34
call sym.NDA.exe__THyRGB__bctr_qqrv
mov eax, dword [ebp - 4]
add eax, 0x37
call sym.NDA.exe__THyRGB__bctr_qqrv
mov word [ebp - 0x20], 0x14
mov edx, 0x512928
lea eax, [ebp - 8]
call fcn.004ceebc
inc dword [ebp - 0x14]
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
add eax, 0x24
call fcn.004cf04c
dec dword [ebp - 0x14]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004cf01c
mov ecx, dword [ebp - 4]
xor eax, eax
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 4]
mov ebx, 0x20
mov dword [edx + 0x2c], ebx
mov eax, ebx
imul ebx
lea edx, [eax + eax*2]
push edx
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2c]
mov eax, ebx
imul ebx
push eax
push 0
call sub.KERNEL32.DLL_GlobalAlloc
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
push 0
lea eax, [ebp - 0x34]
xor ecx, ecx
xor edx, edx
call sym.NDA.exe__THyRGB__bctr_qqrucucuc
mov edx, eax
mov eax, dword [ebp - 4]
add eax, 0x34
call sym.NDA.exe__THyRGB__basg_qqrrx6THyRGB
push 0xff
lea eax, [ebp - 0x37]
mov cl, 0xff
mov dl, 0xff
call sym.NDA.exe__THyRGB__bctr_qqrucucuc
mov edx, eax
mov eax, dword [ebp - 4]
add eax, 0x37
call sym.NDA.exe__THyRGB__basg_qqrrx6THyRGB
mov dl, 1
mov eax, dword [0x468ac4]
call fcn.0046e980
mov ecx, dword [ebp - 4]
mov dl, 1
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2c]
mov eax, dword [sym.NDA.exe__THyDib_]
push ebx
push ebx
mov ecx, dword [ebp - 4]
call sym.NDA.exe__THyDib__bctr_qqrp18Classes_TComponentii
mov esi, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], esi
mov eax, esi
call sym.NDA.exe__THyDib_InitDib_qqrv
mov eax, dword [ebp - 4]
call sym.NDA.exe__TTrueFontPat_SetFontPal_qqrv
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [edx + 0x3c]
call sym.NDA.exe__THyDib_SetBitmap_qqrp16Graphics_TBitmap
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [edx + 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [edx + 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0x14]
mov edx, 0xffffff
call fcn.0046a150
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0046a26c
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2c]
mov ecx, edx
neg edx
call fcn.00469b68
mov word [ebp - 0x20], 0x20
mov edx, 0x512929
lea eax, [ebp - 0xc]
call fcn.004ceebc
inc dword [ebp - 0x14]
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0xc]
pop edx
call fcn.00469ba8
dec dword [ebp - 0x14]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004cf01c
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0xc]
mov dl, 2
call fcn.00469c80
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call fcn.0046eeec
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.00469980
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x3c]
call fcn.0046eeec
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [ecx + 0x50], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x54], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
call fcn.0046eeec
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x40], sym.NDA.exe__TTrueFontPat_FontOnChange_qqrp14System_TObject
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x40]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xc], eax
mov edx, dword [ebp - 0x30]
mov dword fs:[0], edx
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x31]
test dl, dl
je 0x4476bd
call fcn.004cf885
pop esi
pop ebx
mov esp, ebp
pop ebp
ret