Function at 0x406530
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [esp - 0x44], 0x66a0ff10
push esi
push edi
push dword [ebp + 0xc]
mov esi, esi
lea ecx, [ebp - 8]
call fcn.00405770
or edi, 0xffffffff
mov dword [ebp + 0xc], edi
xchg ecx, ecx
mov esi, dword [eax]
cmp byte [esi], 0
je 0x4065ba
mov dword [esp - 0x18], ebp
nop
mov dword [esp - 4], 0x342bb41e
add dword [esp - 4], 0x22a3356d
xor dword [esp - 4], 0x669e5d8
mov dword [esp - 0xc], 0x6125d890
xor dword [esp - 4], 0x3ed83323
add dword [esp - 4], 0x719161b
sub dword [esp - 4], 0x7598558a
sub esp, 4
xchg esi, esi
push esi
lea ecx, [ebp + 0xc]
call fcn.00481c70
mov dword [esp - 0x14], 0x4fc41b50
inc esi
cmp byte [esi], 0
jne 0x406560
xchg ebp, ebp
mov edi, dword [ebp + 0xc]
cmp byte [ebp - 4], 0
not edi
mov ebx, ebx
je 0x4065d1
push dword [ebp - 8]
call fcn.0048b6f0
mov edx, edx
add esp, 4
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x18]
nop
mov dword [esp - 0x18], 0x7a74f399
sub esp, 4
mov dword [esp], 0x15e58d12
xor dword [esp], 0x5a61eeaa
sub dword [esp], 0x4cded5a4
xchg ebx, ebx
add dword [esp], 0x45f96242
sub dword [esp], 0x3e8bad75
add dword [esp], 0x43161a5b
xor dword [esp], 0x4d295d3d
xchg ecx, ecx
mov dword [esi], 0x501d7401
sub dword [esi], 0x4ad5fe2a
add dword [esi], 0x347207e0
xor dword [esi], 0x3e46f4b9
mov esp, esp
add dword [esi], 0x10c007b
sub dword [esi], 0x90b8989
mov dword [esi + 4], 0x193b964d
mov dword [esp - 0x10], 0x5a311d8d
add dword [esi + 4], 0x4910f8f5
sub dword [esi + 4], 0x3d0ab97c
sub dword [esi + 4], 0xb7abfd1
xor dword [esi + 4], 0x35e0e875
xchg ebp, ebp
sub dword [esi + 4], 0x2c27fd80
push dword [0x4ba8f4]
nop
sub esp, 4
mov ecx, ecx
mov dword [esp], 0x5404366b
xor dword [esp], 0x1cda2576
add dword [esp], 0x22aeb0aa
mov ebx, ebx
sub dword [esp], 0x6b1d223b
add dword [esp], 0x14fda0f7
xor dword [esp], 0x156d42df
mov dword [esp - 0xc], edi
push eax
call fcn.00482fa0
add esp, 4
mov ebx, ebx
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00481260
mov dword [esp - 0xc], edi
add esp, 0xc
push eax
lea eax, [ebp - 8]
push eax
mov dword [esp - 0x24], 0xdd4d1b0
call fcn.00480d90
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [esp - 0x14], 0x1e148905
push eax
call fcn.004835c0
cmp dword [ebp - 4], 2
jbe 0x406705
mov edx, edx
push dword [ebp - 8]
call fcn.0048b6f0
add esp, 4
mov esi, esi
cmp dword [ebp - 0xc], 2
jbe 0x40671e
push dword [ebp - 0x10]
call fcn.0048b6f0
mov dword [esp - 0x20], 0x371f7232
add esp, 4
cmp dword [ebp - 0x14], 2
jbe 0x406737
mov dword [esp - 0x10], 0x2fec5660
push dword [ebp - 0x18]
call fcn.0048b6f0
add esp, 4
push ebx
mov dword [esp - 0x3c], 0x68ef3ae9
lea ecx, [ebp - 0x30]
call fcn.00483a10
nop
sub esp, 4
mov dword [esp - 0x10], ebx
mov dword [esp], 0x6969f7c6
sub dword [esp], 0x40dcd178
sub dword [esp], 0x12af8e49
add dword [esp], 0x6513fb7b
mov dword [esp - 0x34], 0x49c79cda
xor dword [esp], 0x7af19380
push edi
sub esp, 4
mov dword [esp - 0x2c], 0x7be17205
mov dword [esp], 0x4562cdad
xor dword [esp], 0x2eb306e6
sub dword [esp], 0x4295d6ea
mov dword [esp - 0xc], 0x5498134d
add dword [esp], 0x153d7a48
add dword [esp], 0x861057d0
lea ecx, [ebp - 0x30]
xchg esp, esp
call fcn.004844e0
mov ebx, eax
test ebx, ebx
je 0x406848
mov dword [esp - 0xc], ecx
nop
sub esp, 4
mov dword [esp], 0x3fcc30ea
mov ebp, ebp
add dword [esp], 0x12b8d439
sub dword [esp], 0x4abd0d90
xor dword [esp], 0x57c5a9a5
add dword [esp], 0x152a67ea
mov ebp, ebp
sub dword [esp], 0x2cd0a35d
sub dword [esp], 0x385c22c4
push ebx
xchg edx, edx
lea ecx, [ebp - 0x18]
call fcn.00405a80
mov ecx, esi
mov ecx, ecx
push dword [eax]
call fcn.00480c70
cmp byte [ebp - 0x14], 0
je 0x406832
mov dword [esp - 0x14], 0x179fb01b
push dword [ebp - 0x18]
call fcn.0048b6f0
add esp, 4
push ebx
mov dword [esp - 0x1c], 0x26666d1a
call fcn.0048b6f0
add esp, 4
jmp 0x40696f
nop
mov dword [esp - 4], 0x20c0c66d
xor dword [esp - 4], 0x5d8843fd
sub dword [esp - 4], 0x792fa879
xchg ebp, ebp
add dword [esp - 4], 0x36ff3756
xor dword [esp - 4], 0x3b181467
sub esp, 4
nop
mov dword [esp - 0x10], 0x71bab367
sub esp, 4
mov dword [esp], 0x40d5f3cc
sub dword [esp], 0x37810d73
mov dword [esp - 0x38], 0x21c53c76
xor dword [esp], 0x754f575c
sub dword [esp], 0x3a763a5a
xor dword [esp], 0x7d298c7
mov esp, esp
xor dword [esp], 0x20364afb
sub dword [esp], 0x6641a492
lea eax, [ebp - 0x18]
mov ebx, ebx
mov ecx, 0x4bb5a0
push eax
call fcn.00485fe0
xchg ebp, ebp
push eax
mov ecx, esi
call fcn.00480bb0
mov dword [esp - 0x2c], 0x62637fae
cmp dword [ebp - 0x14], 2
jbe 0x4068f2
push dword [ebp - 0x18]
mov edx, edx
call fcn.0048b6f0
add esp, 4
push esi
lea ecx, [ebp - 0x18]
xchg edx, edx
call fcn.00405770
lea ecx, [ebp - 0x30]
push dword [eax]
push edi
xchg ecx, ecx
nop
mov dword [esp - 4], 0x6a6ef5a6
sub dword [esp - 4], 0x486e1266
xchg ebp, ebp
add dword [esp - 4], 0x2716ef90
sub dword [esp - 4], 0x2f2d22dc
sub dword [esp - 4], 0x5fcdb19
xchg esp, esp
add dword [esp - 4], 0x38a06a8
add dword [esp - 4], 0xad11eaf6
sub esp, 4
call fcn.00484c10
mov dword [esp - 0x44], 0x8fd3421
cmp byte [ebp - 0x14], 0
je 0x406965
push dword [ebp - 0x18]
mov edi, edi
call fcn.0048b6f0
add esp, 4
lea ecx, [ebp - 0x30]
call fcn.00484610
xchg esp, esp
nop
mov dword [esp - 4], 0x764ac1f5
sub dword [esp - 4], 0x60e36411
xchg ebx, ebx
add dword [esp - 4], 0x15bea589
add dword [esp - 4], 0x33edabd0
sub dword [esp - 4], 0x5f13af3d
mov dword [esp - 0x38], 0x68f82745
sub esp, 4
push esi
lea eax, [ebp - 8]
xchg edi, edi
nop
sub esp, 4
mov dword [esp], 0x5f71b22b
xchg ebx, ebx
xor dword [esp], 0x48b186df
xor dword [esp], 0x2f0a7faa
xor dword [esp], 0x17b67fcf
sub dword [esp], 0x2f7c3435
mov dword [esp - 0x44], 0x1efa9680
push eax
call fcn.00482fa0
add esp, 4
push eax
mov dword [esp - 0x14], 0x7443d210
lea eax, [ebp - 0x10]
push eax
call fcn.00481260
mov edx, edx
add esp, 0xc
push eax
lea eax, [ebp - 0x18]
push eax
xchg ecx, ecx
call fcn.00480d90
add esp, 0xc
push eax
xchg edi, edi
call fcn.00482e00
add esp, 8
cmp dword [ebp - 0x14], 2
mov dword [esp - 0x2c], 0x2d89d1ad
pop ebx
jbe 0x406a32
push dword [ebp - 0x18]
xchg ebp, ebp
call fcn.0048b6f0
add esp, 4
cmp dword [ebp - 0xc], 2
xchg ebp, ebp
jbe 0x406a49
push dword [ebp - 0x10]
call fcn.0048b6f0
mov dword [esp - 0x38], esi
add esp, 4
cmp dword [ebp - 4], 2
jbe 0x406a62
push dword [ebp - 8]
mov dword [esp - 0x18], 0x7b530674
call fcn.0048b6f0
add esp, 4
lea ecx, [ebp - 0x30]
mov dword [esp - 0xc], 0x3cebadeb
call fcn.00483810
pop edi
mov eax, esi
mov ebp, ebp
pop esi
mov esp, ebp
pop ebp
ret 8