Function at 0x455630
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov dword [ebp - 0x60], eax
mov eax, 0x456888
movzx eax, byte [eax + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0xc8
mov eax, dword [ebp - 0x5c]
call fcn.0040173c
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x58]
push eax
call fcn.00405324
mov eax, dword [ebp - 0x58]
cmp byte [eax + 1], 0x6f
jne 0x455683
mov eax, dword [ebp - 0x58]
cmp byte [eax + 4], 0x44
jne 0x455683
mov eax, dword [ebp - 0x58]
cmp byte [eax + 6], 0x65
je 0x45587c
push 0
call fcn.0040562c
push 0
call fcn.0040563c
push 0
call fcn.00405644
push 0
call fcn.0040564c
push 0x4568c0
push 0xa
mov ecx, dword [0x459660]
mov dl, 1
mov eax, dword [0x417db4]
call fcn.0041ae64
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0x1001
mov dword [ebp - 0x50], 0x11e
mov dword [ebp - 4], esp
add dword [ebp - 4], 0xb0
mov dword [ebp - 8], ebp
add dword [ebp - 8], 0x64
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
mov eax, eax
lea ecx, [0x459660]
mov eax, dword [ecx - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x20a53c3
push 0
call fcn.00405654
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x15
jne 0x45570b
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 0x7b
mov eax, dword [ebp - 0x50]
sub eax, 0xde
push eax
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x38]
push eax
push 0
call fcn.0040550c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
sub eax, 0xde
push eax
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x38]
push eax
push 0
call fcn.0040550c
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
call fcn.0041a800
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x15f8
mov dword [ebp - 0x3c], 2
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], 0xadcdd
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
call fcn.00405c28
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
jae 0x455809
push 0
call fcn.0040561c
push eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x48]
pop edx
sub eax, edx
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
call fcn.00405c20
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
add dword [ebp - 0x44], eax
jmp 0x4557ce
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x455846
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add dword [edx], eax
push 0
call fcn.0040561c
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x54]
sub edx, 0x23753
add edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x28]
xor dword [eax], edx
add dword [ebp - 0x18], 4
add dword [ebp - 0x28], 4
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jb 0x455811
mov dword [ebp - 0x30], 0x83bb0
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
add dword [ebp - 0x14], 4
sub dword [ebp - 0x14], 0x1000
push dword [ebp - 4]
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [0x459660]
mov eax, 1
push eax
jmp dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret