Function at 0x494c0b
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4e83ab
call fcn.004e7638
sub esp, 0x5c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], eax
or esi, 0xffffffff
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x3c], 0x236edae8
mov dword [ebp - 0x44], 0x15a6
mov dword [ebp - 0x60], 0x6184417f
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x494c62
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x68], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x494c58
xor edi, edi
inc edi
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x494d50
mov dword [ebp - 0x20], 0xffff
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], 0xdb756fd8
mov dword [ebp - 0x30], 0xe95866b3
mov dword [ebp - 0x5c], 0xbe02b323
dec dword [ebp - 0x20]
cmp dword [ebp - 0x64], ebx
je 0x494d25
cmp dword [ebp - 0x40], ebx
je 0x494cae
cmp dword [ebp - 0x68], ebx
mov eax, edi
jne 0x494cb0
mov eax, ebx
xor ecx, ecx
test eax, eax
sete cl
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x18]
sub edx, eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x18]
je 0x494ce1
cmp dword [ebp - 0x20], ebx
mov ecx, edi
jne 0x494ce3
mov ecx, ebx
mov eax, dword [ebp - 0x64]
xor edx, edx
cmp eax, ecx
setl dl
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setle cl
push 8
pop eax
cmp eax, ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ebx
je 0x494d25
cmp dword [ebp - 0x64], ebx
mov eax, edi
jne 0x494d27
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setl dl
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
je 0x494dd7
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x68], ebx
je 0x495094
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
xor ebx, ebx
cmp ecx, eax
setne bl
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp ecx, eax
setne dl
add edx, 0x494579c6
mov eax, dword [ebp - 0x60]
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
imul eax, ebx
xor edx, edx
cmp eax, ecx
setne dl
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x4c]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x494dc6
mov esi, dword [ebp - 0x50]
mov ecx, dword [edx]
mov eax, dword [esi]
and dword [eax + ecx*4], 0
inc dword [edx]
cmp dword [edx], 2
jl 0x494db7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x34], 0x22c0
mov dword [ebp - 0x3c], 0xacc8e11f
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x20], ebx
jmp 0x494dfd
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x28], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x494df3
cmp dword [ebp - 0x24], ebx
jne 0x494e12
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x68], ebx
mov eax, edi
jne 0x494e14
mov eax, ebx
cmp eax, dword [ebp - 0x3c]
jne 0x494e45
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x68], ebx
jne 0x494e45
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x495060
push 0x462
push 0x1e94
push ebx
call dword [0xac03a8]
jmp 0x495060
mov dword [ebp - 0x20], 5
mov eax, dword [ebp - 0x20]
neg eax
je 0x494e5a
cmp dword [ebp - 0x28], ebx
mov eax, edi
jne 0x494e5c
mov eax, ebx
cmp eax, dword [ebp - 0x34]
jne 0x494e6d
cmp dword [ebp - 0x68], ebx
jne 0x494e6d
cmp dword [ebp - 0x20], ebx
mov eax, ebx
je 0x494e6f
mov eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
xor edx, edx
cmp eax, 0x1fe8be9c
setge dl
mov eax, dword [ebp - 0x68]
imul edx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
lea edx, [ecx + 0x37bad6e]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, esi
setle al
cmp eax, dword [ebp - 0x68]
jle 0x494ec5
cmp dword [ebp - 0x30], ebx
mov ecx, edi
jne 0x494ec7
mov ecx, ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
dec edx
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x20]
cmp ecx, 0x93ea4b54
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1c], ebx
or esi, 0xffffffff
cmp dword [ebp - 0x1c], ebx
jg 0x49505d
mov dword [ebp - 0x48], 0x10c1
cmp dword [ebp - 0x48], 0x121a
jle 0x494f73
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov eax, edi
sar eax, cl
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xabd5d8
call fcn.0043b5e1
mov ecx, dword [ebp - 0x30]
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x10ed
jl 0x494f39
inc edi
cmp edi, 0x306a
jl 0x494f34
inc esi
cmp esi, 0x28e7
jl 0x494f32
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x48], 0xfd0
jge 0x494f8e
mov edx, 0xaa35f4
mov ecx, 0xabd5d8
call fcn.0043cf87
mov dword [ebp - 4], esi
jmp 0x494fc4
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
je 0x494ffc
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x2c]
imul eax, eax, 0x28e1
cmp esi, eax
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
xor eax, eax
cmp ecx, edi
setg al
imul eax, eax, 0x4ae9
test eax, eax
mov ecx, edi
jne 0x494ffe
mov ecx, ebx
mov dword [ebp - 0x48], 0xfffffffa
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x20]
add eax, ecx
add edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 0xd9658aa4
setne dl
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x28]
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp eax, ecx
setge dl
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x48], ecx
inc dword [ebp - 0x1c]
jmp 0x494f17
or esi, 0xffffffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0xfffffffb
dec dword [ebp - 0x18]
jmp 0x494c6e