Function at 0x4a823d
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4c8e05
call fcn.004c7f00
sub esp, 0x70
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x24], 0x3404
xor ebx, ebx
xor esi, esi
inc esi
cmp dword [ebp - 0x24], 0x3713
jle 0x4a82b2
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x2786
cdq
push edx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00401988
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4a828b
mov eax, dword [eax]
push eax
call fcn.004b2747
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x7c]
call fcn.0043a66b
mov eax, dword [ebp - 0x1c]
add eax, edi
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x18]
jne 0x4a8276
inc edi
cmp edi, 0x3c07
jl 0x4a826a
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x3343
jge 0x4a82c9
push 0xacb28c
call fcn.004b2747
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4a82f2
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], 0xa0f0f5eb
mov dword [ebp - 0x28], 0xc09
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x20]
call fcn.004a8093
pop ecx
pop ecx
cmp dword [ebp - 0x20], ebx
je 0x4a8335
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x20]
mov ecx, esi
jne 0x4a8337
mov ecx, ebx
xor eax, eax
cmp ecx, 0x784b52dd
sete al
sub eax, dword [ebp - 0x28]
jne 0x4a834e
cmp dword [ebp - 0x2c], ebx
jne 0x4a834e
mov esi, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp esi, eax
setne cl
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x40]
cmp dword [esi], 0
je 0x4a86c2
push dword [esi]
push ebx
push dword [esi + 4]
call fcn.00439c83
push dword [esi + 4]
call fcn.004b281d
add esp, 0x10
mov dword [esi + 4], ebx
mov dword [ebp - 0x18], 0xffffffff
push 3
lea ecx, [ebp - 0x58]
call fcn.0043a0bd
push 4
lea ecx, [ebp - 0x64]
call fcn.0043a0bd
mov dword [ebp - 0x3c], 0x43e8
mov esi, 0xad9c18
cmp dword [ebp - 0x3c], 0x4724
jle 0x4a8415
mov edi, ebx
mov dword [ebp - 0x38], edi
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
cdq
idiv ecx
mov dword [ebp - 0x1c], edx
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, ebx
mov ecx, edi
shl eax, cl
xor eax, edx
cdq
push edx
push eax
mov ecx, esi
call fcn.00439e95
inc edi
cmp edi, 0x4f3b
mov edx, dword [ebp - 0x1c]
jl 0x4a83ca
inc ebx
mov dword [ebp - 0x24], ebx
cmp ebx, 0x13ce
push 0
pop ebx
jl 0x4a83c5
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0xa5a
mov edi, dword [ebp - 0x38]
jl 0x4a83ba
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x5920
jl 0x4a83b5
mov dword [ebp - 0x38], 0x6200d40a
mov dword [ebp - 4], 2
cmp dword [ebp - 0x3c], 0x42ed
jge 0x4a8438
mov edx, 0xacb2cc
mov ecx, esi
call fcn.0043c71b
or dword [ebp - 4], 0xffffffff
jmp 0x4a8463
mov dword [ebp - 0x3c], 0x5d2c
cmp dword [ebp - 0x3c], 0x5e68
jle 0x4a849d
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov eax, edi
mov ecx, ebx
sar eax, cl
cdq
push edx
push eax
mov ecx, esi
call fcn.00439e95
inc ebx
cmp ebx, 0x65a8
jl 0x4a8478
inc edi
cmp edi, 0x4265
push 0
pop ebx
jl 0x4a8475
mov dword [ebp - 4], 4
cmp dword [ebp - 0x3c], 0x5d0f
jge 0x4a84b9
mov edx, 0xacb328
mov ecx, esi
call fcn.0043c71b
or dword [ebp - 4], 0xffffffff
jmp 0x4a84e4
mov dword [ebp - 0x18], ebx
jmp 0x4a84f9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0x42a43d95
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x4a84e9
mov dword [ebp - 0x18], ebx
jmp 0x4a8514
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0xda2a0c0e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x4a8504
mov dword [ebp - 0x18], 0xfffffff2
cmp dword [ebp - 0x18], 0xffffffec
jle 0x4a85f2
mov dword [ebp - 0x1c], ebx
jmp 0x4a853a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x4a8530
mov dword [ebp - 0x44], 2
cmp dword [ebp - 0x44], ebx
jl 0x4a85e0
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x1c], 0xbc21b07f
mov dword [ebp - 0x3c], 0x2589d389
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
sub edx, eax
neg edx
sbb edx, edx
add edx, 0xffff9555
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x44]
sub edx, eax
xor ecx, ecx
cmp edx, dword [edi + 8]
setge cl
mov edx, dword [ebp - 0x4c]
add edx, ecx
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0x44]
neg edx
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x18]
sub edx, eax
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x3c]
sub edx, eax
imul edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x44]
jns 0x4a8556
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffec
jg 0x4a852b
mov esi, 0xad9c18
mov dword [ebp - 0x1c], 0x59e7
cmp dword [ebp - 0x1c], 0x5d2f
jle 0x4a8652
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], ebx
mov ebx, edi
mov dword [ebp - 0x3c], 0x1617
mov edi, dword [ebp - 0x38]
mov eax, ebx
cdq
push edx
push eax
mov ecx, esi
call fcn.00439e95
add ebx, edi
dec dword [ebp - 0x3c]
jne 0x4a8616
dec edi
mov dword [ebp - 0x38], edi
cmp edi, 0xffffe048
mov edi, dword [ebp - 0x24]
jg 0x4a860a
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x1e5b
push 0
pop ebx
jl 0x4a8607
push 0x43f
call dword [0xadd3f8]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x4a866b
push ebx
push 0x1cfd
push ebx
push ebx
push ebx
push ebx
call dword [0xadd2e8]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x59d2
jge 0x4a8687
mov edx, 0xacb360
mov ecx, esi
call fcn.0043c71b
or dword [ebp - 4], 0xffffffff
jmp 0x4a86ad
lea ecx, [ebp - 0x64]
call fcn.0043a18f
lea ecx, [ebp - 0x58]
call fcn.0043a18f
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret