Function at 0x40dc10
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa4
cmp dword [ecx + 0x20], 0
je 0x40e0bd
mov esi, ecx
movzx eax, byte [ecx]
lea ecx, [esp + 0xa0]
push 0xa
push 4
push ecx
push eax
call fcn.0040e0d0
add esp, 0x10
mov dword [esp + 0x9c], eax
lea eax, [esi + 0x10]
push eax
call fcn.0040a770
add esp, 4
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [ecx + 0x400]
push eax
call fcn.0040c900
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x555d4254
mov byte [esp + 0x18], 0xc8
mov dword [esp + 0x19], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x14]
lea ecx, [eax - 0x64584b2d]
mov ebp, 0x184b2c
sub ebp, eax
and ebp, 0x104229
and ecx, 0x92a610d6
or ecx, ebp
xor ecx, edx
mov edx, ecx
and edx, 0x60
add edx, edx
xor edx, 0x40
xor ecx, 0xc9
add ecx, edx
inc cl
mov byte [esp + eax + 0x14], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 9
jb 0x40dc90
lea eax, [esp + 0x14]
mov ecx, esi
push 0x44f368
push eax
push edi
call fcn.0040d610
mov dword [esp + 0x14], 0x57baa0b8
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov eax, 0x221cb1b
mov ebx, 0x634e4
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + eax - 0x221cb07]
mov ecx, ebx
and ecx, 0x6300d
mov edx, eax
and edx, 0x2204832
sub edx, ecx
mov ecx, edx
and ecx, ebp
add edx, ebp
add ecx, ecx
sub edx, ecx
add dl, 0xba
mov byte [esp + eax - 0x221cb07], dl
inc eax
dec ebx
cmp eax, 0x221cb22
jne 0x40dd10
mov ecx, esi
push dword [esp + 0x9c]
lea ebp, [esp + 0x18]
push ebp
push edi
call fcn.0040d610
mov eax, dword [str.BVnUqo___BrunoAgazzi]
mov dword [esp + 0x14], 0x57fae0fc
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov ecx, 0xcb2b4bee
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x34d4b426]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x5a
mov byte [esp + ecx + 0x34d4b426], dl
inc ecx
cmp ecx, 0xcb2b4bf5
jne 0x40dd80
mov ecx, esi
push eax
push ebp
push edi
call fcn.0040d610
mov dword [esp + 0x14], 0xdb24e417
mov dword [esp + 0x18], 0x2cdf20d7
mov dword [esp + 0x1c], 0xd2d5d02f
mov byte [esp + 0x20], 0xbc
mov word [esp + 0x21], 0
mov byte [esp + 0x23], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0x9e
xor cl, byte [esp + eax + 0x14]
add cl, 0xea
mov byte [esp + eax + 0x14], cl
inc eax
cmp eax, 0x10
jne 0x40dde0
mov dword [esp + 8], 0x21aa9a87
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xc9
xor cl, byte [esp + eax + 8]
add cl, 0x13
mov byte [esp + eax + 8], cl
inc eax
cmp eax, 7
jne 0x40de10
lea eax, [esp + 8]
mov ecx, esi
push ebp
push eax
push edi
call fcn.0040d610
mov dword [esp + 0x14], 0x4a424042
mov byte [esp + 0x18], 0x34
mov dword [esp + 0x19], 0
mov word [esp + 0x1d], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x36
xor cl, byte [esp + eax + 0x14]
add cl, 0xf2
mov byte [esp + eax + 0x14], cl
inc eax
cmp eax, 0xb
jne 0x40de60
mov ecx, esi
push dword [esp + 4]
push dword [esp + 4]
push ebp
mov dword [esp + 0x10], edi
push edi
call fcn.0040d850
mov eax, dword [esi + 0x60]
mov dword [esp], eax
mov dword [esp + 0x14], 0xd1bfcf89
mov dword [esp + 0x18], 0xd5a6d3be
mov dword [esp + 0x1c], 0xd9b8d7b3
mov dword [esp + 0x20], 0xddf5dbac
mov dword [esp + 0x24], 0xe1a5df88
mov dword [esp + 0x28], 0xe585e390
mov dword [esp + 0x2c], 0xe9c6e7de
mov dword [esp + 0x30], 0xed9deb87
mov dword [esp + 0x34], 0xf19aef80
mov dword [esp + 0x38], 0xf582f39b
mov dword [esp + 0x3c], 0xf984f797
mov dword [esp + 0x40], 0xfdcbfb8c
mov dword [esp + 0x44], 0x18fff9a
mov dword [esp + 0x48], 0x56d0372
mov dword [esp + 0x4c], 0x962072b
mov dword [esp + 0x50], 0xd7e0b6b
mov dword [esp + 0x54], 0x11330f6f
mov dword [esp + 0x58], 0x15701330
mov dword [esp + 0x5c], 0x19611765
mov dword [esp + 0x60], 0x1d7e1b76
mov dword [esp + 0x64], 0x216c1f7f
mov dword [esp + 0x68], 0x251d235b
mov dword [esp + 0x6c], 0x29412746
mov dword [esp + 0x70], 0x2d1d2b10
mov dword [esp + 0x74], 0x31492f48
mov dword [esp + 0x78], 0x35593307
mov dword [esp + 0x7c], 0x39523744
mov dword [esp + 0x80], 0x3d5f3b49
mov dword [esp + 0x84], 0x41593f57
mov dword [esp + 0x88], 0x45304332
mov dword [esp + 0x8c], 0x49754723
mov dword [esp + 0x90], 0x4d404b47
mov word [esp + 0x94], 0x4f4c
mov word [esp + 0x9a], 0
mov dword [esp + 0x96], 0
mov ebp, 0xd
mov eax, 0xb2
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ebp + 7]
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
and ecx, 0xf3
and ebx, 0xc
or ebx, ecx
mov edx, eax
and edx, 0xf3
mov ecx, ebp
and ecx, 0xc
or ecx, edx
xor ecx, ebx
add cl, 0x7f
mov byte [esp + ebp + 7], cl
inc ebp
dec eax
cmp ebp, 0x95
jne 0x40dfd0
mov dword [esp + 8], 0xb7d789db
mov dword [esp + 0xc], 0xb3dbb524
mov dword [esp + 0x10], 0xb1b0
xor ecx, ecx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ebx + 8]
mov edx, ebx
and edx, 0xc
mov edi, ebx
and edi, 2
mov eax, edi
xor eax, 2
imul eax, edx
or edx, 2
imul edx, edi
add edx, eax
mov eax, ecx
or eax, 0x3938d7e2
mov edi, ebx
sub edi, eax
mov eax, edx
and eax, edi
xor edi, edx
lea eax, [edi + eax*2]
xor eax, ebp
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
add al, 0x69
mov byte [esp + ebx + 8], al
inc ebx
add ecx, 2
cmp ebx, 0xc
jne 0x40e030
push 0x493e0
push dword [esp + 4]
mov edi, dword [esp + 0xc]
push edi
push 0
push 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00410370
add esp, 0x1c
mov ebx, eax
push edi
call fcn.0040c910
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
jmp 0x40e0bf
mov bl, 1
mov eax, ebx
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret