Function at 0x48b780
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0x34], ebx
sub esp, 0x10
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [esp - 0x44], edi
cmp dword [eax + 8], 0
je 0x48b7d7
mov eax, dword [ebp + 0xc]
mov byte [eax], 0x48
mov edx, edx
add byte [eax], 0x33
sub byte [eax], 0x48
add byte [eax], 6
mov dword [esp - 0x18], 0x6631902e
sub byte [eax], 0x26
add byte [eax], 0x59
sub byte [eax], 0x6b
mov ecx, ecx
mov al, 0x58
xor al, 0x22
sub al, 0x1c
sub al, 0x4b
mov dword [esp - 0x40], 0x2cd38267
xor al, 0x12
mov esp, ebp
pop ebp
mov ebx, ebx
ret 8
push ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 8], ecx
xchg edx, edx
cmp ecx, 2
ja 0x48b7f1
mov dword [ebp - 4], ebx
mov dword [esp - 0x2c], esi
jmp 0x48b7f6
mov eax, dword [ebx]
mov dword [ebp - 4], eax
lea eax, [ecx + 1]
mov ecx, 0x3ccefce6
mov dword [esp - 0x34], ebx
sub ecx, 0x2a516bc8
xor ecx, 0x531b644f
sub ecx, 0x30685ddf
add ecx, 0x61877481
mov dword [esp - 0xc], ebx
sub ecx, 0x42132038
sub ecx, 0x3072ebb9
mul ecx
mov dword [esp - 0x38], 0x1b7401ed
push esi
pushf
mov ecx, 0x3e7140c9
sub ecx, 0x12985867
mov ebx, ebx
sub ecx, 0xfd8fda6
add ecx, 0x3c759f42
add ecx, 0xa78a7601
mov dword [esp - 0x40], 0x31e2888c
popf
cmovb eax, ecx
push edi
xchg edi, edi
push eax
call fcn.00490c90
mov esi, eax
add esp, 4
mov ebx, ebx
mov eax, dword [ebp - 8]
xor edi, edi
mov dword [ebp - 0xc], esi
test eax, eax
mov dword [esp - 0x24], edx
je 0x48b8fb
sub dword [ebp - 4], esi
mov edx, esi
xchg edx, edx
mov ebx, dword [ebp - 4]
mov esi, eax
lea ecx, [ecx]
mov ecx, edi
mov dword [esp - 0xc], esi
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x55478421
mov dword [esp - 0x34], 0x3329031d
sub eax, 0x1a9f9502
xor eax, 0x42569087
xor eax, 0x4d9417e6
mov dword [esp - 0x2c], 0x66b78bd5
add eax, 0x1ddd94dc
add eax, 0x28dd7c72
sub eax, 0x7634db
xchg ebp, ebp
shl ecx, 3
inc edi
sar eax, cl
cbw
mov dword [esp - 0x34], edx
xor ax, word [edx + ebx - 2]
mov word [edx - 2], ax
cmp edi, esi
xchg ebp, ebp
jb 0x48b892
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
mov dword [esp - 0x38], ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
push esi
mov dword [esp - 0x24], 0x4fcf9667
mov word [esi + eax*2], cx
mov eax, dword [0x4c0b98]
xor eax, dword [0x4c0968]
mov esp, esp
push ecx
sub esp, 4
mov dword [esp], 0x4793561c
xchg edi, edi
sub dword [esp], 0xcee5a71
xor dword [esp], 0x3006144c
xor dword [esp], 0x5f09cadd
sub dword [esp], 0x33235136
mov dword [esp - 0xc], 0x6a347e55
add dword [esp], 0x223955f9
sub dword [esp], 0x44a229fc
call eax
push esi
mov dword [esp - 0x40], ecx
mov edi, eax
call fcn.00490c60
add esp, 4
test edi, edi
mov dword [esp - 0x24], edi
je 0x48b9ab
mov eax, dword [0x4c0a08]
xor eax, dword [0x4c0968]
push edi
mov dword [esp - 0x28], esp
call eax
mov eax, dword [ebp + 0xc]
pop edi
pop esi
xchg edi, edi
pop ebx
mov byte [eax], 0x2e
add byte [eax], 0x21
add byte [eax], 0x28
mov dword [esp - 0x20], ecx
xor byte [eax], 0x4a
add byte [eax], 0x19
sub byte [eax], 0x55
mov edi, edi
xor al, al
mov esp, ebp
pop ebp
xchg ebp, ebp
ret 8
mov eax, dword [ebx + 4]
mov dword [ebp + 8], eax
mov dword [esp - 0x20], ecx
cmp eax, 2
jbe 0x48b9bc
mov ebx, dword [ebx]
inc eax
xchg esi, esi
mov ecx, 0x5df553b6
xor ecx, 0x51d99c83
add ecx, 0x2e1bd34e
mov ebx, ebx
xor ecx, 0x44ace643
sub ecx, 0x7ee444be
mul ecx
pushf
mov edi, edi
mov ecx, 0x39badb9f
add ecx, 0x4c1fd2
sub ecx, 0x305681d
mov dword [esp - 0xc], ecx
xor ecx, 0x36e14d40
xor ecx, 0xfe1f21eb
popf
xchg edx, edx
cmovb eax, ecx
push eax
call fcn.00490c90
mov ecx, ecx
mov esi, eax
add esp, 4
mov eax, dword [ebp + 8]
mov dword [esp - 0xc], ecx
xor edi, edi
mov dword [ebp - 0xc], esi
test eax, eax
je 0x48ba90
mov dword [esp - 0x44], 0x2f6e1fdb
mov edx, esi
sub ebx, esi
mov esi, eax
mov dword [esp - 0x34], 0x1b3922bc
lea ecx, [ecx]
mov ecx, edi
lea edx, [edx + 2]
xchg edi, edi
and ecx, 3
mov eax, 0x638ff907
xor eax, 0x448869c5
add eax, 0x4d6f1304
mov dword [esp - 0x44], edx
xor eax, 0x55fd95e6
xor eax, 0x5a2172d1
shl ecx, 3
mov edx, edx
inc edi
sar eax, cl
cbw
xor ax, word [edx + ebx - 2]
mov dword [esp - 0x18], 0x6476e4a9
mov word [edx - 2], ax
cmp edi, esi
jb 0x48ba42
xchg ecx, ecx
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
xor ecx, ecx
push esi
mov dword [esp - 0x30], edx
mov word [esi + eax*2], cx
mov eax, dword [0x4c0b90]
xor eax, dword [0x4c0968]
mov dword [esp - 0x3c], 0x2721febd
nop
mov dword [esp - 4], 0x22e20c5d
sub dword [esp - 4], 0x14fe69e3
add dword [esp - 4], 0x664a1fb2
mov dword [esp - 0x2c], edx
xor dword [esp - 4], 0x11b216ce
xor dword [esp - 4], 0x64be8553
add dword [esp - 4], 0x68a14f92
xor dword [esp - 4], 0x69c2a142
mov dword [esp - 0x14], esi
sub esp, 4
push ecx
call eax
mov edi, dword [ebp - 0x10]
mov dword [esp - 0x20], ebx
push esi
mov dword [edi + 8], eax
call fcn.00490c60
add esp, 4
mov esp, esp
cmp dword [edi + 8], 0
jne 0x48bb43
mov eax, dword [0x4c0b30]
mov edx, edx
xor eax, dword [0x4c0968]
call eax
cmp eax, 0xb7
xchg esi, esi
mov eax, dword [ebp + 0xc]
pop edi
sete cl
xchg ebp, ebp
pop esi
mov byte [eax], cl
xor al, al
pop ebx
mov dword [esp - 0x38], 0x54a22c1d
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
xchg ebx, ebx
mov byte [eax], 0x4e
xor byte [eax], 0x2d
sub byte [eax], 0xb
xchg esi, esi
sub byte [eax], 0x4a
xor byte [eax], 0xe
mov al, 0x1e
mov dword [esp - 0x10], 0x10988493
add al, 0x53
xor al, 0x39
sub al, 0x29
mov edx, edx
sub al, 0x19
xor al, 0x20
sub al, 0x25
mov dword [esp - 0x20], 0x423cd1cd
mov esp, ebp
pop ebp
ret 8