Function at 0x612f50
Capabilities:
Encode data using xor

Disassembly:
pop es
or dl, byte [ebx + esi*2 + 0x43]
outsd dx, dword [esi]
insd dword es:[edi], dx
bound ebp, qword [edi + 0x42]
outsd dx, dword [esi]
js 0x612fd5
sub eax, 0x2c0c0061
popal
add byte [ebx], ch
or dword [ebx + 0x43], esi
outsd dx, dword [esi]
insd dword es:[edi], dx
bound ebp, qword [edi + 0x42]
outsd dx, dword [esi]
js 0x612fa9
add al, bh
fimul dword [ebx]
loopne 0x612f7b
add bh, bh
loopne 0x612f7f
add eax, dword [eax]
inc dword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
pushal
add byte [ebx], cl
inc ecx
jne 0x613004
outsd dx, dword [esi]
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x612ffb
push ebp
jo 0x612f91
fimul dword [ebx]
loope 0x612fa1
add bh, bh
loope 0x612fa5
add eax, dword [eax]
inc dword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
popal
add byte [ecx + eax*2], cl
jne 0x61302a
outsd dx, dword [esi]
inc esp
jb 0x613029
jo 0x613000
outsd dx, dword [esi]
ja 0x61302d
sub byte [ecx + ecx*2], bl
add byte [edi], bl
add bh, bh
jo 0x612fc9
add dh, bh
pop eax
stosd dword es:[edi], eax
push edx
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x42080018], al
imul eax, dword [ecx + ebp*2 + 0x4d], 0x6c65646f
dec edx
dec ebp
add byte [ecx + 2], dh
add bh, bh
lodsb al, byte [esi]
invalid
add byte [eax], cl
inc ebx
push 0x61437261
jb 0x613045
popal
jae 0x61306a
in al, dx
in al, dx
mov al, byte [0x6c004f]
add bh, bh
in al, 0xab
push edx
add byte [eax], dh
neg dword [ecx]
add byte [eax], al
add byte [eax - 0xfffffb], al
inc edx
add byte [0x6f6c6f43], al
jb 0x612fae
inc esi
push edx
add byte [eax], dh
jo 0x61302b
add byte [eax], al
push dword [eax + 0x10052d7]
add bh, bh
mov al, 0xd7
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x430b001b], al
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x6130b9
jb 0x6130a8
imul ebp, dword [esi + 0x74], 0x4bdaf873
add cl, ah
add dword [eax], eax
call esp
xor eax, 0x35f80053
push ebx
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4305001c], al
je 0x6130d5
xor eax, dword [eax + edi*8 - 0x26]
dec ebx
add byte [0xb4ff0003], cl
inc esp
clc
fimul dword [ebx]
or eax, 0xb4ff0003
push ebp
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
bound eax, qword [eax]
or eax, dword [ecx + ebp*2 + 0x72]
arpl word gs:[ecx + ecx*2 + 0x6e], si
jo 0x613105
je 0x6130ce
cmp byte [edx], dl
jp 0x613097
add bh, bh
jp 0x61309b
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0xc], al
push ds
call [esi]
add byte [edx], cl
inc esp
jb 0x613110
inc ebx
jne 0x613125
jae 0x613124
jb 0x6130e7
inc ebp
push edx
add byte [ebx - 0x74010000], cl
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
pop ds
add byte [eax], cl
inc esp
jb 0x613135
dec ebx
dec ebx
imul ebp, dword [esi + 0x64], 0x5244a8
enter 0x529b, 0
pushal
add byte [eax], al
inc byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [eax], al
or byte [edx + esi*2 + 0x61], al
dec ebp
outsd dx, dword [esi]
fisttp dword fs:[ebx]
add byte [ebx], 0
inc dword [eax + 0x1ff0003]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], 0
adc byte [eax], al
add byte [eax], al
push ebp
add byte [0x706f7244], cl
inc esp
outsd dx, dword [esi]
ja 0x61318d
inc ebx
outsd dx, dword [esi]
jne 0x613191
je 0x61311d
clc
fimul dword [ebx]
mov ah, 3
add bh, bh
mov ah, 3
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
arpl word [eax], ax
or eax, dword [edx + esi*2 + 0x6f]
jo 0x61318d
outsb dx, byte [esi]
jo 0x6131b3
popal
arpl word [ebp - 8], sp
fimul dword [ebx]
dec esp
add byte [eax], al
invalid
dec esp
add byte [eax + 0x30ff0003], dh
dec edi
popal
add bh, bh
xor byte [edi + 0x61], cl
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x49060064], al
insd dword es:[edi], dx
popal
jae 0x613191
push edi
push edx
add ah, al
add dword [eax], eax
inc esp
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], 0
add byte [eax], al
and al, byte [eax]
pop es
dec ecx
insd dword es:[edi], dx
dec ebp
outsd dx, dword [esi]
je 0x613228
push edx
add al, cl
add dword [eax], eax
dec eax
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x49070023], al
insd dword es:[edi], dx
dec esi
popal
insd dword es:[edi], dx
fisttp dword fs:[ebx]
nop
add eax, dword [eax]
dec dword [ecx + eax + 0x1fe00]
add byte [eax], al
add byte [eax], al
add byte [eax - 1], al
add byte gs:[ecx], cl
dec ecx
je 0x613273
insd dword es:[edi], dx
dec ecx
outsb dx, byte [esi]
js 0x613279
fisttp dword [ebx]
mov al, byte [0xa0ff0003]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [edx], cl
dec ecx
je 0x613297
insd dword es:[edi], dx
dec eax
imul esp, dword gs:[edi + 0x68], 0x492b8474
add al, al
add eax, dword [eax]
inc dword [esi + esi*2 + 0x10061]
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
add byte [di], al
dec ecx
je 0x6132bc
insd dword es:[edi], dx
jae 0x6132be
fisttp dword [ebx]
enter 0x4ece, 0
ror dh, 1
dec esi
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
and al, 0
or dword [ebp + 0x61], ecx
js 0x6132c4
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x6132e5
clc
fimul dword [ebx]
pushal
add byte [eax], al
jmp [eax + eax]
push cs
push eax
popal
jb 0x613301
outsb dx, byte [esi]
je 0x6132e1
imul eax, dword [ecx + ebp*2 + 0x4d], 0xf865646f
fimul dword [ebx]
pop edx
add byte [eax], al
invalid
add byte [eax], al
add byte es:[ebx], cl
push eax
popal
jb 0x61332a
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x61330b
outsd dx, dword [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
jb 0x6132c5
fimul dword [ebx]
in eax, 1
add bh, bh
adc byte [esi], dh
push ebx
add dword [eax], eax
call dword [eax]
push ebx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
daa
add byte [eax], al
add byte [edi], ah
add byte [ebx], cl
push eax
popal
jb 0x613350
outsb dx, byte [esi]
je 0x613331
je 0x61335c
xor eax, dword [eax + edi*8 - 0x26]
dec ebx
add byte [ecx], bl
add bh, bh
pushal
stosd dword es:[edi], eax
push edx
add byte [edi + esi*8 + 0x59], cl
add byte [eax + 1], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
inc esp
add byte [edx], cl
push eax
popal
jb 0x613376
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x61335a
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x613310
fimul dword [ebx]
mov al, byte [eax]
add bh, bh
test al, 0xab
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
sub byte [eax], al
add byte [esi], cl
push cs
push eax
popal
jb 0x61339b
outsb dx, byte [esi]
je 0x61338c
push 0x6948776f
outsb dx, byte [esi]
je 0x6132d1
dec esp
dec esi
add byte [eax + eax], bh
dec dword [eax]
stosb byte es:[edi], al
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x50090029], al
add byte [eax], al
add byte [eax - 0x80000000], al
sub dword [eax], eax
or dword [eax + 0x6f], edx
outsd dx, dword [esi]
jo 0x6133d4
jo 0x6133ae
outsb dx, byte gs:[esi]
jne 0x61335d
fimul dword [ebx]
mov dword [eax], eax
add bh, bh
test byte [ebx - 0x54b3ffae], ch
push edx
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5308002a], al
push 0x6948776f
outsb dx, byte [esi]
je 0x613330
add byte [eax - 0x80000000], al
sub al, byte [eax]
or byte [ebx + 0x68], dl
outsd dx, dword [esi]
ja 0x6133cc
imul ebp, dword [esi + 0x74], 0x4d67a8
fadd dword [ebx]
add bh, bh
les esi, [esi + 0x61]
dec ebp
add al, bl
add eax, dword [eax]
inc esp
jbe 0x6133f3
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
push 0x74530500
jns 0x613412
inc ebp
push edx
add byte [esi + esi], bh
push ebx
add byte [esi + esi + 0x10053], bh
add byte [eax], al
add byte [eax], al
add byte [eax - 1], al
sub eax, dword [eax]
or byte [ecx + 0x62], dl
dec edi
jb 0x61342c
push ebx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp bh, 0xff
invalid
popal
bound ecx, qword [edi + 0x72]
jb 0x6133c3
jb 0x6133c3
fimul dword [ebx]
loopne 0x6133d1
dec ebx
add al, ah
add dword [eax], eax
add bh, bh
aam 0x36
call esp
push ebx
push ebx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
sldt word [edi]
push esp
popal
bound edx, qword [ebx + 0x74]
outsd dx, dword [esi]
jo 0x6133b1
or dword [ecx], ecx
mov esp, 0x50004ec9
retf 0x4e
add byte [eax - 0x36], dl
dec esi
add byte [eax + 0x50], ch
popal
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x54040069], al
js 0x61347f
clc
fimul dword [ebx]
push edi
add byte [eax], al
push dword [ecx + ebp*4 + 0x52]
add byte [ebx + edx*8], bh
push edx
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
add byte [eax + 1], al
sub al, 0
pop es
push esi
imul esi, dword [ebx + 0x69], 0xc8656c62
sbb eax, 0x1380049
enter 0x491d, 0
cmp byte [ecx], al
add bh, bh
cmp byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
inc eax
add byte [edi + ecx*2], cl
outsb dx, byte [esi]
dec ebp
outsd dx, dword [esi]
jne 0x6134c1
inc ebp
outsb dx, byte [esi]
je 0x6134b8
jb 0x61341d
sbb eax, 0x1300049
add bh, bh
xor byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
inc ecx
add byte [edi + ecx*2], cl
outsb dx, byte [esi]
dec ebp
outsd dx, dword [esi]
jne 0x6134e8
dec esp
popal
jbe 0x6134e0
enter 0x491d, 0
js 0x613483
add bh, bh
js 0x613487
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
sub eax, 0x6e4f0800
inc ebx
push 0x65676e61
enter 0x491d, 0
adc byte [ecx], al
add bh, bh
adc byte [ecx], al
add bh, bh
pop esp
rcl dword [edx], cl
add byte [eax], al
add byte [eax - 0x80000000], al
add byte cs:[edi], al
add byte [eax], al
add byte [eax + 0x4f07002e], al
pop es
dec edi
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x525188
and byte [ecx], al
add bh, bh
and byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
dec esp
add byte [esi], cl
dec edi
outsb dx, byte [esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
push ecx
push edx
add byte [eax], ah
add dword [eax], eax
jmp dword [eax]
je 0x613547
js 0x613558
push eax
outsd dx, dword [esi]
jo 0x61355d
jo 0x6134b2
sbb eax, 0x1180049
add bh, bh
sbb byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
das
add byte [edx], cl
dec edi
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0a002f], al
outsb dx, byte [esi]
inc esp
bound ebp, qword [ebx + eax*2 + 0x6c]
imul esp, dword [ebx + 0x6b], 0x524c4c
fadd dword [eax]
add bh, bh
fadd dword [eax]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
xor byte [eax], al
or cl, byte [edi + 0x6e]
inc esp
jb 0x61358f
inc esp
jb 0x6135a1
jo 0x6134f8
dec ebx
push edx
add al, ah
add byte [eax], al
jmp eax
add byte [eax], al
add byte [eax + 0x4f0a0031], al
outsb dx, byte [esi]
inc esp
jb 0x6135b4
dec edi
jbe 0x6135bc
jb 0x6134f5
pushfd
arpl word [ebp], cx
mov byte [ebx], al
add bh, bh
mov byte [ebx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
push 0
or cl, byte [edi + 0x6e]
add eax, dword [eax]
dec dword [eax + 0x1ff0003]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0a006a], al
outsb dx, byte [esi]
inc esp
jb 0x6135d9
ja 0x6135c3
je 0x6135e1
insd dword es:[edi], dx
enter 0x491d, 0
js 0x613586
add bh, bh
js 0x61358a
add eax, dword [eax]
inc dword [ecx]
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0a0058], al
add byte [eax - 0x80000000], al
pop eax
add byte [edx], cl
dec edi
outsb dx, byte [esi]
inc esp
jb 0x61360c
jo 0x6135e3
outsd dx, dword [esi]
ja 0x613610
outsb dx, byte [esi]
hlt
add byte [eax - 0x80000000], al
xor al, byte [eax]
or dword [edi + 0x6e], ecx
inc ebp
outsb dx, byte [esi]
inc esp
outsd dx, dword [esi]
arpl word [ebx - 0xc], bp
dec esp
push edx
add byte [eax], cl
add dword [eax], eax
dec dword [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f090033], al
dec edi
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
inc esp
jb 0x61364a
enter 0x491d, 0
clc
add dword [eax], eax
invalid
enter 0x491d, 0
add byte [edx], al
add bh, bh
add byte [edx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
xor eax, 0x6e4f0600
inc ebp
js 0x613695
je 0x61366a
dec ebx
push edx
add byte [eax], dl
add al, byte [eax]
call dword [eax]
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f090036], al
outsb dx, byte [esi]
dec ebx
jns 0x613692
inc esp
outsd dx, dword [esi]
ja 0x6136bf
mov byte [ebx + 0x52], cl
add byte [eax], bl
add al, byte [eax]
call [eax]
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0a0037], al
add byte [edx], cl
dec edi
outsb dx, byte [esi]
dec ebx
jns 0x6136c2
jb 0x6136d9
jae 0x6136e9
cmp al, 0x4b
push edx
add byte [eax], ah
add al, byte [eax]
jmp dword [eax]
outsb dx, byte [esi]
dec ebx
jns 0x6136ec
jns 0x6136ec
jo 0x61364d
dec esi
push edx
add al, dh
add byte [eax], al
push eax
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0b003c], al
outsb dx, byte [esi]
push ebx
je 0x613719
jb 0x61372e
inc esp
outsd dx, dword [esi]
arpl word [ebx - 0x54], bp
dec esp
push edx
add byte [eax], al
add dword [eax], eax
inc dword [eax]
add dword [eax], eax
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f0b003d], al
add byte [ecx], al
add bh, bh
add byte [ecx], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
cmp eax, 0x6e4f0b00
dec edi
outsb dx, byte [esi]
push ebx
je 0x61373f
jb sym.StartupControl.exe__Scombobox_TacCustomCombo_AddItem_qqr20System_UnicodeStringp14System_TObject
inc esp
jb 0x613744
xor byte [bp + di], bl
arpl word [eax], ax
mov ah, 2
add bh, bh
add al, byte [eax]
push dword [edx + eax + 0x1ff00]
mov ah, 2
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
inc esi
add byte [edx], cl
inc edx
outsd dx, dword [esi]
jne 0x613771
dec esp
popal
bound esp, qword [ebp + 0x6c]
les eax, [ecx + 0x2c00066]
add bh, bh
shr al, 0x59
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
add byte [eax], al
add byte [eax + 1], al
inc edi
add byte [esp + eax*2], cl
imul esi, dword [ebx + 0x61], 0x64656c62
dec ebx
imul ebp, dword [esi + 0x64], 0x631828
outsb dx, byte [esi]
sub byte fs:[eax], bl
arpl word [eax], ax
mov esp, 0xbcff0002
add al, byte [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax + 0x53080048], al
imul ebp, dword [ecx + 0x6e], 0x44
popal
je 0x6137b4
nop
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, esi
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c0]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6137a4
lea eax, [ebp - 4]
call fcn.004c29e8
ret