Function at 0x44c097
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4cb7f9
call fcn.004cafb8
sub esp, 0x128
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x7c], edx
mov esi, ecx
mov dword [ebp - 0x24], esi
push 2
lea ecx, [ebp - 0xe0]
call fcn.00424c41
push 1
lea ecx, [ebp - 0xec]
call fcn.00424c41
push 4
lea ecx, [ebp - 0xf8]
call fcn.00424c41
lea edx, [ebp - 0xe0]
lea ecx, [ebp - 0x20]
call fcn.0044a2c5
xor ebx, ebx
mov dword [ebp - 0x20], ebx
xor edx, edx
inc edx
jmp 0x44c107
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], 0x5459eeda
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x44c0f4
mov dword [ebp - 0x20], ebx
jmp 0x44c124
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xc3825062
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x44c111
mov eax, dword [ebp - 0xe0]
mov dword [eax + 4], ebx
lea ecx, [ebp - 0xf8]
call fcn.00424d13
lea ecx, [ebp - 0xec]
call fcn.00424d13
lea ecx, [ebp - 0xe0]
call fcn.00424d13
cmp dword [esi + 0x10], ebx
jne 0x44c160
xor al, al
jmp 0x44c96e
mov eax, dword [ebp - 0x7c]
mov dword [eax], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x18], ebx
jmp 0x44c181
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0x3342eb9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x44c170
mov dword [ebp - 0x98], ebx
jmp 0x44c1b0
mov dword [ebp - 0xb8], 0xed23b618
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0xb8]
call fcn.0044bead
dec dword [ebp - 0x98]
cmp dword [ebp - 0x98], 0xffffffec
jne 0x44c18f
mov eax, esi
cmp dword [eax + 0x14], 0x10
jb 0x44c1c3
mov esi, dword [eax]
xor edi, edi
inc edi
mov dword [ebp - 0x80], esi
cmp dword [eax + 0x14], 0x10
jb 0x44c1d3
mov ecx, dword [eax]
jmp 0x44c1d5
mov ecx, eax
mov eax, dword [eax + 0x10]
add eax, ecx
cmp esi, eax
je 0x44c926
call fcn.0044a6b9
mov al, byte [esi]
cmp al, 0x30
jl 0x44c2d0
cmp al, 0x39
jg 0x44c2d0
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 0x97b0
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x14], ebx
jmp 0x44c226
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x44c219
cmp dword [ebp - 0x18], ebx
jne 0x44c234
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, ecx
setge dl
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp dword [ebp - 0x14], eax
setne dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x14], ecx
imul eax, dword [ebp - 0x14], 3
sub eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, 0x66c4
setl cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x28]
neg edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x80]
lea ecx, [ebp - 0x7c]
call fcn.0044b736
mov esi, dword [ebp - 0x80]
inc esi
mov eax, dword [ebp - 0x24]
jmp 0x44c1c6
mov dword [ebp - 0x28], 0x3b26bdde
mov dword [ebp - 0x88], 0xcfce2949
mov dword [ebp - 0x14], ebx
push 4
pop esi
jmp 0x44c2fa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x134], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x44c2e9
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0x1d
jne 0x44c43c
movdqa xmm0, xmmword [0xacfc00]
movdqu xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
push dword [ebp - 0x3c]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x118]
push eax
push ebx
lea ecx, [ebp - 0xc8]
call fcn.00426e0b
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0x8fdeb772
mov dword [ebp - 0x18], 0x55ca
cmp dword [ebp - 0x18], 0x571e
jle 0x44c3bc
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x14]
mov eax, ebx
cdq
idiv ecx
mov eax, edx
cdq
push edx
push eax
mov ecx, 0xadd958
call fcn.00424afd
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x1518
jl 0x44c373
inc ebx
mov dword [ebp - 0x14], ebx
cmp ebx, 0x3349
push 0
pop ebx
jl 0x44c36b
push 0x2654
push 0x233c
push edi
push ebx
push 0x3ed
call dword [0xae03a8]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x5530
jge 0x44c3d7
mov edx, 0xac7858
mov ecx, 0xadd958
call fcn.004268b3
or dword [ebp - 4], 0xffffffff
jmp 0x44c403
mov dword [ebp - 0x14], ebx
jmp 0x44c420
mov dword [ebp - 0xac], 0xcc5d9b4e
lea ecx, [ebp - 0xac]
call fcn.0044ba00
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x44c408
lea ecx, [ebp - 0xc8]
cmp dword [ebp - 0x38], ebx
call fcn.00424d13
inc dword [ebp - 0x28]
jmp 0x44c302
inc dword [ebp - 0x88]
lea eax, [ebp - 0x7c]
push eax
push 0x4f61
push 0x7ccf
push ebx
call fcn.004507be
add esp, 0x10
mov dword [ebp - 0x1c], 0x11151c3c
mov dword [ebp - 0x64], 0x5a97963b
push esi
lea ecx, [ebp - 0x94]
call fcn.00424c41
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x50], 0xaa08
mov dword [ebp - 0x34], 0x55205300
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x40], 0xe3eed797
mov dword [ebp - 0x84], 0x96da
mov dword [ebp - 0x3c], 0x65bec774
mov dword [ebp - 0x58], ebx
jmp 0x44c4bb
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0x96a53086
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], esi
jl 0x44c4a8
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x1dfe
setl cl
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1c]
add edx, ecx
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x1c]
jne 0x44c4fc
cmp dword [ebp - 0x4c], ebx
mov edx, edi
jne 0x44c4fe
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x1c]
add ecx, eax
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x3d97
setle al
lea ecx, [eax + 0x1e3f]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setne dl
mov eax, dword [ebp - 0x64]
push 0xfffffffffffffffc
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, dword [ebp - 0x50]
add eax, ecx
mov ecx, dword [ebp - 0x1c]
imul ecx, eax
mov edx, dword [ebp - 0x1c]
imul edx, ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x99fa9ef8
jae 0x44c5dc
xor edx, edx
inc edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x38], 0x4126315b
mov dword [ebp - 0x14], ebx
jmp 0x44c5a2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x44c591
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
mov dword [eax + 0xc], ecx
cmp ecx, dword [ebp - 0x68]
jle 0x44c5cf
cmp dword [ebp - 0x1c], ebx
jne 0x44c5d1
mov edx, ebx
mov dword [ebp - 0x4c], edx
dec dword [ebp - 0x70]
jmp 0x44c8fc
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x78], 8
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x74], 0xee13
mov dword [ebp - 0x24], 0x24
cmp dword [ebp - 0x24], 0x121
jle 0x44c63b
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov eax, esi
mov ecx, ebx
shl eax, cl
cdq
push edx
push eax
mov ecx, 0xadd958
call fcn.00424afd
inc ebx
cmp ebx, 0x4fee
jl 0x44c613
inc esi
cmp esi, 0x7e98
push 0
pop ebx
jl 0x44c610
mov byte [ebp - 0x2d], bl
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0xfffffda0
jge 0x44c65d
mov edx, 0xac78a8
mov ecx, 0xadd958
call fcn.004268b3
or dword [ebp - 4], 0xffffffff
jmp 0x44c686
cmp byte [ebp - 0x2d], 0
je 0x44c69a
push 0x5c6
push ebx
push ebx
push ebx
call dword [0xae0334]
cmp dword [ebp - 0x2c], 0xfffb
sbb eax, eax
inc eax
xor edx, edx
cmp eax, 0x79d7
setl dl
mov ecx, dword [ebp - 0x2c]
imul ecx, edx
xor edx, edx
mov eax, dword [ebp - 0x94]
cmp ecx, dword [eax]
setge dl
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, edx
setg cl
mov eax, 0xf1929b4d
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], ebx
jne 0x44c6f3
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
neg eax
cmp eax, 0xfff6
ja 0x44c714
cmp dword [ebp - 0x50], ebx
mov ecx, ebx
je 0x44c716
mov ecx, edi
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp ecx, eax
setl dl
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, 0xfffffffa
je 0x44c766
mov dword [ebp - 0xbc], 0xd6cd47b9
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0xbc]
call fcn.0044bc34
add esp, 0x14
jmp 0x44c8fc
movdqa xmm0, xmmword [0xacfbe0]
movdqu xmmword [ebp - 0x108], xmm0
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
push dword [ebp - 0xb4]
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x108]
push eax
push ebx
lea ecx, [ebp - 0xa8]
call fcn.00426e0b
mov dword [ebp - 0x54], 0xfbe5b575
mov dword [ebp - 0x60], 0x5fddb278
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x74]
call fcn.0044bed5
add esp, 0x28
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov esi, dword [ebp - 0x60]
imul esi, dword [ebp - 0x6c]
sub esi, dword [ecx + 0xc]
neg esi
sbb esi, esi
inc esi
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp esi, eax
setg dl
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x1c]
imul eax, ecx
test eax, eax
je 0x44c846
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], 0x3b9e
cmp dword [ebp - 0x24], 0x3c13
jle 0x44c8ce
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x3c], esi
mov ecx, edi
mov edi, esi
sar edi, cl
mov esi, ebx
mov dword [ebp - 0x3c], ebx
lea eax, [ebx + esi]
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xadd958
call fcn.00424afd
inc ebx
cmp ebx, 0x6b13
jl 0x44c880
inc esi
cmp esi, 0x28a0
push 0
pop ebx
jl 0x44c87d
mov edi, dword [ebp - 0x54]
inc edi
mov dword [ebp - 0x54], edi
cmp edi, 0x1589
mov esi, dword [ebp - 0x40]
jl 0x44c86c
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x600b
jl 0x44c867
push ebx
push ebx
push ebx
call dword [0xae023c]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x3a0c
jge 0x44c8ed
mov edx, 0xac7920
mov ecx, 0xadd958
call fcn.004268b3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.00424d13
lea ecx, [ebp - 0x94]
call fcn.00424d13
jmp 0x44c159
push edi
lea ecx, [ebp - 0xd4]
call fcn.00424c41
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x5c], ebx
xor edx, edx
inc edx
jmp 0x44c954
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0x53b26bdd
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], edx
jl 0x44c941
mov ecx, dword [ebp - 0xd4]
mov dword [ecx], ebx
lea ecx, [ebp - 0xd4]
call fcn.00424d13
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret