Function at 0x40d4d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x244
mov esi, dword [ebp + 0x20]
push eax
push eax
mov dword [ebp - 0x50], esp
push eax
mov edi, esp
mov eax, dword [0x448624]
mov dword [ebp - 0x250], 0x61ff6f93
mov dword [ebp - 0x24c], 0x65fd63e8
mov dword [ebp - 0x248], 0x198467fa
mov dword [ebp - 0x244], 0x1dc31bfb
mov dword [ebp - 0x240], 0x11ce1fcb
mov dword [ebp - 0x23c], 0x153413c2
mov dword [ebp - 0x238], 0x9ff17ce
mov dword [ebp - 0x234], 0xd920b93
mov dword [ebp - 0x230], 0x19f0fea
mov dword [ebp - 0x22c], 0x5970395
mov dword [ebp - 0x228], 0x39c60726
mov dword [ebp - 0x224], 0x3d1c3bce
mov dword [ebp - 0x220], 0x31e03fef
mov dword [ebp - 0x21c], 0x35e433ec
mov dword [ebp - 0x218], 0x290837fd
mov dword [ebp - 0x214], 0x2db52bdd
mov dword [ebp - 0x210], 0x21f62fb0
mov dword [ebp - 0x20c], 0x25ef23f6
mov dword [ebp - 0x208], 0xd9502706
mov dword [ebp - 0x204], 0xdd08db0c
mov dword [ebp - 0x200], 0xd1f0df07
mov dword [ebp - 0x1fc], 0xd544d313
mov dword [ebp - 0x1f8], 0xc954d746
mov dword [ebp - 0x1f4], 0xcd3bcb2f
mov dword [ebp - 0x1f0], 0xc122cf2b
mov dword [ebp - 0x1ec], 0xc55dc339
mov dword [ebp - 0x1e8], 0xf927c752
mov dword [ebp - 0x1e4], 0xfd2ffb2f
mov dword [ebp - 0x1e0], 0xf12eff29
mov dword [ebp - 0x1dc], 0xf522f321
mov dword [ebp - 0x1d8], 0xe930f7d6
mov dword [ebp - 0x1d4], 0xed14eb11
mov dword [ebp - 0x1d0], 0xe11def1a
mov dword [ebp - 0x1cc], 0xe538e31e
mov dword [ebp - 0x1c8], 0x9904e7c6
mov dword [ebp - 0x1c4], 0x9d079b03
mov dword [ebp - 0x1c0], 0x91b09f7b
mov dword [ebp - 0x1bc], 0x95719355
mov dword [ebp - 0x1b8], 0x89139775
mov dword [ebp - 0x1b4], 0x8d558b15
mov dword [ebp - 0x1b0], 0x81438fae
mov dword [ebp - 0x1ac], 0x8516831a
mov dword [ebp - 0x1a8], 0xb9258719
mov dword [ebp - 0x1a4], 0xbd63bb5f
mov dword [ebp - 0x1a0], 0xb161bf6f
mov dword [ebp - 0x19c], 0xb56ab37b
mov dword [ebp - 0x198], 0xa976b766
mov dword [ebp - 0x194], 0xad72ab7a
mov dword [ebp - 0x190], 0xa180af7e
mov dword [ebp - 0x18c], 0xa545a351
mov dword [ebp - 0x188], 0x59b9a740
mov dword [ebp - 0x184], 0x5dc55bc8
mov dword [ebp - 0x180], 0x51855f81
mov dword [ebp - 0x17c], 0x55835381
mov dword [ebp - 0x178], 0x499b5788
mov dword [ebp - 0x174], 0x4d4c4b9c
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe3
ja 0x40d777
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x250]
add ecx, 0xc300abb6
xor ecx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
add cl, 0x28
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x250], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe4
jb 0x40d740
lea ebx, [ebp - 0x250]
push 0
push 0
push 0
push 0
push ebx
call eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b58]
xor ebx, ebx
jmp 0x40d94e
mov dword [ebp - 0x4c], edi
mov eax, dword [0x448628]
mov dword [ebp - 0x10], 0xf0f1f53e
mov dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x48]
cmp ecx, 3
ja 0x40d80a
nop
nop
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
movzx edx, byte [ebp + edx - 0x10]
lea edi, [ecx + edx]
add ecx, 0xf8
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x5ef31ef8
mov dword [ebp - 0x250], edi
mov ecx, dword [ebp - 0x250]
mov edx, ecx
xor edx, 0xb
and ecx, 0x74
add ecx, ecx
sub ecx, edx
mov edx, dword [ebp - 0x48]
mov byte [ebp + edx - 0x10], cl
inc dword [ebp - 0x48]
mov ecx, dword [ebp - 0x48]
cmp ecx, 4
jb 0x40d7c0
movzx ecx, word [ebp - 0x10]
push 0
push ecx
push 0x448658
push dword [ebp - 0x1c]
call eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b60]
xor ebx, ebx
jmp 0x40d945
mov eax, dword [0x44862c]
mov dword [ebp - 0x48], 0xb938bbba
mov word [ebp - 0x44], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
ja 0x40d894
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x48]
add ecx, 0x958571a8
xor ecx, edx
mov dword [ebp - 0x250], ecx
mov ecx, dword [ebp - 0x250]
add cl, 0xee
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x48], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
jb 0x40d860
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x250], 0x53815186
mov dword [ebp - 0x24c], 0x5f805d8f
mov dword [ebp - 0x248], 0x595e
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0xb
ja 0x40d904
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movzx edi, byte [ebp + edi - 0x250]
add edx, 0x29b5a833
xor edx, edi
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
add dl, 0x9b
mov edi, dword [ebp - 0x14]
mov byte [ebp + edi - 0x250], dl
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmp edx, 0xc
jb 0x40d8d0
push ecx
push 0
push 0
push 0
push dword [ebp + 8]
push ebx
push dword [ebp - 0x18]
call eax
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x443b68]
xor ebx, ebx
jmp 0x40d93c
xor eax, eax
test esi, esi
setg al
jmp dword [eax*4 + 0x443b70]
jmp dword [0x443b7c]
push dword [ebp - 0x18]
call dword [0x448650]
push dword [ebp - 0x1c]
call dword [0x448650]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x443bb0]
mov bl, 1
jmp 0x40d993
push 0
push edi
call dword [0x448640]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push edi
call dword [0x448640]
jmp dword [0x443bac]
jmp 0x40d993
xor ebx, ebx
push edi
call dword [0x448650]
jmp 0x40d93c
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0
push eax
push esi
push dword [ebp + 0x18]
push edi
call dword [0x44864c]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x443b98]
jmp dword [0x443ba0]
push esi
push esi
push esi
push esi
push edi
call dword [0x448634]
push esi
push esi
push esi
push esi
push edi
call dword [0x448634]
jmp dword [0x443b84]
movzx eax, byte [0x44875c]
jmp dword [eax*4 + 0x443b88]
mov dword [ebp - 0x48], 0x801082fe
mov dword [ebp - 0x44], 0xbc28be2e
mov dword [ebp - 0x40], 0xb822ba2c
mov dword [ebp - 0x3c], 0xb495b6f1
mov dword [ebp - 0x38], 0xb0d0b2d2
mov dword [ebp - 0x34], 0xac37ae32
mov dword [ebp - 0x30], 0xa83aaaca
mov dword [ebp - 0x2c], 0xa4c4a62e
mov dword [ebp - 0x28], 0xa026a23d
mov dword [ebp - 0x24], 0xdc9ede4f
mov dword [ebp - 0x20], 0xdadb
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2b
ja 0x40da82
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x48]
add eax, 0xfa56a01c
xor eax, ecx
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
add al, 0x61
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x48], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2c
jb 0x40da50
movzx eax, word [ebp - 0x48]
test ax, ax
je 0x40dab1
lea ebx, [ebp - 0x250]
lea ecx, [ebp - 0x46]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40daa0
mov word [ebx], 0
movzx eax, word [0x44875e]
test ax, ax
je 0x40dae5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx + ecx], ax
movzx eax, word [ecx + 0x448760]
add ecx, 2
test ax, ax
jne 0x40dad0
add ebx, ecx
mov word [ebx], 0
mov eax, dword [0x448638]
mov ebx, dword [ebp - 0x50]
mov dword [ebx], 0xd7b0b1b2
mov dword [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
ja 0x40db52
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx esi, byte [ebx + edx]
lea edx, [ecx + 0x91]
add ecx, esi
and edx, esi
sub ecx, edx
add ecx, 0x1f98af91
mov esi, ecx
not esi
and esi, edx
not edx
and edx, ecx
sub edx, esi
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x48]
add cl, 0xdd
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 8
jb 0x40db10
lea ecx, [ebp - 0x250]
push dword [ebx]
push 0xffffffffffffffff
push ecx
push edi
call eax
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov esi, dword [ebp + 0x1c]
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
push edi
call dword [0x44863c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x443b90]