Function at 0x481490
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24c
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x254]
push ebx
push ebp
mov ebp, dword [esp + 0x258]
push esi
push edi
push 0
mov ebx, ecx
mov dword [esp + 0x18], eax
call fcn.005cfcae
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
call fcn.005d1428
mov esi, eax
mov ecx, 9
lea edi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
add esp, 8
xor edx, edx
xor esi, esi
cmp word [ebp], cx
mov eax, ebp
je 0x48150a
add eax, 2
add ecx, 1
cmp word [eax], dx
jne 0x4814f3
cmp ecx, 0xff
ja 0x481795
mov al, byte [ebx]
test al, al
je 0x481795
mov ecx, ebx
cmp al, 0x30
jl 0x481526
cmp al, 0x39
jg 0x481526
movsx eax, al
sub eax, 0x30
jmp 0x48154c
cmp al, 0x41
jl 0x481536
cmp al, 0x46
jg 0x481536
movsx eax, al
sub eax, 0x37
jmp 0x48154c
cmp al, 0x61
jl 0x481795
cmp al, 0x66
jg 0x481795
movsx eax, al
sub eax, 0x57
shl edx, 4
add ecx, 1
add edx, eax
mov al, byte [ecx]
add esi, 1
test al, al
jne 0x481516
cmp esi, 8
jne 0x481795
mov ebx, dword [0x687224]
mov esi, 1
xor edi, edi
cmp ebx, esi
mov eax, esi
jl 0x48159d
mov ecx, dword [eax*4 + 0x687224]
mov ebp, 1
shl ebp, cl
test edx, ebp
je 0x48158d
or edi, esi
add eax, 1
add esi, esi
cmp eax, ebx
jle 0x481579
mov ebp, dword [esp + 0x260]
and edx, 0x1fffffff
mov esi, edx
and esi, 0x7f
mov ecx, 0x1d
sub ecx, edi
shl esi, cl
mov ecx, edi
sar edx, cl
and esi, 0x1fffffff
or esi, edx
xor ecx, ecx
mov eax, esi
lea edx, [ecx + 0xb]
mov ebx, eax
and ebx, 7
xor ecx, ebx
sar eax, 3
sub edx, 1
jne 0x4815c4
cmp edi, ecx
jne 0x481795
push esi
mov ebx, 0x6871b0
call fcn.00481140
push esi
mov ebx, 0x68719c
mov dword [esp + 0x28], eax
call fcn.00481140
mov edi, dword [esp + 0x1c]
push esi
mov ebx, 0x6871f8
mov dword [edi + 4], eax
call fcn.00481140
push esi
mov ebx, 0x687210
mov dword [edi], eax
call fcn.00481140
add eax, 0x7d9
mov dword [edi + 8], eax
lea edi, [esp + 0x58]
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, ebp
sub edi, ebp
jmp 0x481630
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [edi + eax], cx
add eax, 2
test edx, edx
jne 0x481630
push esi
mov ebx, 0x6871f0
call fcn.00481140
add esp, 4
test eax, eax
je 0x4816b8
xor ecx, ecx
cmp word [esp + 0x48], cx
lea eax, [esp + 0x48]
je 0x481671
add eax, 2
add ecx, 1
cmp word [eax], 0
jne 0x481665
mov esi, str.0958
mov eax, esi
lea ecx, [esp + ecx*2 + 0x48]
lea edi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x481680
sub eax, edi
add eax, 1
cmp eax, 5
jle 0x4816a0
mov eax, 4
mov word [ecx + 8], 0
jmp 0x4816a4
test eax, eax
je 0x4816b8
movsx dx, byte [esi]
sub eax, 1
mov word [ecx], dx
add esi, 1
add ecx, 2
test eax, eax
jne 0x4816a4
lea edi, [esp + 0x48]
call fcn.004810e0
cmp dword [esp + 0x20], eax
jne 0x481795
mov ebx, dword [esp + 0x18]
cmp ebx, 0x7df
mov eax, dword [esp + 0x14]
jne 0x4816ed
cmp dword [eax + 4], 0xf
jne 0x4816ed
cmp dword [eax], 0x1f
jne 0x4816ed
xor eax, eax
jmp 0x48179a
mov edi, dword [eax + 4]
test edi, edi
je 0x481795
cmp edi, 0xc
jg 0x481795
mov ebp, dword [eax]
test ebp, ebp
je 0x481795
cmp ebp, dword [edi*4 + 0x687234]
jg 0x481795
mov ecx, dword [esp + 0x38]
add ecx, 0x76c
cmp ebx, ecx
jl 0x48178e
mov eax, dword [esp + 0x34]
jne 0x481733
lea edx, [eax + 1]
cmp edi, edx
jl 0x48178e
cmp ebx, ecx
mov edx, dword [esp + 0x30]
jne 0x481746
lea esi, [eax + 1]
cmp edi, esi
jne 0x481746
cmp ebp, edx
jl 0x48178e
add eax, 1
mov esi, ecx
mov ecx, dword [eax*4 + 0x687234]
add edx, 0xe
cmp edx, ecx
jle 0x48176a
add eax, 1
sub edx, ecx
cmp eax, 0xc
jle 0x48176a
mov eax, 1
add esi, eax
cmp ebx, esi
jl 0x481787
jne 0x481774
cmp edi, eax
jl 0x481787
cmp ebx, esi
jne 0x481780
cmp edi, eax
jne 0x481780
cmp ebp, edx
jl 0x481787
mov eax, 1
jmp 0x48179a
mov eax, 4
jmp 0x48179a
mov eax, 3
jmp 0x48179a
mov eax, 2
mov ecx, dword [esp + 0x254]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005ce60a
add esp, 0x24c
ret