Function at 0xddc420
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 0x28], 0x49132120
mov dword [esp + 0x2c], 0xdde1e319
lea edx, [esp + 0x30]
mov byte [esp + 0x30], 0x79
mov dword [esp + 0x31], 0
mov word [esp + 0x35], 0
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xe
ja 0xddc4a3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xd7d9f7fb
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x86
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 0xf
jb 0xddc470
lea eax, [esp + 0x1c]
lea esi, [esp + 0x28]
mov ebx, esi
mov edi, eax
mov ecx, 2
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0x24]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
movzx ecx, byte [esp + 0x30]
mov byte [esp + 0x24], cl
mov dword [esp + 0x28], 0x9def9fd9
mov dword [esp + 0x2c], 0xa1d4a3d0
mov dword [esp + 0x30], 0xa5d6a7c3
mov dword [esp + 0x34], 0xa985abde
mov dword [esp + 0x38], 0xadd5affa
mov dword [esp + 0x3c], 0xb1d5b3c2
mov dword [esp + 0x40], 0xb594b788
mov dword [esp + 0x44], 0xb9c8bbdb
mov dword [esp + 0x48], 0xbdd0bfce
mov dword [esp + 0x4c], 0xc1a7c3ab
mov dword [esp + 0x50], 0xc5b0c7a7
mov dword [esp + 0x54], 0xc9bbcba3
mov dword [esp + 0x58], 0xcdffcfbc
mov dword [esp + 0x5c], 0xd1fdd3aa
mov dword [esp + 0x60], 0xd5afd7ad
mov dword [esp + 0x64], 0xd9f5dba1
mov dword [esp + 0x68], 0xddafdfb4
mov dword [esp + 0x6c], 0xe18de394
mov dword [esp + 0x70], 0xe591e7cb
mov dword [esp + 0x74], 0xe984eb9c
mov dword [esp + 0x78], 0xed9eef8b
mov dword [esp + 0x7c], 0xf183f395
mov dword [esp + 0x80], 0xf591f792
mov dword [esp + 0x84], 0xf9f5fb9e
mov dword [esp + 0x88], 0xfdfcfff0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x63
ja 0xddc5e0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x12a9c51c
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x7e
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x64
jb 0xddc5b0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], 0x95f597a5
mov dword [esp + 0x10], 0xa9d1abda
mov word [esp + 0x14], 0xafae
mov dword [esp + 0x16], 0
mov byte [esp + 0x1a], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xe
ja 0xddc653
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0xc]
add edx, 0x531ea71c
xor edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x76
mov edi, dword [esp + 4]
mov byte [esp + edi + 0xc], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xf
jb 0xddc620
lea edx, [esp + 4]
lea edi, [esp + 0xc]
push 0
push edx
push 8
push eax
push esi
push edi
push ecx
call fcn.00ddd0a0
add esp, 0x1c
test al, al
je 0xddc7b4
mov dword [esp], 0x89fffa
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0xddc6ce
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx]
lea edx, [eax + ecx]
add edx, 0x79ee5804
add eax, 0x79ee5804
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
add al, 0x71
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0xddc690
xor eax, eax
mov ecx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov dh, byte [esp + eax]
test dl, dl
je 0xddc6f0
inc eax
cmp dl, dh
je 0xddc6e0
mov al, 1
mov dword [esp + 8], eax
cmp dl, dh
je 0xddc982
mov dword [esp + 0x28], 0xfec2c1f0
mov dword [esp + 0x2c], 0x6efbfbc2
mov word [esp + 0x30], 0
mov byte [esp + 0x32], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xa
ja 0xddc77d
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx edx, byte [esp + ecx + 0x28]
lea ecx, [eax + edx]
add ecx, 0x9236e8d5
add eax, 0x9236e8d5
and eax, edx
mov edx, ecx
not edx
and edx, eax
mov edi, eax
not edi
and ecx, edi
sub ecx, edx
xor eax, ecx
and ecx, edi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xc]
add al, 0x4e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xb
jb 0xddc730
mov eax, dword [esp + 4]
movzx ebx, byte [esp + 0x28]
test bl, bl
je 0xddc7bb
mov edx, esi
mov ecx, eax
jmp 0xddc797
movzx ebx, byte [edx]
test bl, bl
je 0xddc7bd
mov bh, byte [eax]
test bh, bh
je 0xddc97a
inc eax
inc edx
lea edi, [ecx + 1]
cmp bh, bl
je 0xddc7ae
mov ecx, edi
mov eax, edi
je 0xddc790
mov edx, esi
jmp 0xddc790
xor eax, eax
jmp 0xddc992
mov ecx, eax
test ecx, ecx
je 0xddc97a
mov dword [esp + 0x28], 0x1b02091d
mov dword [esp + 0x2c], 0xc12d430
mov dword [esp + 0x30], 0xdcdf0702
mov dword [esp + 0x34], 0x70d1d01
mov dword [esp + 0x38], 0x84a73d14
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0xddc82e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x2a54142e
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x3b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0xddc800
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0xddc874
lea edi, [esp + 0x28]
mov edx, edi
mov esi, eax
jmp 0xddc857
movzx ecx, byte [edx]
test cl, cl
je 0xddc876
mov ch, byte [eax]
test ch, ch
je 0xddc97a
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0xddc86e
mov esi, ebx
mov eax, ebx
je 0xddc850
mov edx, edi
jmp 0xddc850
mov esi, eax
test esi, esi
je 0xddc97a
mov word [esp + 0x28], 0x6d42
mov byte [esp + 0x2a], 0x22
mov word [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0xddc8ce
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xcd0c2919
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xc7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0xddc8a0
movzx eax, byte [esp + 0x28]
test al, al
je 0xddc910
add esi, 0x13
lea ebp, [esp + 0x28]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0xddc8f7
movzx eax, byte [ecx]
test al, al
je 0xddc921
mov ah, byte [edx]
test ah, ah
je 0xddc97a
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0xddc90a
mov edi, ebx
mov edx, ebx
je 0xddc8f0
mov ecx, ebp
jmp 0xddc8f0
mov byte [0x2b797c4], 1
mov eax, 0x2b797c6
jmp 0xddc9a3
test edi, edi
je 0xddc97a
mov byte [0x2b797c4], 1
mov dword [esp + 0x28], 0
mov eax, 0x2b797c6
cmp esi, edi
jae 0xddc9a3
xor ebx, ebx
lea ebp, [esp + 0x28]
cmp byte [esi], 0
je 0xddc99d
push ebp
push edi
push esi
call fcn.00dddfa0
add esp, 0xc
movzx ecx, word [esp + 0x28]
mov word [ebx + 0x2b797c6], cx
lea ecx, [ebx + 2]
cmp ebx, 0x1fb
ja 0xddc972
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0xddc943
lea eax, [ecx + 0x2b797c6]
jmp 0xddc9a3
mov dword [esp + 8], 0
push dword [esp + 4]
call fcn.00e0c4a0
add esp, 4
mov eax, dword [esp + 8]
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x2b797c6]
mov word [eax], 0
jmp 0xddc982