Function at 0x40d230
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, 0x5c
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x14], eax
mov word [esp], 0x8b85
mov byte [esp + 2], 0x92
mov dword [esp + 3], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx]
mov ebp, eax
and ebp, 8
mov ecx, edx
xor ecx, 0x56a5365c
add ecx, ebp
mov ebp, ecx
and ebp, ebx
add ebp, ebp
sub ecx, ebp
add ecx, ebx
mov ebp, ecx
mov ebx, ecx
xor ebx, 0x33
add ebx, ecx
and ecx, 0x33
and ebp, 0xcc
sub ebx, ebp
add ebx, ecx
inc bl
mov byte [esp + edx], bl
inc edx
add eax, 2
cmp edx, 7
jne 0x40d270
mov dword [esp + 8], 0x4a4c4852
mov dword [esp + 0xc], 0x674e
mov byte [esp + 0x10], 0
mov eax, 0x44b44aeb
mov edx, 4
movzx ebp, byte [esp + eax - 0x44b44ae3]
lea ecx, [eax - 0x44b44ac0]
mov ebx, edx
and ebx, 0xc
and ecx, 0x33
or ecx, ebx
xor ecx, 0xcc
and ecx, ebp
or ebp, eax
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
and ebx, ebp
xor ebp, ecx
or ebp, ebx
mov ecx, ebp
xor ecx, 0xe3f00ade
and ebp, 0x1c0ff521
add ebp, ebp
sub ebp, ecx
add ebp, 0x8c6a9446
mov ecx, ebp
and ecx, 0x32
xor ebp, 0xb2
lea ecx, [ecx*2]
add ecx, ebp
add cl, 0x4f
mov byte [esp + eax - 0x44b44ae3], cl
inc eax
dec edx
cmp eax, 0x44b44af4
jne 0x40d2d0
mov dword [esp + 0x1c], 0x2a287475
mov dword [esp + 0x20], 0x26267844
mov dword [esp + 0x24], 0x23363875
mov dword [esp + 0x28], 0x3e232237
mov dword [esp + 0x2c], 0x6e3b2f2e
mov dword [esp + 0x30], 0x20558381
mov dword [esp + 0x34], 0x25332522
mov dword [esp + 0x38], 0xd2ae6820
mov dword [esp + 0x3c], 0xd8ddd9df
mov dword [esp + 0x40], 0xd0dbd9d5
mov dword [esp + 0x44], 0xdd86afd2
mov dword [esp + 0x48], 0x86c7d3d7
mov dword [esp + 0x4c], 0xdecad8dc
mov dword [esp + 0x50], 0xd2c09db3
mov dword [esp + 0x54], 0x91bbd4cd
mov byte [esp + 0x58], 0x74
mov word [esp + 0x59], 0
mov byte [esp + 0x5b], 0
mov ebp, 0xbb7d23e2
nop
nop
nop
nop
movzx ebx, byte [esp + ebp + 0x4482dc3a]
mov ecx, ebx
and ecx, ebp
mov eax, ecx
or al, 0xfd
inc al
mov edx, ecx
and dl, 0xfd
mul dl
mov edx, eax
add dl, bl
mov eax, ecx
shr al, 1
and al, 1
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, ebp
add al, 0x96
mov byte [esp + ebp + 0x4482dc3a], al
inc ebp
cmp ebp, 0xbb7d2422
jne 0x40d3d0
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x14]
movzx ecx, byte [esp + 0x1c]
mov eax, ebx
test cl, cl
je 0x40d43b
lea edx, [esp + 0x1d]
mov eax, ebx
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d430
mov byte [eax], 0
movzx ecx, byte [esi]
test cl, cl
je 0x40d45b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d450
mov byte [eax], 0
movzx ecx, byte [esp + 8]
test cl, cl
je 0x40d47b
lea edx, [esp + 9]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d470
mov byte [eax], 0
movzx ecx, byte [edi]
test cl, cl
je 0x40d49b
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40d490
mov byte [eax], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40d4bb
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d4b0
mov byte [eax], 0
sub eax, ebx
mov ecx, dword [esp + 0x18]
add dword [ecx + 0x60], eax
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret 0xc