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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov dword [esp + 8], 0x569eb2b1
mov dword [esp + 0xc], 0xd2d0d4d8
lea eax, [esp + 0x10]
mov dword [esp], eax
mov byte [esp + 0x10], 0x68
mov dword [esp + 0x11], 0
mov word [esp + 0x15], 0
mov ebx, 0xbc
mov ecx, 0x43
nop
movzx edx, byte [esp + ebx - 0xb4]
mov edi, edx
not edi
lea esi, [edx + edx]
not esi
add esi, edx
or esi, edi
and esi, ebx
lea ebp, [ecx - 0x40]
and ebp, 0x1f
mov eax, ebx
and eax, 0xe0
or eax, ebp
xor eax, 0xe0
or eax, ecx
or eax, edi
add eax, edx
inc eax
or eax, esi
add al, 0x54
mov byte [esp + ebx - 0xb4], al
inc ebx
dec ecx
cmp ebx, 0xcb
jne 0x40eb50
lea eax, [esp + 0x7f]
lea esi, [esp + 8]
mov edx, esi
mov ecx, 2
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x87]
xor edx, edx
xor ecx, ecx
mov ebx, dword [esp]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x87], cl
mov dword [esp + 8], 0x19ab1bd1
mov dword [esp + 0xc], 0xe55ae7aa
mov dword [esp + 0x10], 0xe150e34f
mov dword [esp + 0x14], 0xed1def5c
mov dword [esp + 0x18], 0xe96deb30
mov dword [esp + 0x1c], 0xf55df758
mov dword [esp + 0x20], 0xf112f332
mov dword [esp + 0x24], 0xfd4eff5f
mov dword [esp + 0x28], 0xf94efb4c
mov dword [esp + 0x2c], 0xc56bc74f
mov dword [esp + 0x30], 0xc17ec36b
mov dword [esp + 0x34], 0xcd7fcf77
mov dword [esp + 0x38], 0xc93bcb7e
mov dword [esp + 0x3c], 0xd525d770
mov dword [esp + 0x40], 0xd16bd36d
mov dword [esp + 0x44], 0xdd2ddf69
mov dword [esp + 0x48], 0xd96bdb76
mov dword [esp + 0x4c], 0xa515a766
mov dword [esp + 0x50], 0xa119a357
mov dword [esp + 0x54], 0xad1aaf1e
mov dword [esp + 0x58], 0xa918ab07
mov dword [esp + 0x5c], 0xb507b705
mov dword [esp + 0x60], 0xb119b318
mov dword [esp + 0x64], 0xbdadbf1c
mov dword [esp + 0x68], 0xb9babbaa
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x7b
xor cl, byte [esp + edx + 8]
add cl, 0x99
mov byte [esp + edx + 8], cl
inc edx
cmp edx, 0x64
jne 0x40eca0
mov dword [esp + 0x6c], 0xe145e7b5
mov dword [esp + 0x70], 0xdd79e370
mov dword [esp + 0x74], 0xdfdc
mov byte [esp + 0x78], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0x12
mov ebx, edx
xor ebx, 0xd9
add ebx, edi
xor bl, byte [esp + edx + 0x6c]
add bl, 0xc3
mov byte [esp + edx + 0x6c], bl
inc edx
add ecx, 2
cmp edx, 0xd
jne 0x40ece0
lea ecx, [esp + 4]
lea edx, [esp + 0x6c]
push 0
push ecx
push 8
push eax
push esi
push edx
push dword [esp + 0xb4]
call fcn.0040f7b0
add esp, 0x1c
xor ebx, ebx
test al, al
je 0x40ef7b
mov word [esp + 8], 0x424d
mov byte [esp + 0xa], 0x3e
mov dword [esp + 0xb], 0
mov eax, ebx
add al, 0x35
xor al, byte [esp + ebx + 8]
add al, 0xf7
mov byte [esp + ebx + 8], al
inc ebx
cmp ebx, 7
jne 0x40ed40
xor eax, eax
mov edi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edi + eax]
movzx edx, byte [esp + eax + 8]
test cl, cl
je 0x40ed72
inc eax
cmp cl, dl
je 0x40ed60
mov dword [esp], edi
mov bl, 1
cmp cl, dl
je 0x40ef70
mov dword [esp + 8], 0x5d6b6859
mov dword [esp + 0xc], 0xcd54526b
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov eax, 0x8b486eb1
mov ecx, 0x4e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x74b79157]
mov edi, ecx
xor edi, eax
and edi, edx
xor edi, eax
mov edx, edi
and edx, 0xa
xor edi, 0x8a
lea edx, [edi + edx*2]
inc dl
mov byte [esp + eax + 0x74b79157], dl
inc eax
dec ecx
cmp eax, 0x8b486ebc
jne 0x40edb0
movzx eax, byte [esp + 8]
mov ecx, dword [esp]
test al, al
je 0x40ee25
mov edx, esi
mov ecx, dword [esp]
mov ebp, ecx
jmp 0x40ee07
movzx eax, byte [edx]
test al, al
je 0x40ee25
mov ah, byte [ebp]
test ah, ah
je 0x40ef6e
inc ebp
inc edx
lea edi, [ecx + 1]
cmp ah, al
je 0x40ee1f
mov ecx, edi
mov ebp, edi
je 0x40ee00
mov edx, esi
jmp 0x40ee00
test ecx, ecx
je 0x40ef6e
mov dword [esp + 8], 0xcac3d8ca
mov dword [esp + 0xc], 0xffd38bb1
mov dword [esp + 0x10], 0xafb0c6c3
mov dword [esp + 0x14], 0xc6feecc6
mov dword [esp + 0x18], 0x47b88cf5
mov word [esp + 0x1c], 0
mov eax, 0x8044c916
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x7fbb36f2]
xor ecx, eax
mov edx, ecx
xor edx, 0x6f
and ecx, 0x10
add ecx, ecx
sub ecx, edx
inc cl
mov byte [esp + eax + 0x7fbb36f2], cl
inc eax
cmp eax, 0x8044c92c
jne 0x40ee70
movzx edx, byte [esp + 8]
mov ecx, dword [esp]
test dl, dl
je 0x40eed4
lea eax, [esp + 8]
mov esi, eax
mov ecx, dword [esp]
mov edi, ecx
jmp 0x40eeb7
movzx edx, byte [esi]
test dl, dl
je 0x40eed4
mov dh, byte [edi]
test dh, dh
je 0x40ef6e
inc edi
inc esi
lea ebp, [ecx + 1]
cmp dh, dl
je 0x40eece
mov ecx, ebp
mov edi, ebp
je 0x40eeb0
mov esi, eax
jmp 0x40eeb0
xor eax, eax
test ecx, ecx
je 0x40ef6e
mov dword [esp + 8], 0x3af9d2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0xcb
xor dl, byte [esp + eax + 8]
add dl, 9
mov byte [esp + eax + 8], dl
inc eax
cmp eax, 4
jne 0x40eef0
add ecx, 0x13
movzx edx, byte [esp + 8]
test dl, dl
je 0x40ef42
lea edi, [esp + 8]
mov eax, ecx
mov esi, ecx
jmp 0x40ef27
movzx edx, byte [edi]
test dl, dl
je 0x40ef46
mov dh, byte [eax]
test dh, dh
je 0x40ef6e
inc eax
inc edi
lea ebp, [esi + 1]
cmp dh, dl
je 0x40ef3a
mov esi, ebp
mov eax, ebp
je 0x40ef20
lea edi, [esp + 8]
jmp 0x40ef20
mov esi, ecx
jmp 0x40ef4a
test esi, esi
je 0x40ef6e
mov byte [0x44e018], 1
push esi
push ecx
push 0x100
push 0x44e01a
call fcn.0040e8a0
add esp, 0x10
mov eax, dword [esp + 4]
mov dword [esp], eax
jmp 0x40ef70
xor ebx, ebx
push dword [esp]
call fcn.0043d610
add esp, 4
mov eax, ebx
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret