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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov eax, dword [ebp + 8]
add eax, dword [ecx + 0x60]
mov dword [esp + 0x60], 0
mov byte [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov word [esp + 0x60], 0x8385
mov byte [esp + 0x62], 0xb4
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x18
ja 0x408fb4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edi, byte [esp + edx + 0x60]
lea edx, [esi + edi]
add edx, 0x24eeea69
add esi, 0x24eeea69
and esi, edi
add esi, esi
sub edx, esi
mov esi, edx
xor esi, 0x20
and edx, 0x20
lea edx, [esi + edx*2]
inc dl
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x60], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x19
jb 0x408f70
mov dword [esp + 0x80], 0xb4b2b654
mov word [esp + 0x84], 0xbdb0
mov dword [esp + 0x86], 0
mov dword [esp + 0x8a], 0
mov dword [esp + 0x8e], 0
mov dword [esp + 0x92], 0
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x15
ja 0x40904f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x80]
lea edi, [edx + 0x128b15c7]
and edi, esi
add edx, esi
add edx, 0x128b15c7
add edi, edi
sub edx, edi
add dl, 0x8f
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x80], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x16
jb 0x409010
mov dword [esp + 0x10], 0xfcf2a6a1
mov dword [esp + 0x14], 0xf0f0a2aa
mov dword [esp + 0x18], 0xf7e8f2a1
mov dword [esp + 0x1c], 0xc8cfc8eb
mov dword [esp + 0x20], 0x90cfd3d4
mov dword [esp + 0x24], 0xdee1a7b5
mov dword [esp + 0x28], 0xddc7d5d8
mov dword [esp + 0x2c], 0xdcf882d6
mov dword [esp + 0x30], 0xcec1c1cb
mov dword [esp + 0x34], 0xced7c1d9
mov dword [esp + 0x38], 0xd59883c8
mov dword [esp + 0x3c], 0xf0b3b7cb
mov dword [esp + 0x40], 0xa0bca2aa
mov dword [esp + 0x44], 0xacbaed87
mov dword [esp + 0x48], 0xe98fa6b9
mov byte [esp + 0x4c], 0xca
mov dword [esp + 0x4d], 0
mov dword [esp + 0x51], 0
mov dword [esp + 0x55], 0
mov byte [esp + 0x59], 0
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 0x49
ja 0x409149
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edi, byte [esp + edx + 0x10]
lea edx, [esi + edi]
add edx, 0xdf2fa393
add esi, 0xdf2fa393
and esi, edi
add esi, esi
sub edx, esi
add dl, 0xfb
mov esi, dword [esp + 0xc]
mov byte [esp + esi + 0x10], dl
mov edx, dword [esp + 0xc]
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc]
cmp edx, 0x4a
jb 0x409100
mov esi, dword [ebp + 0xc]
movzx ebx, byte [esp + 0x10]
mov edx, eax
test bl, bl
je 0x40916b
lea edi, [esp + 0x11]
mov edx, eax
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409160
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x40918b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409180
mov esi, dword [ebp + 0x10]
mov byte [edx], 0
movzx ebx, byte [esp + 0x80]
test bl, bl
je 0x4091bb
lea edi, [esp + 0x81]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x4091b0
mov byte [edx], 0
movzx ebx, byte [esi]
test bl, bl
je 0x4091db
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x4091d0
mov byte [edx], 0
movzx ebx, byte [esp + 0x60]
test bl, bl
je 0x4091fb
lea esi, [esp + 0x61]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x4091f0
mov byte [edx], 0
sub edx, eax
mov eax, dword [ecx + 0x60]
mov esi, eax
and esi, edx
xor edx, eax
lea eax, [edx + esi*2]
mov dword [ecx + 0x60], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc