Function at 0x4dc2a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x5cffc0]
mov esi, dword [0x5cffc4]
lea edi, [eax + 1]
imul edi, eax
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete al
cmp esi, 0xa
setl dl
xor dl, al
mov edx, 0xc80cdb51
mov eax, 0xebda5498
cmovne eax, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
test ebx, edi
cmovne edx, eax
mov dword [esp + 0x1c], esi
cmp esi, 0xa
mov dword [esp], ecx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
cmovge edx, eax
mov dword [esp + 0x10], edx
mov eax, ecx
xor eax, 0xfffffeff
and eax, ecx
mov ecx, dword [0x5d1008]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5d100c], 0xa
setl dl
or dl, cl
mov edx, 0x25204bb0
mov ecx, 0x2bef27bc
cmove edx, ecx
mov dword [esp + 0x44], edx
mov edx, 0x848fa720
cmove edx, ecx
mov dword [esp + 0x48], edx
mov edx, 0x8e138bc8
mov ecx, 0x3d8f8e82
cmove edx, ecx
mov dword [esp + 0x40], edx
mov edx, 0x4343b0aa
cmove edx, ecx
mov dword [esp + 0x3c], edx
mov edx, 0xaed2fb53
mov ecx, 0xe24b48f2
cmove edx, ecx
mov dword [esp + 0x38], edx
mov edx, 0x576d51e5
cmove edx, ecx
mov dword [esp + 0x34], edx
mov edx, 0x5a61550
mov ecx, 0x686e3227
cmove edx, ecx
mov dword [esp + 0x30], edx
mov edx, 0x3d6015f9
cmove edx, ecx
mov dword [esp + 0x2c], edx
mov edx, 0x48bb4e99
mov ecx, 0x615cfc31
cmove edx, ecx
mov dword [esp + 0x28], edx
mov edx, 0x2c55bee8
cmove edx, ecx
mov dword [esp + 0x24], edx
mov ecx, 0xf1d75234
mov edx, 0xbf3a7465
cmove ecx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], eax
mov ebp, 0xffb2138a
cmove ebp, edx
mov edi, 0xf4242616
jmp 0x4dc3f0
mov edi, 0x848fa720
nop word cs:[eax + eax]
mov esi, edi
cmp edi, 0x2bef27bb
jg 0x4dc440
cmp esi, 0xe24b48f1
jg 0x4dc490
cmp esi, 0x9ffd8378
jg 0x4dc55c
cmp esi, 0x980ba290
jg 0x4dc652
cmp esi, 0x848fa720
je 0x4dc790
mov edi, esi
cmp esi, 0x8e138bc8
jne 0x4dc3f0
mov edi, 0x62904166
jmp 0x4dc3f0
cmp esi, 0x48bb4e98
jle 0x4dc4f0
cmp esi, 0x62904165
jg 0x4dc58e
cmp esi, 0x576d51e4
jg 0x4dc675
cmp esi, 0x48bb4e99
je 0x4dc7a2
mov edi, esi
cmp esi, 0x53a51b20
jne 0x4dc3f0
mov edi, dword [esp + 0x34]
jmp 0x4dc3f0
cmp esi, 0xffb21389
jg 0x4dc5f3
cmp esi, 0xf1d75233
jg 0x4dc69c
cmp esi, 0xe24b48f2
je 0x4dc7b1
mov edi, esi
cmp esi, 0xe3369f87
jne 0x4dc3f0
mov ecx, dword [esp]
mov ecx, dword [ecx]
movzx ecx, byte [ecx]
cmp byte [ecx + 0x5b769c], 0
setne byte [esp + 0xa]
mov edi, 0x3480e5fb
movzx edx, byte [esp + 0xa]
jmp 0x4dc3f0
cmp esi, 0x3480e5fa
jle 0x4dc623
cmp esi, 0x3d8f8e81
jg 0x4dc6cd
cmp esi, 0x3480e5fb
je 0x4dc83e
mov edi, esi
cmp esi, 0x3d6015f9
jne 0x4dc3f0
mov esi, dword [esp]
mov esi, dword [esi]
movzx esi, byte [esi - 1]
cmp byte [esi + 0x5b769c], 0
setne bh
sete cl
mov esi, dword [esp]
mov esi, dword [esi]
movzx esi, byte [esi]
cmp byte [esi + 0x5b769c], 0
sete bl
setne ch
and ch, cl
and bl, bh
or bl, ch
mov edi, dword [esp + 0x30]
jmp 0x4dc3f0
cmp esi, 0xbf3a7464
jg 0x4dc6f5
mov edi, ebp
cmp esi, 0x9ffd8379
je 0x4dc3f0
mov edi, esi
cmp esi, 0xaed2fb53
jne 0x4dc3f0
mov edi, 0x62904166
jmp 0x4dc3f0
cmp esi, 0x6a90e786
jg 0x4dc72c
mov edi, dword [esp + 0x48]
cmp esi, 0x62904166
je 0x4dc3f0
mov edi, esi
cmp esi, 0x686e3227
jne 0x4dc3f0
mov ecx, dword [esp]
mov ecx, dword [ecx]
movzx ecx, byte [ecx - 1]
cmp byte [ecx + 0x5b769c], 0
setne cl
sete ch
mov esi, dword [esp]
mov esi, dword [esi]
movzx esi, byte [esi]
cmp byte [esi + 0x5b769c], 0
sete bl
setne bh
and bh, ch
and bl, cl
or bl, bh
mov edi, 0x3d6015f9
jmp 0x4dc3f0
cmp esi, 0x25204baf
jg 0x4dc767
cmp esi, 0xffb2138a
je 0x4dc850
mov edi, esi
cmp esi, 0x5a61550
jne 0x4dc3f0
mov edi, 0x62904166
jmp 0x4dc3f0
cmp esi, 0x2bef27bc
je 0x4dc3dc
cmp esi, 0x2c55bee8
je 0x4dc869
mov edi, esi
cmp esi, 0x315363ef
jne 0x4dc3f0
mov edi, dword [esp + 0x2c]
jmp 0x4dc3f0
cmp esi, 0x980ba291
je 0x4dc887
mov edi, esi
cmp esi, 0x9f73efb3
jne 0x4dc3f0
mov edi, dword [esp + 0x24]
jmp 0x4dc3f0
cmp esi, 0x576d51e5
je 0x4dc8a8
mov edi, esi
cmp esi, 0x615cfc31
jne 0x4dc3f0
mov ecx, dword [esp]
mov edi, 0x2c55bee8
jmp 0x4dc3f0
cmp esi, 0xf1d75234
je 0x4dc93e
mov edi, esi
cmp esi, 0xf4242616
jne 0x4dc3f0
cmp dword [esp + 0x4c], 0
mov edi, 0x9ffd8379
mov ecx, 0xdc8cb5cc
cmove edi, ecx
jmp 0x4dc3f0
cmp esi, 0x3d8f8e82
je 0x4dc955
mov edi, esi
cmp esi, 0x4343b0aa
jne 0x4dc3f0
movzx ebx, byte [esp + 7]
mov edi, dword [esp + 0x40]
jmp 0x4dc3f0
cmp esi, 0xbf3a7465
je 0x4dc964
mov edi, esi
cmp esi, 0xdc8cb5cc
jne 0x4dc3f0
mov esi, dword [esp]
mov esi, dword [esi]
mov edi, dword [esp]
cmp esi, dword [edi + 0x4c]
mov edi, 0x9ffd8379
mov ecx, 0x2a2f1a95
cmove edi, ecx
jmp 0x4dc3f0
cmp esi, 0x6a90e787
je 0x4dc974
mov edi, esi
cmp esi, 0x7ad8b665
jne 0x4dc3f0
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov edx, ecx
xor edx, 0xfffffffb
test edx, ecx
mov edi, 0x3480e5fb
mov ecx, 0xe3369f87
cmove edi, ecx
xor edx, edx
jmp 0x4dc3f0
cmp esi, 0x2a2f1a95
jne 0x4dc9cd
mov ecx, dword [esp]
mov ecx, dword [ecx]
mov esi, dword [esp]
cmp ecx, dword [esi + 0x50]
mov edi, 0x7ad8b665
mov ecx, 0x53a51b20
cmove edi, ecx
jmp 0x4dc3f0
mov ecx, ebx
and cl, 1
mov byte [esp + 0xb], cl
mov edi, dword [esp + 0x44]
jmp 0x4dc3f0
mov edi, 0x6a90e787
movzx eax, byte [esp + 9]
jmp 0x4dc3f0
mov ecx, dword [esp + 0x14]
test dword [esp + 0x18], ecx
sete byte [esp + 5]
cmp dword [esp + 0x1c], 0xa
setl byte [esp + 6]
mov esi, 0x23bde65
nop dword [eax]
cmp esi, 0x23bde64
jg 0x4dc800
cmp esi, 0xc80cdb51
je 0x4dc980
cmp esi, 0xebda5498
jne 0x4dc7d0
mov esi, 0x306d976
jmp 0x4dc7d0
cmp esi, 0x306d976
je 0x4dc838
cmp esi, 0x23bde65
jne 0x4dc7d0
movzx ecx, byte [esp + 5]
mov ch, byte [esp + 6]
mov ebx, ecx
xor bl, ch
mov edi, 0xebda5498
mov ebx, 0x306d976
cmovne edi, ebx
test ch, ch
mov esi, edi
cmovne esi, ebx
test cl, cl
cmove esi, edi
jmp 0x4dc7d0
mov esi, dword [esp + 0x10]
jmp 0x4dc7d0
mov ecx, edx
and cl, 1
mov byte [esp + 7], cl
mov edi, dword [esp + 0x3c]
jmp 0x4dc3f0
mov esi, dword [esp]
mov esi, dword [esi]
mov edi, dword [esp]
cmp esi, dword [edi + 0x50]
sete byte [esp + 8]
mov edi, dword [esp + 0x20]
jmp 0x4dc3f0
mov esi, dword [esp]
mov esi, dword [esi]
movzx esi, byte [esi - 1]
cmp byte [esi + 0x5b769c], 0
setne byte [esp + 9]
mov edi, dword [esp + 0x28]
jmp 0x4dc3f0
mov eax, dword [esp]
mov eax, dword [eax + 0x60]
mov esi, eax
xor esi, 0xfffffff7
test esi, eax
mov edi, 0x6a90e787
mov eax, 0x9f73efb3
cmove edi, eax
xor eax, eax
jmp 0x4dc3f0
mov ecx, dword [esp + 0x14]
test dword [esp + 0x18], ecx
sete byte [esp + 5]
cmp dword [esp + 0x1c], 0xa
setl byte [esp + 6]
mov esi, 0x23bde65
nop word cs:[eax + eax]
cmp esi, 0x23bde64
jg 0x4dc900
cmp esi, 0xc80cdb51
je 0x4dc9a8
cmp esi, 0xebda5498
jne 0x4dc8d0
mov esi, 0x306d976
jmp 0x4dc8d0
cmp esi, 0x306d976
je 0x4dc938
cmp esi, 0x23bde65
jne 0x4dc8d0
movzx ecx, byte [esp + 5]
mov ch, byte [esp + 6]
mov ebx, ecx
xor bl, ch
mov edi, 0xebda5498
mov ebx, 0x306d976
cmovne edi, ebx
test ch, ch
mov esi, edi
cmovne esi, ebx
test cl, cl
cmove esi, edi
jmp 0x4dc8d0
mov esi, dword [esp + 0x10]
jmp 0x4dc8d0
cmp byte [esp + 8], 0
mov edi, 0x315363ef
mov ecx, 0x980ba291
cmovne edi, ecx
jmp 0x4dc3f0
mov edi, 0x4343b0aa
movzx ebx, byte [esp + 7]
jmp 0x4dc3f0
mov ecx, dword [esp]
mov ecx, dword [esp]
mov edi, 0xffb2138a
jmp 0x4dc3f0
mov edi, 0x62904166
mov ebx, eax
jmp 0x4dc3f0
mov dword [esp + 0xc], 0xc
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
mov esi, dword [esi + 0x60]
not esi
not ecx
or ecx, esi
cmp ecx, 0xffffffff
sete bl
mov edi, 0x576d51e5
jmp 0x4dc3f0
mov dword [esp + 0xc], 0xc
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
mov esi, dword [esi + 0x60]
xor ecx, esi
andn ecx, ecx, esi
sete bl
mov edi, dword [esp + 0x38]
jmp 0x4dc3f0
mov edi, esi
cmp esi, 0x25204bb0
jne 0x4dc3f0
movzx eax, byte [esp + 0xb]
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret