Function at 0x1c4fd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x1f1b9c]
mov dword [esp + 0xc], 0xf333f12d
mov dword [esp + 0x10], 0xef7eed7c
mov dword [esp + 0x14], 0xeb0be914
mov dword [esp + 0x18], 0xe707e568
mov dword [esp + 0x1c], 0xe306e13d
mov dword [esp + 0x20], 0x9f069d70
mov dword [esp + 0x24], 0x9b0c9915
mov dword [esp + 0x28], 0x970b9508
mov dword [esp + 0x2c], 0x93709102
mov dword [esp + 0x30], 0x8f1c8d15
mov dword [esp + 0x34], 0x8b6e8914
mov dword [esp + 0x38], 0x87148574
mov dword [esp + 0x3c], 0x831c8117
mov dword [esp + 0x40], 0xbf2abd25
mov dword [esp + 0x44], 0xbb29b925
mov word [esp + 0x48], 0xb5b4
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x1c50c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0x17adbb2c
and ecx, 0x17adbb2c
lea ecx, [esi + ecx*2]
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x24
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x1c5080
lea edx, [esp + 8]
lea ecx, [esp + 0xc]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov ebp, dword [esp + 8]
test ebp, ebp
jns 0x1c50e6
mov eax, 0xffffffff
jmp 0x1c50ed
lea eax, [ebp*2]
push eax
call fcn.001ac630
add esp, 4
mov esi, eax
mov eax, dword [0x1f1b9c]
mov dword [esp + 0xc], 0x79357b57
mov dword [esp + 0x10], 0x65f667e8
mov dword [esp + 0x14], 0x610d6328
mov dword [esp + 0x18], 0x6d016ffc
mov dword [esp + 0x1c], 0x690e6b47
mov dword [esp + 0x20], 0x95fe9714
mov dword [esp + 0x24], 0x9100930f
mov dword [esp + 0x28], 0x9df59ffc
mov dword [esp + 0x2c], 0x99f49b02
mov dword [esp + 0x30], 0x8518870f
mov dword [esp + 0x34], 0x81e683e8
mov dword [esp + 0x38], 0x8d108ff0
mov dword [esp + 0x3c], 0x89e08b1d
mov dword [esp + 0x40], 0xb522b71f
mov dword [esp + 0x44], 0xb12fb3df
mov dword [esp + 0x48], 0xbfb0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x1c51d4
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
lea edi, [ecx + ecx]
and edi, 0x2989a8d6
sub ecx, edi
add ecx, 0x94c4d46b
mov ebx, ecx
and ebx, edi
xor ecx, edi
lea ecx, [ecx + ebx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xe9
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x1c5190
lea ecx, [esp + 8]
push ecx
push ebp
push esi
push 0x1e
lea ebx, [esp + 0x1c]
push ebx
push 0
call eax
mov dword [esp + 0xc], 0xe17ee748
mov dword [esp + 0x10], 0xdd74e36f
mov dword [esp + 0x14], 0xd941df40
mov dword [esp + 0x18], 0xd578db4a
mov dword [esp + 0x1c], 0xd144d74f
mov dword [esp + 0x20], 0xcdd2d34c
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x1c5279
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0xc]
lea edx, [ecx + ecx]
and edx, 0x20f504b2
mov edi, ecx
not edi
or edi, 0x107a8259
add edi, ecx
sub ecx, edx
lea ecx, [ecx + edi*2]
add ecx, 0x907a825b
xor ecx, eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 4]
add al, 0x43
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x1c5230
push 0
push 0
push ebx
push esi
push dword [esp + 0x74]
call fcn.001bfae0
add esp, 0x14
mov ebx, eax
jmp dword [0x1ecc3c]