Function at 0x100ac7b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov dword [ebp - 0x8c], ecx
mov eax, 1
test eax, eax
je 0x100ac7d3
push 0x1f2f9e0
call dword [0x1eec358]
push 0x1f2f9f8
call dword [0x1eec358]
movzx ecx, byte [0x1f2eb94]
test ecx, ecx
jne 0x100ac9b4
mov dword [ebp - 0x24], 0x1f2f198
mov dword [ebp - 0x34], 0x1f2ef98
mov dword [ebp - 0x30], 0x1e637a0
mov edx, dword [0x1f265dc]
mov dword [ebp - 0x80], edx
mov eax, dword [0x1f2f39c]
movzx ecx, word [eax + 0x30]
mov edx, dword [0x1f20b08]
sub edx, ecx
add edx, dword [ebp - 0x80]
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1f2f39c]
movzx ecx, word [eax + 0x30]
add ecx, dword [0x1f20d08]
mov edx, dword [0x1f2f398]
movzx eax, word [edx + 0x30]
add ecx, eax
mov dword [ebp - 0x28], ecx
call fcn.100c5d80
mov ecx, dword [0x1f2f794]
lea edx, [eax + ecx + 0x3d6c6114]
mov dword [ebp - 0x20], edx
mov eax, dword [0x1f2f790]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0
je 0x100ac890
mov eax, dword [ebp - 0x40]
cmp dword [eax], 0
je 0x100ac890
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
jmp 0x100ac86c
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0
je 0x100ac8c3
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0
je 0x100ac8c3
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x44], eax
jmp 0x100ac89f
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x64]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
je 0x100ac8f6
mov eax, dword [ebp - 0x48]
cmp dword [eax], 0
je 0x100ac8f6
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
mov eax, dword [edx]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
jmp 0x100ac8d2
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [ebp - 0x30]
add esp, 0xc
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x64]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
je 0x100ac93e
mov eax, dword [ebp - 0x4c]
cmp dword [eax], 0
je 0x100ac93e
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
jmp 0x100ac91a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0
je 0x100ac971
mov eax, dword [ebp - 0x50]
cmp dword [eax], 0
je 0x100ac971
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x50]
add eax, 4
mov dword [ebp - 0x50], eax
jmp 0x100ac94d
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0
je 0x100ac9a4
mov eax, dword [ebp - 0x54]
cmp dword [eax], 0
je 0x100ac9a4
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
jmp 0x100ac980
mov ecx, dword [ebp - 0x38]
mov dword [0x1f2eb90], ecx
mov byte [0x1f2eb94], 1
mov edx, dword [0x1f2f1fc]
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x58], 0
je 0x100ac9ea
mov eax, dword [ebp - 0x58]
cmp dword [eax], 0
je 0x100ac9ea
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
mov eax, dword [edx]
sub eax, dword [0x1f2f790]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x100ac9c3
mov ecx, dword [0x1f265dc]
mov dword [ebp - 0x84], ecx
push 0
mov edx, dword [0x1f20d0c]
push edx
mov eax, dword [ebp - 0x84]
add eax, dword [0x1f20b0c]
push eax
mov ecx, dword [0x1f2eb90]
push ecx
call fcn.100dea50
add esp, 0x10
mov edx, dword [0x1f2f1fc]
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0
je 0x100aca51
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 0
je 0x100aca51
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, dword [0x1f2f790]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x5c]
add eax, 4
mov dword [ebp - 0x5c], eax
jmp 0x100aca2a
bswap eax
nop
bswap eax
mov dl, 0x5b
in al, 6
mov bh, ch
rcr dword [edx + edi*2 - 0x3ec3ceb2], cl
xchg ebx, eax
dec edx
cli
pushfd
sbb al, 0xbf
lcall 0xcfad, 0x56ccf2e6
fcompi st(3)
cdq
adc eax, 0x7becd73b
js 0x100acac7
fisub dword [edi - 0x783a1fb4]
mov al, byte [0x95894383]
fldln2
pop edi
in al, 0x6a
cld
jbe 0x100acaa9
mov al, 0xa1
fsubp st(7)
shr dword [edi - 0x451ab1b1], 0x5d
fsubr qword [esi]
lea ebx, [ebp - 0xd395399]
adc ecx, dword [edx + 0x1c]
invalid
add edx, dword [eax - 0x2d]
inc eax
adc dl, dl
xor al, 0x3b
in al, 0xc8
imul ebp, dword [eax - 0x413e8293], 0x71
jge 0x100acaec
pop ebx
cmpsd dword [esi], dword es:[edi]
inc ebp
push ecx
pop eax
stosd dword es:[edi], eax
and byte [eax + edx*2 - 0x49], dh
loope 0x100acab3
push esi
dec ebx
ja 0x100acb18
mov eax, dword [0xa18e926f]
mov cl, cl
sub eax, 0xefe29dbe
jne 0x100acb56
cmpsd dword [esi], dword es:[edi]
cmp eax, 0x40343468
xchg edx, eax
mov al, byte [0xa051d8cb]
mov eax, dword [0x395e2f59]
sub eax, 0x5690bb6
pop esi
cmp dword [0x5690bb6], ebp
les ecx, [edi - 0x16dc8b0c]
mul esp
out 0xd9, al
inc ebx
scasb al, byte es:[edi]
or dl, byte [eax - 0x67]
arpl word [0x4044a55f], cx
mov dh, 0x63
and byte es:[esi - 0x10], bh
ret 0xfaf0
mov edi, 0x9ab226b4
mov ebp, 0xfb9d42d5
inc edx
popfd
sti
pushfd
iretd
fsin
sub eax, 0xe0fcb68f
jle 0x100acb67
cld
loopne 0x100acbd7
or eax, 0x26760602
add al, byte [esi]
push es
jbe 0x100acb84
adc al, 8
lahf
daa
lock xor dword [edi + 0x51], edx
jge 0x100acb5b
inc esi
inc esi
inc esi
mov byte [eax + 0x5c], al
inc esi
retf 0xd604
jle 0x100acb88
bnd jbe 0x100acb1f
xchg esi, eax
outsb dx, byte [esi]
jns 0x100acb51
ret
invalid