Function at 0x40d5a0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, ecx
mov ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
mov esi, dword [eax + 0x80]
mov dword [esp + 5], 0x43bdb8ba
mov dword [esp + 9], 0x587ebabd
mov dword [esp + 0xd], 0xe3ac2cc
mov dword [esp + 0x11], 0xc0c13177
mov dword [esp + 0x15], 0xcb313f3c
mov dword [esp + 0x19], 0xdc9cc34
mov dword [esp + 0x1d], 0x26d011db
mov dword [esp + 0x21], 0xd0202d29
mov dword [esp + 0x25], 0x467a4478
mov byte [esp + 0x29], 0x4f
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], 0
mov byte [esp + 4], 0x1b
mov dword [esp], 0xd00042a
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ebx
add dl, 0x69
xor dl, byte [esp + ebx]
add dl, 0x93
mov byte [esp + ebx], dl
mov edx, ebx
and edx, 1
xor ebx, 1
lea ebx, [ebx + edx*2]
cmp ebx, 4
jb 0x40d630
mov dword [esp + 0x35], 0x5e204b85
mov dword [esp + 0x39], 0x205b5527
mov dword [esp + 0x3d], 0x2d527298
mov dword [esp + 0x41], 0x57282b2b
mov dword [esp + 0x45], 0x4e30552b
mov dword [esp + 0x49], 0x35438279
mov dword [esp + 0x4d], 0x4c864935
mov dword [esp + 0x51], 0x714e3e48
mov dword [esp + 0x55], 0xbfb2408f
mov dword [esp + 0x59], 0xb2778db4
mov dword [esp + 0x5d], 0x7abebabc
mov dword [esp + 0x61], 0xb7bb7a86
mov dword [esp + 0x65], 0xa3afb9b3
mov dword [esp + 0x69], 0x669aa5ac
mov byte [esp + 0x6d], 0x47
mov dword [esp + 0x6e], 0
mov word [esp + 0x72], 0
mov byte [esp + 0x34], 0xbb
lea edi, [esp + 0x75]
mov dword [esp + 0x75], 0x360c
mov byte [esp + 0x79], 0
add ebp, esi
mov dl, 0x2d
mov esi, ebp
nop
nop
mov byte [esi], dl
inc esi
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x40d6f0
mov byte [esi], 0
movzx edx, byte [eax + 0x60]
test dl, dl
je 0x40d72f
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi + edi], dl
movzx edx, byte [eax + edi + 0x61]
inc edi
test dl, dl
jne 0x40d710
movzx ebx, byte [esp + 0x34]
lea edx, [esi + edi]
mov byte [esi + edi], 0
test bl, bl
jne 0x40d733
jmp 0x40d74b
mov bl, 0xbb
mov edx, esi
lea esi, [esp + 0x35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40d740
mov byte [edx], 0
movzx ebx, byte [ecx]
test bl, bl
je 0x40d76b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [ecx]
inc ecx
test bl, bl
jne 0x40d760
mov byte [edx], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40d78b
lea esi, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d780
mov byte [edx], 0
movzx ecx, byte [esp + 4]
test cl, cl
mov dword [esp + 0x30], ebp
je 0x40d7ab
lea esi, [esp + 5]
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d7a0
mov byte [edx], 0
mov esi, dword [esp + 0x9c]
mov ecx, esi
mov ebx, esi
shr ecx, 2
mov ebp, dword [esp + 0x98]
mov esi, ebp
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, ebx
and ebx, 0xfffffffc
lea esi, [edx + ebx]
add ebx, ebp
mov ecx, edi
shr ecx, 1
and ecx, 1
mov ebp, ebx
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, dword [esp + 0x9c]
test cl, 1
je 0x40d7ff
and ecx, 2
movzx ebx, byte [ebx + ecx]
mov byte [esi + ecx], bl
mov dword [esp + 0x34], 0x9f999d9f
mov byte [esp + 0x38], 0x88
mov dword [esp + 0x39], 0
xor ecx, ecx
mov edi, dword [esp + 0x30]
nop
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0x63
xor bl, byte [esp + ecx + 0x34]
add bl, 0x11
mov byte [esp + ecx + 0x34], bl
inc ecx
cmp ecx, 9
jne 0x40d820
mov dword [esp + 4], 0x32331715
mov byte [esp + 8], 0xc
mov dword [esp + 9], 0
mov dword [esp + 0xc], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0x42
xor bl, byte [esp + ecx + 4]
add bl, 0xb6
mov byte [esp + ecx + 4], bl
inc ecx
cmp ecx, 0xc
jne 0x40d860
add edx, dword [esp + 0x9c]
movzx ecx, byte [esp + 4]
test cl, cl
je 0x40d89b
lea esi, [esp + 5]
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d890
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x40d8bb
lea esi, [eax + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d8b0
mov byte [edx], 0
movzx ecx, byte [esp + 0x34]
test cl, cl
je 0x40d8db
lea esi, [esp + 0x35]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d8d0
mov byte [edx], 0
mov ecx, edx
xor ecx, edi
not edi
and edi, edx
add edi, edi
sub edi, ecx
add dword [eax + 0x80], edi
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10