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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
mov esi, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x10], eax
mov word [esp], 0x1b25
mov byte [esp + 2], 0x12
mov dword [esp + 3], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0x84
xor bl, byte [esp + eax]
add bl, 0x6c
mov byte [esp + eax], bl
inc eax
cmp eax, 7
jne 0x40d860
mov dword [esp + 8], 0x1210142e
mov dword [esp + 0xc], 0xd12
mov eax, 0x42
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x3a]
lea ebx, [eax - 0x60818600]
mov ebp, eax
and ebp, edi
or ebx, edi
xor ebx, ebp
neg ebx
mov edi, ebx
and edi, 0x4b
add edi, edi
xor ebx, 0xb4
sub ebx, edi
add bl, 2
mov byte [esp + eax - 0x3a], bl
inc eax
cmp eax, 0x4a
jne 0x40d890
mov dword [esp + 0x18], 0xfaf83c3d
mov dword [esp + 0x1c], 0xfefe282c
mov dword [esp + 0x20], 0xf3eef82d
mov dword [esp + 0x24], 0xf6f3f2ef
mov dword [esp + 0x28], 0xd60be7e6
mov dword [esp + 0x2c], 0x10edb3b1
mov dword [esp + 0x30], 0x1d031d12
mov dword [esp + 0x34], 0x2e6d810
mov dword [esp + 0x38], 0x8051917
mov dword [esp + 0x3c], 0x1b091d
mov dword [esp + 0x40], 0x15def702
mov dword [esp + 0x44], 0xce0f030f
mov dword [esp + 0x48], 0x263a1814
mov dword [esp + 0x4c], 0x2230e5c3
mov dword [esp + 0x50], 0xe1cb2c35
mov byte [esp + 0x54], 0x8c
mov dword [esp + 0x55], 0
mov byte [esp + 0x59], 0
mov edi, 0xb0cc6bee
mov ebp, 0x4f339411
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 0x4f33942a]
mov ebx, edi
and ebx, eax
add ebx, ebx
sub ebx, eax
add ebx, ebp
and ebx, edi
mov ecx, ebx
and ecx, 2
mov edx, ebx
or ebx, 2
imul ebx, ecx
xor ecx, 2
and edx, 0xb0cc6ffd
imul edx, ecx
add ebx, edx
lea ecx, [ebp - 0x4f339400]
and ecx, ebx
not ebx
and ebx, edi
sub ebx, ecx
add bl, al
add bl, 0x5a
mov byte [esp + edi + 0x4f33942a], bl
inc edi
dec ebp
cmp edi, 0xb0cc6c30
jne 0x40d960
mov ecx, dword [esp + 0x70]
add ecx, dword [esp + 0x10]
movzx eax, byte [esp + 0x18]
mov edi, ecx
test al, al
je 0x40d9db
lea ebx, [esp + 0x19]
mov edi, ecx
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x40d9d0
mov byte [edi], 0
movzx eax, byte [esi]
test al, al
je 0x40d9fd
inc esi
mov edx, dword [esp + 0x78]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d9f0
jmp 0x40da01
mov edx, dword [esp + 0x78]
mov byte [edi], 0
movzx eax, byte [esp + 8]
test al, al
je 0x40da2b
lea esi, [esp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40da20
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x40da4b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x40da40
mov byte [edi], 0
movzx eax, byte [esp]
test al, al
je 0x40da6b
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x40da60
mov byte [edi], 0
sub edi, ecx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x60]
mov ecx, eax
and ecx, edi
xor edi, eax
lea eax, [edi + ecx*2]
mov dword [edx + 0x60], eax
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret 0xc