Function at 0x40d6e0
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, 0x90
mov ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
mov ecx, dword [ecx + 0x60]
mov dword [esp + 0x64], 0x65686a31
mov dword [esp + 0x68], 0x367a7513
mov dword [esp + 0x6c], 0xa726418
mov dword [esp + 0x70], 0x7101cf26
mov dword [esp + 0x74], 0x1070470
mov dword [esp + 0x78], 0x9047c7b
mov dword [esp + 0x7c], 0x410b45
mov dword [esp + 0x80], 0x7075097e
mov dword [esp + 0x84], 0xaaaca800
mov word [esp + 0x88], 0x87ae
mov dword [esp + 0x8a], 0
mov byte [esp + 0x8e], 0
xor eax, eax
nop
nop
nop
nop
mov edx, eax
add dl, 0x2b
xor dl, byte [esp + eax + 0x64]
add dl, 0x29
mov byte [esp + eax + 0x64], dl
inc eax
cmp eax, 0x2b
jne 0x40d770
mov dword [esp], 0xf3c8c4d2
mov dword [esp + 4], 0
mov esi, 0x9faf82ac
mov edi, 0x53
nop
movzx eax, byte [esp + esi + 0x60507d54]
lea edx, [eax + eax]
not edx
add edx, eax
and edx, esi
and eax, edi
or eax, edx
add eax, 0xe19272a3
mov edx, eax
and edx, 1
or eax, 1
add eax, edx
mov byte [esp + esi + 0x60507d54], al
inc esi
dec edi
cmp esi, 0x9faf82b4
jne 0x40d7a0
mov dword [esp + 0x10], 0x566ca0a3
mov dword [esp + 0x14], 0x52566468
mov dword [esp + 0x18], 0x5d265c63
mov dword [esp + 0x1c], 0x5a515e29
mov dword [esp + 0x20], 0x72592d2e
mov dword [esp + 0x24], 0x3467a9af
mov dword [esp + 0x28], 0x4741334a
mov dword [esp + 0x2c], 0x466e843c
mov dword [esp + 0x30], 0xc43f3f39
mov dword [esp + 0x34], 0xc4b9c7bb
mov dword [esp + 0x38], 0xbf768dba
mov dword [esp + 0x3c], 0x72b5c9c9
mov dword [esp + 0x40], 0xa2cabcb8
mov dword [esp + 0x44], 0xa6ac639d
mov dword [esp + 0x48], 0x6b99a0ab
mov dword [esp + 0x4c], 0xaaa6a0ae
mov dword [esp + 0x50], 0x976e926e
mov dword [esp + 0x54], 0x9b959f9b
mov dword [esp + 0x58], 0xa6919897
mov word [esp + 0x5c], 0x7b5a
mov byte [esp + 0x62], 0
mov dword [esp + 0x5e], 0
xor esi, esi
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
and edx, 0xba
mov eax, edi
xor eax, 0x5d
add eax, edx
xor al, byte [esp + edi + 0x10]
add al, 0x2f
mov byte [esp + edi + 0x10], al
inc edi
add esi, 2
cmp edi, 0x53
jne 0x40d890
add ebx, ecx
movzx eax, byte [esp + 0x10]
mov edx, ebx
test al, al
je 0x40d8db
lea esi, [esp + 0x11]
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d8d0
mov byte [edx], 0
movzx eax, byte [ebp]
test al, al
je 0x40d8fc
inc ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebp]
inc ebp
test al, al
jne 0x40d8f0
mov byte [edx], 0
movzx eax, byte [esp]
test al, al
je 0x40d91b
lea ecx, [esp + 1]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d910
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
mov dword [esp + 8], ebx
je 0x40d93b
lea ecx, [esp + 0x65]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d930
mov byte [edx], 0
mov ebx, dword [esp + 0xb0]
mov ecx, ebx
shr ecx, 2
mov ebp, dword [esp + 0xac]
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, ebx
xor ecx, 3
mov eax, ebx
or eax, 0xfffffffc
and eax, ecx
lea esi, [edx + eax]
add eax, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, eax
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
je 0x40d992
mov ecx, dword [esp + 0xb0]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x2032f2d
mov dword [esp + 0x14], 0x7e7a484a
mov dword [esp + 0x18], 0x36034c4c
mov dword [esp + 0x1c], 0x3439313c
mov dword [esp + 0x20], 0xc9c83431
mov dword [esp + 0x24], 0x55577439
mov word [esp + 0x28], 0x5755
mov byte [esp + 0x2a], 0x5e
mov word [esp + 0x2b], 0
mov ecx, 0x36
mov esi, 0xc9
mov ebx, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x26]
mov edi, ecx
or edi, eax
not eax
or eax, esi
and eax, edi
add al, 0xf2
mov byte [esp + ecx - 0x26], al
inc ecx
dec esi
cmp ecx, 0x53
jne 0x40d9f0
add edx, dword [esp + 0xb0]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40da2b
lea ecx, [esp + 0x11]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40da20
mov byte [edx], 0
sub edx, ebx
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret 0x10