Function at 0x48fc30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [esp - 0xc], 0x38d011c3
mov edx, dword [ecx + 0xc]
push ebx
xor ebx, ebx
mov edx, edx
mov dword [ebp - 0xc], ebx
test edx, edx
je 0x49043c
push esi
mov ebp, ebp
mov esi, dword [ecx + 8]
mov dword [ebp - 0x10], esi
lea eax, [esi + edx*4]
mov dword [ebp - 4], eax
xchg esi, esi
cmp esi, eax
je 0x49042c
push edi
lea edi, [ebx + 2]
mov esp, esp
mov esi, dword [esi]
cmp byte [esi + 0x24], 0
jne 0x49040a
test ebx, ebx
mov edx, edx
jne 0x48ff92
lea eax, [esi + 8]
push eax
mov ebx, ebx
push 0x401884
lea eax, [ebp - 0x34]
push esi
mov edi, edi
push eax
call fcn.00481010
add esp, 0xc
push eax
mov dword [esp - 0x28], 0x10f7546
lea eax, [ebp - 0x1c]
push eax
call fcn.00480d90
mov dword [esp - 0x14], esp
add esp, 0xc
cmp dword [ebp - 0x30], 2
jbe 0x48fcd0
xchg edx, edx
push dword [ebp - 0x34]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0xc], ecx
mov eax, dword [ebp - 0x18]
lea ebx, [ebp - 0x1c]
cmp eax, 2
mov dword [esp - 0x44], 0x77ab6b3
mov dword [ebp - 8], eax
cmova ebx, dword [ebp - 0x1c]
xor ecx, ecx
inc eax
mov esp, esp
mul edi
seto cl
neg ecx
or ecx, eax
xchg ebx, ebx
push ecx
call fcn.0048b720
mov esi, eax
mov dword [esp - 0x30], 0x2508d8be
add esp, 4
mov eax, dword [ebp - 8]
xor edi, edi
mov dword [ebp - 0xc], esi
mov dword [esp - 0x44], edi
test eax, eax
je 0x48fd8b
mov edx, esi
mov edx, edx
sub ebx, esi
mov esi, eax
mov ecx, edi
mov dword [esp - 0x28], 0x11524ad7
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x46a83577
xor eax, 0x7b12a5af
mov dword [esp - 0x20], esi
add eax, 0x1c4f7b64
add eax, 0x1257c6be
sub eax, 0x3ac123f3
add eax, 0x1a8baba5
mov ecx, ecx
xor eax, 0x3f527eec
shl ecx, 3
inc edi
mov dword [esp - 0x2c], edx
sar eax, cl
cbw
xor ax, word [ebx + edx - 2]
mov dword [esp - 0xc], 0x7f046871
mov word [edx - 2], ax
cmp edi, esi
jb 0x48fd23
mov esi, dword [ebp - 0xc]
mov dword [esp - 0x20], 0x69a8aa78
mov eax, dword [ebp - 8]
xor ecx, ecx
push ecx
mov dword [esp - 0x34], 0x7bbe7579
push ecx
push ecx
push ecx
mov esp, esp
mov word [esi + eax*2], cx
mov eax, dword [ebp - 0x18]
push eax
push esi
mov dword [esp - 0x10], esi
mov dword [ebp - 8], eax
mov eax, dword [0x4bab70]
xor eax, dword [0x4ba958]
xchg ecx, ecx
push ecx
sub esp, 4
mov dword [esp], 0x54465304
add dword [esp], 0x26d63467
mov dword [esp - 0x1c], esp
sub dword [esp], 0x283b4b25
xor dword [esp], 0x4667f877
add dword [esp], 0x28e4d775
sub dword [esp], 0x3d6a9dbd
mov edi, edi
call eax
mov ebx, eax
lea edi, [ebx + 1]
mov dword [esp - 0x10], 0x78bcdd90
push edi
call fcn.0048b720
mov ecx, dword [0x4bab70]
mov ebp, ebp
add esp, 4
xor ecx, dword [0x4ba958]
mov dword [ebp - 0xc], eax
nop
mov dword [esp - 0x14], 0x31ff3b79
sub esp, 4
mov dword [esp], 0x12c6fb5e
add dword [esp], 0x4d7114
add dword [esp], 0x5a2ceb2a
mov dword [esp - 0x2c], 0x1047df2f
add dword [esp], 0xbcc2dc2
xor dword [esp], 0x790d855e
nop
mov esi, esi
mov dword [esp - 4], 0x4694ca60
xor dword [esp - 4], 0x5b3d624b
xor dword [esp - 4], 0x4fb9992b
sub dword [esp - 4], 0x5e3b5dc
xchg ecx, ecx
sub dword [esp - 4], 0x335f8e52
sub dword [esp - 4], 0x18ccecd2
sub esp, 4
push edi
mov dword [esp - 0x40], 0x2f4efda5
mov edi, eax
push edi
push dword [ebp - 8]
mov dword [esp - 0xc], esi
push esi
nop
mov dword [esp - 4], 0x37223608
mov dword [esp - 0x1c], edx
xor dword [esp - 4], 0x3eed44fc
add dword [esp - 4], 0x3a3478f3
sub dword [esp - 4], 0x91615c6
mov dword [esp - 0x14], 0x77ea4679
xor dword [esp - 4], 0x3aedd621
sub esp, 4
nop
mov dword [esp - 4], 0x19fc516e
xchg ecx, ecx
sub dword [esp - 4], 0x7d2a890
sub dword [esp - 4], 0xd56ce1
add dword [esp - 4], 0x5f2e3520
xchg edx, edx
xor dword [esp - 4], 0x17a92bb8
xor dword [esp - 4], 0x672ba74c
sub esp, 4
call ecx
xchg ecx, ecx
push esi
mov byte [edi + ebx], 0x39
add byte [edi + ebx], 0x34
mov edx, edx
sub byte [edi + ebx], 0x6b
xor byte [edi + ebx], 0x4e
sub byte [edi + ebx], 0x33
sub byte [edi + ebx], 0x19
mov edx, edx
call fcn.0048b6f0
mov esi, edi
add esp, 4
lea ecx, [esi + 1]
mov dword [esp - 0x24], 0x2eab71a3
mov al, byte [esi]
inc esi
test al, al
xchg esp, esp
jne 0x48ff3e
sub esi, ecx
inc esi
push esi
mov dword [esp - 0x18], 0x1bcc38c3
call fcn.0048b720
push edi
mov ebx, eax
mov dword [esp - 0x38], edi
push esi
push ebx
mov dword [ebp - 0xc], ebx
mov dword [esp - 0x38], 0x42af2b52
call fcn.0048c5c0
push edi
call fcn.0048b6f0
add esp, 0x14
mov dword [esp - 0x30], edx
cmp dword [ebp - 0x18], 2
jbe 0x4903e8
push dword [ebp - 0x1c]
mov esi, esi
jmp 0x4903d8
mov dword [ebp - 0x24], 0x549706a9
sub dword [ebp - 0x24], 0x537749ba
add dword [ebp - 0x24], 0x68e3df77
mov dword [esp - 0x2c], ecx
xor dword [ebp - 0x24], 0x6c7dc989
xor dword [ebp - 0x24], 0x67e55ef
xor eax, eax
mov dword [ebp - 0x20], 0x5b3497f0
mov dword [esp - 0x34], ebp
sub dword [ebp - 0x20], 0x4cad3ee6
xor dword [ebp - 0x20], 0xefa6cd
xor dword [ebp - 0x20], 0x1b2b49a9
xor dword [ebp - 0x20], 0x3147c059
mov dword [esp - 0x10], edx
sub dword [ebp - 0x20], 0x24047636
lea ebx, [ebx]
mov ecx, eax
mov esp, esp
mov edx, 0x7428f761
sub edx, 0x70d22be
sub edx, 0x2838ad64
xor edx, 0x7ea78d4c
mov dword [esp - 0x30], 0x7ed4d855
add edx, 0x393979cd
and ecx, 3
shl ecx, 3
sar edx, cl
mov dword [esp - 0x20], 0x6a661862
movsx cx, dl
xor cx, word [eax*2 + 0x401888]
mov word [ebp + eax*2 - 0x24], cx
xchg ebp, ebp
inc eax
cmp eax, dword [ebp - 0x20]
jb 0x48fff3
lea eax, [esi + 8]
mov dword [esp - 0x38], 0x1473e497
push eax
push 0x401884
push esi
mov dword [esp - 0x18], ecx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x44]
push eax
mov dword [esp - 0x38], ecx
call fcn.00480d90
add esp, 0xc
push eax
mov dword [esp - 0x10], ebx
lea eax, [ebp - 0x3c]
push eax
call fcn.00481010
add esp, 0xc
xchg ebp, ebp
push eax
lea eax, [ebp - 0x2c]
push eax
mov dword [esp - 0x28], 0x387f2e6e
call fcn.00480d90
add esp, 0xc
cmp dword [ebp - 0x38], 2
jbe 0x4900aa
xchg ebx, ebx
push dword [ebp - 0x3c]
call fcn.0048b6f0
add esp, 4
cmp dword [ebp - 0x40], 2
mov dword [esp - 0x28], 0xca71be3
jbe 0x4900cb
push dword [ebp - 0x44]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x44], 0x7595783d
cmp dword [ebp - 0x20], 2
jbe 0x4900e0
push dword [ebp - 0x24]
mov dword [esp - 0x30], esp
call fcn.0048b6f0
add esp, 4
mov eax, dword [ebp - 0x28]
lea ebx, [ebp - 0x2c]
mov dword [esp - 0x18], ebx
cmp eax, 2
mov dword [ebp - 8], eax
cmova ebx, dword [ebp - 0x2c]
xor ecx, ecx
mov ecx, ecx
inc eax
mul edi
seto cl
neg ecx
mov dword [esp - 0x14], edx
or ecx, eax
push ecx
call fcn.0048b720
mov esi, eax
mov dword [esp - 0x44], 0x6aa5f3df
add esp, 4
mov eax, dword [ebp - 8]
xor edi, edi
mov dword [esp - 0xc], ebx
mov dword [ebp - 0x14], esi
test eax, eax
je 0x49018f
mov edx, esi
mov dword [esp - 0x10], edi
sub ebx, esi
mov esi, eax
mov ecx, edi
lea edx, [edx + 2]
mov dword [esp - 0x2c], esp
and ecx, 3
mov eax, 0x70aafe23
xor eax, 0x4b31bf1d
xor eax, 0x1c7ff8f9
mov ebp, ebp
xor eax, 0x33e7518c
xor eax, 0x31239d6c
add eax, 0x27193654
mov esp, esp
add eax, 0x274478c5
shl ecx, 3
inc edi
sar eax, cl
mov ebp, ebp
cbw
xor ax, word [ebx + edx - 2]
mov word [edx - 2], ax
mov dword [esp - 0xc], ebp
cmp edi, esi
jb 0x490133
mov esi, dword [ebp - 0x14]
mov dword [esp - 0x44], 0x7279c9b7
mov eax, dword [ebp - 8]
xor ecx, ecx
push ecx
mov dword [esp - 0x34], 0x42350b59
push ecx
push ecx
push ecx
mov word [esi + eax*2], cx
mov dword [esp - 0x24], 0x33e720c
mov eax, dword [ebp - 0x28]
push eax
push esi
mov dword [esp - 0xc], 0x4e653339
mov dword [ebp - 0x14], eax
mov eax, dword [0x4bab70]
xor eax, dword [0x4ba958]
mov dword [esp - 0x30], esp
push ecx
sub esp, 4
mov dword [esp], 0x712d9c4a
xor dword [esp], 0x4e2a7cff
xchg esi, esi
add dword [esp], 0x20bcbdf9
add dword [esp], 0xa30962e
sub dword [esp], 0x81d819a
sub dword [esp], 0x61d6b559
mov dword [esp - 0x18], ecx
call eax
mov ebx, eax
lea edi, [ebx + 1]
push edi
mov dword [esp - 0x10], ebx
call fcn.0048b720
mov ecx, dword [0x4bab70]
add esp, 4
xor ecx, dword [0x4ba958]
mov dword [esp - 0x34], esi
mov dword [ebp - 8], eax
nop
sub esp, 4
mov dword [esp], 0x4463b628
mov dword [esp - 0x30], 0x38c0ec5e
xor dword [esp], 0x2f16d6c0
xor dword [esp], 0x9a643f5
sub dword [esp], 0x40a7646
xor dword [esp], 0x5b12d823
xchg ebp, ebp
add dword [esp], 0xd53520e
sub dword [esp], 0x132dc702
nop
mov dword [esp - 0x38], ebx
sub esp, 4
mov dword [esp], 0x217228e1
xor dword [esp], 0x78c9844
sub dword [esp], 0xb67236a
mov dword [esp - 0x24], ecx
xor dword [esp], 0x108d8b57
xor dword [esp], 0x56e6dcb
xor dword [esp], 0x6237be40
sub dword [esp], 0x6c43d5e7
mov ebx, ebx
push edi
push eax
push dword [ebp - 0x14]
xchg ebx, ebx
push esi
nop
mov dword [esp - 4], 0x40281481
xor dword [esp - 4], 0x1d845a2a
mov ebp, ebp
xor dword [esp - 4], 0x731ff9df
add dword [esp - 4], 0x40d1a72a
sub dword [esp - 4], 0x6f855e9e
sub esp, 4
mov dword [esp - 0x34], 0x5945a975
sub esp, 4
mov dword [esp], 0x35abe28
xor dword [esp], 0x4fcc6984
mov dword [esp - 0x1c], 0x26efc9de
add dword [esp], 0x177f85df
sub dword [esp], 0x3cab7566
add dword [esp], 0x5abbc28
xchg esp, esp
sub dword [esp], 0x2d15a664
call ecx
mov edi, dword [ebp - 8]
mov edi, edi
push esi
mov byte [edi + ebx], 0x35
xor byte [edi + ebx], 0x4b
mov dword [esp - 0x18], esi
xor byte [edi + ebx], 0x7f
add byte [edi + ebx], 0x36
xor byte [edi + ebx], 0x37
mov dword [esp - 0x2c], edi
call fcn.0048b6f0
mov ebx, dword [ebp - 0xc]
add esp, 4
mov edx, ebx
mov edx, edx
lea ecx, [edx + 1]
jmp 0x490351
mov al, byte [edx]
inc edx
test al, al
mov dword [esp - 0x1c], 0x3986cbcc
jne 0x490351
sub edx, ecx
mov ecx, edi
mov dword [esp - 0x28], ebp
lea esi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
mov edi, edi
inc ecx
test al, al
jne 0x49036d
mov ebp, ebp
sub ecx, esi
lea esi, [ecx + 1]
add esi, edx
mov edx, edx
push esi
call fcn.0048b720
push ebx
mov edi, edi
mov edi, eax
push esi
push edi
call fcn.0048c5c0
mov dword [esp - 0x34], 0x6380c3c2
push dword [ebp - 8]
push esi
push edi
mov dword [esp - 0x34], esi
call fcn.0048c480
push ebx
call fcn.0048b6f0
mov dword [esp - 0x28], ebx
push dword [ebp - 8]
mov ebx, edi
mov dword [ebp - 0xc], ebx
mov dword [esp - 0x2c], 0xc6667bd
call fcn.0048b6f0
add esp, 0x24
cmp dword [ebp - 0x28], 2
mov dword [esp - 0x30], ebx
jbe 0x4903e8
push dword [ebp - 0x2c]
call fcn.0048b6f0
mov dword [esp - 0x2c], 0x13814bf5
add esp, 4
mov eax, dword [ebp - 4]
mov edi, 0x76f36b7c
sub edi, 0x133f9b34
mov ebp, ebp
sub edi, 0x4d491f68
xor edi, 0x5307996d
sub edi, 0x456d298b
mov esi, dword [ebp - 0x10]
mov dword [esp - 0x28], ebp
add esi, 4
mov dword [ebp - 0x10], esi
cmp esi, eax
mov edi, edi
jne 0x48fc70
pop edi
pop esi
mov eax, ebx
xchg edi, edi
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
mov eax, ebx
pop ebx
mov dword [esp - 0x40], 0x308e1d96
mov esp, ebp
pop ebp
ret
mov eax, ebx
pop ebx
mov dword [esp - 0x3c], esp
mov esp, ebp
pop ebp
ret