Function at 0x40e070
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, 0xa8
cmp dword [ecx + 0x20], 0
je 0x40e505
mov esi, ecx
movzx eax, byte [ecx]
lea ecx, [esp + 0xa4]
push 0xa
push 4
push ecx
push eax
call fcn.0040e520
add esp, 0x10
mov dword [esp + 0x98], eax
lea eax, [esi + 0x10]
push eax
call fcn.0040ac60
add esp, 4
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
lea eax, [ecx + 0x400]
push eax
call fcn.0040ce70
add esp, 4
mov edi, eax
mov dword [esp + 0x10], 0x272b3628
mov byte [esp + 0x14], 0x84
mov word [esp + 0x15], 0
mov byte [esp + 0x17], 0
xor eax, eax
mov ecx, 0x3b75221f
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
lea ebx, [eax + 0x448adde0]
xor ebx, edx
not ebx
or ebx, ecx
add ebx, eax
add ebx, ebx
sub edx, ebx
add edx, eax
add edx, 0x6bcb9d80
mov ebx, edx
and ebx, 0x1f
xor edx, 0x9f
lea edx, [edx + ebx*2]
add dl, 0x9f
mov byte [esp + eax + 0x10], dl
inc eax
dec ecx
cmp eax, 8
jne 0x40e100
lea eax, [esp + 0x10]
mov ecx, esi
push 0x44f7a4
push eax
push edi
call fcn.0040da50
mov dword [esp + 0x10], 0x7916ecec
mov edx, 0xeb
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + edx - 0xdb]
mov ebx, ebp
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xed
mul cl
mov ecx, eax
mov eax, ebp
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x69
mov byte [esp + edx - 0xdb], al
inc edx
cmp edx, 0xef
jne 0x40e160
mov ecx, esi
push dword [esp + 0x98]
lea eax, [esp + 0x14]
push eax
push edi
call fcn.0040da50
mov eax, dword [str.hRjzG3__AEX]
mov dword [esp + 0x10], 0x690e0408
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xe7
xor dl, byte [esp + ecx + 0x10]
add dl, 0x7d
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 7
jne 0x40e1e0
mov ecx, esi
push eax
lea eax, [esp + 0x14]
push eax
push edi
call fcn.0040da50
mov dword [esp + 0x10], 0xf580f889
mov dword [esp + 0x14], 0x80f58cf1
mov dword [esp + 0x18], 0xee8ff481
mov byte [esp + 0x1c], 8
mov dword [esp + 0x1d], 0
mov dword [esp + 0x20], 0
mov eax, 0xeb934645
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x146cb9cb]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa7
mov byte [esp + eax + 0x146cb9cb], cl
inc eax
cmp eax, 0xeb934659
jne 0x40e240
mov dword [esp], 0xcf5aaea9
mov eax, 0xd7fe4cd2
mov ecx, 0x2801b32e
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x2801b32e]
mov edx, eax
and edx, ebx
add edx, edx
lea ebp, [eax + ebx]
sub edx, ebx
add edx, ecx
mov ebx, ebp
not ebx
and ebx, 1
and ebp, 1
and edx, 0xfe
add edx, ebp
add edx, 0x1a
xor edx, 0xfe
lea edx, [edx + ebx*2]
mov byte [esp + eax + 0x2801b32e], dl
inc eax
dec ecx
cmp eax, 0xd7fe4cd6
jne 0x40e280
mov edx, esp
mov ecx, esi
lea eax, [esp + 0x10]
push eax
push edx
push edi
call fcn.0040da50
mov dword [esp + 0x10], 0x6e66686e
mov byte [esp + 0x14], 0xec
mov dword [esp + 0x15], 0
mov word [esp + 0x19], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x2c
xor cl, byte [esp + eax + 0x10]
add cl, 0x24
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0xb
jne 0x40e300
mov ecx, esi
push dword [esp + 0xa0]
push dword [esp + 0xa0]
lea eax, [esp + 0x18]
push eax
push edi
call fcn.0040dce0
mov eax, dword [esi + 0x60]
mov dword [esp + 0x10], 0xd1bfcf89
mov dword [esp + 0x14], 0xd5a6d3be
mov dword [esp + 0x18], 0xd9b8d7b3
mov dword [esp + 0x1c], 0xddf5dbac
mov dword [esp + 0x20], 0xe1a5df88
mov dword [esp + 0x24], 0xe585e390
mov dword [esp + 0x28], 0xe9c6e7de
mov dword [esp + 0x2c], 0xed9deb87
mov dword [esp + 0x30], 0xf19aef80
mov dword [esp + 0x34], 0xf582f39b
mov dword [esp + 0x38], 0xf984f797
mov dword [esp + 0x3c], 0xfdcbfb8c
mov dword [esp + 0x40], 0x18fff9a
mov dword [esp + 0x44], 0x56d0372
mov dword [esp + 0x48], 0x962072b
mov dword [esp + 0x4c], 0xd7e0b6b
mov dword [esp + 0x50], 0x11330f6f
mov dword [esp + 0x54], 0x15701330
mov dword [esp + 0x58], 0x19611765
mov dword [esp + 0x5c], 0x1d7e1b76
mov dword [esp + 0x60], 0x216c1f7f
mov dword [esp + 0x64], 0x251d235b
mov dword [esp + 0x68], 0x29412746
mov dword [esp + 0x6c], 0x2d1d2b10
mov dword [esp + 0x70], 0x31492f48
mov dword [esp + 0x74], 0x35593307
mov dword [esp + 0x78], 0x39523744
mov dword [esp + 0x7c], 0x3d5f3b49
mov dword [esp + 0x80], 0x41593f57
mov dword [esp + 0x84], 0x45304332
mov dword [esp + 0x88], 0x49754723
mov dword [esp + 0x8c], 0x4d404b47
mov word [esp + 0x90], 0x4f4c
mov word [esp + 0x96], 0
mov dword [esp + 0x92], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xcd
xor dl, byte [esp + ecx + 0x10]
dec dl
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0x88
jne 0x40e470
mov dword [esp], 0xe145e7b5
mov dword [esp + 4], 0xdd79e370
mov word [esp + 8], 0xdfdc
mov dword [esp + 0xa], 0
mov byte [esp + 0xe], 0
xor ebx, ebx
xor ebp, ebp
nop
mov ecx, ebx
and ecx, 0x12
mov edx, ebp
xor edx, 0x59
add edx, ecx
xor dl, byte [esp + ebp]
add dl, 0x43
mov byte [esp + ebp], dl
inc ebp
add ebx, 2
cmp ebp, 0xf
jne 0x40e4b0
push 0x493e0
push eax
push edi
push 0
push 0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004108c0
add esp, 0x1c
mov ebx, eax
push edi
call fcn.0040ce80
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
jmp 0x40e507
mov bl, 1
mov eax, ebx
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret