Function at 0x4259b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x4505b8]
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov dword [esp + 8], 0x935391ad
mov dword [esp + 0xc], 0xaf5ead5c
mov dword [esp + 0x10], 0xab4ba974
mov dword [esp + 0x14], 0xa747a528
mov dword [esp + 0x18], 0xa346a19d
mov dword [esp + 0x1c], 0xbf46bd50
mov dword [esp + 0x20], 0xbb4cb935
mov dword [esp + 0x24], 0xb74bb548
mov dword [esp + 0x28], 0xb350b142
mov dword [esp + 0x2c], 0x4fbc4db5
mov dword [esp + 0x30], 0x4bae49b4
mov dword [esp + 0x34], 0x47b44594
mov dword [esp + 0x38], 0x43bc41b7
mov dword [esp + 0x3c], 0x5faa5da5
mov dword [esp + 0x40], 0x5ba959a5
mov word [esp + 0x44], 0x5554
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x425a9b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov esi, ecx
xor esi, 0x3cf61adc
and ecx, 0x3cf61adc
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xb4
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x425a60
lea ebp, [esp + 0x4c]
lea ecx, [esp + 8]
push ebp
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov edi, dword [esp + 0x4c]
test edi, edi
jns 0x425abe
mov eax, 0xffffffff
jmp 0x425ac1
lea eax, [edi + edi]
push eax
call fcn.0040c640
add esp, 4
mov esi, eax
mov eax, dword [0x4505b8]
mov dword [esp + 8], 0x43034125
mov dword [esp + 0xc], 0x47d645d4
mov dword [esp + 0x10], 0x4beb490c
mov dword [esp + 0x14], 0x4fef4dd8
mov dword [esp + 0x18], 0xb30eb1d5
mov dword [esp + 0x1c], 0xb71eb500
mov dword [esp + 0x20], 0xbb14b92d
mov dword [esp + 0x24], 0xbf1bbd18
mov dword [esp + 0x28], 0xa300a132
mov dword [esp + 0x2c], 0xa734a50d
mov dword [esp + 0x30], 0xab16a90c
mov dword [esp + 0x34], 0xaf3cad1c
mov dword [esp + 0x38], 0x9334913f
mov dword [esp + 0x3c], 0x973a953d
mov dword [esp + 0x40], 0x9b09993d
mov word [esp + 0x44], 0x9d9c
mov dword [esp + 0x46], 0
mov word [esp + 0x4a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x425bb2
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov ebx, ecx
xor ebx, 0x63ecff0
and ecx, 0x63ecff0
lea ecx, [ebx + ecx*2]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 4]
add cl, 0x50
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x425b70
push ebp
push edi
push esi
push 0x1e
lea edi, [esp + 0x18]
push edi
push 0
call eax
mov dword [esp + 8], 0x9ff699cc
mov dword [esp + 0xc], 0xa3d09de9
mov dword [esp + 0x10], 0xa7c3a1c4
mov dword [esp + 0x14], 0xabcca5d2
mov dword [esp + 0x18], 0xafd8a9c1
mov dword [esp + 0x1c], 0xb3b2adc8
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1a
ja 0x425c5a
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x66a1811a
and eax, 0xe6a1811a
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x7e
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1b
jb 0x425c10
push 0
push 0
push edi
push esi
push dword [esp + 0x74]
call fcn.0041fe60
add esp, 0x14
jmp dword [0x44bc2c]