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

Disassembly:
push ebx
push esi
sub esp, 0x14
push 0x40
call fcn.0040d37b
add esp, 4
mov esi, eax
mov ecx, eax
call fcn.00401000
call fcn.0040cac2
test eax, eax
jne 0x40d04e
mov ecx, esi
call fcn.00401692
mov dword [esp + 0xa], 0x4a67425c
mov dword [esp + 0xe], 0x4f5e5956
mov word [esp + 0x12], 0x4e
mov word [esp + 8], 0x4c45
xor eax, eax
inc eax
mov cl, 0xcb
mov edx, eax
mov ch, byte [esp + eax + 8]
mov eax, ecx
mov ah, cl
and al, 3
mov bh, dl
mov esi, edx
add bh, 0x33
mov cl, bh
and cl, 0x30
or cl, al
mov dl, ah
mov byte [esp + 7], ah
or dl, 0x33
xor dl, cl
mov al, dl
xor al, 0x10
xor dl, 0x44
and al, 0x9b
and dl, 0x64
or dl, al
mov al, dl
xor al, 0x46
xor dl, 0xa8
and al, 0x6e
mov cl, dl
and cl, 0x91
or cl, al
xor cl, 4
and dl, 0x6a
or dl, cl
mov al, dl
not al
mov byte [esp + 3], al
mov al, ah
and al, 0xa5
and bh, 0x5a
or bh, al
mov al, bh
xor al, 0x10
and al, 0x95
xor bh, 0xcf
or bh, al
mov ah, bh
not ah
mov dh, ch
mov cl, ch
not cl
mov al, cl
and al, 0x80
mov bl, ch
and bl, 0x55
or bl, al
xor bl, 0x55
or ch, 0x22
mov al, dh
and al, 0x22
or al, bl
and ch, 0x2a
xor ch, al
mov al, ch
not al
and al, 8
and ch, 0xf7
or ch, al
mov al, ch
not al
mov bl, al
and bl, 0xf0
and ch, 0xf
or ch, bl
xor ch, 0x65
or ch, al
mov al, cl
and al, 0x95
and dh, 0x6a
or dh, al
xor cl, dh
and cl, dh
mov byte [esp + 5], cl
mov cl, bh
and cl, 0x80
xor bh, 0xea
and bh, ah
mov al, ah
and al, 0x7f
or al, cl
mov cl, al
xor cl, 0x7f
mov byte [esp + 6], cl
mov dh, dl
xor dh, 0xea
mov bl, dh
and bl, dl
and dh, byte [esp + 3]
xor dh, bl
mov ah, al
xor ah, 0x95
and ah, cl
mov bl, ah
not bl
mov cl, bl
and cl, 0xe0
and ah, 0x1f
or ah, cl
mov cl, bh
not cl
or bl, cl
and cl, 0xe0
and bh, 0x1f
or bh, cl
xor bh, ah
mov cl, ch
not cl
mov byte [esp + 4], cl
not bl
or bl, bh
mov cl, dh
not cl
and cl, 0xf9
and dh, 6
or dh, cl
mov cl, bl
not cl
and cl, 0xf9
and bl, 6
or bl, cl
xor bl, dh
xor al, 0x80
mov ah, byte [esp + 3]
mov cl, ah
and cl, 0x85
and dl, 0x7a
or dl, cl
or ah, al
mov cl, ah
and al, 0x85
mov ah, byte [esp + 6]
and ah, 0x7a
or ah, al
xor ah, dl
not cl
or cl, ah
mov eax, ecx
not al
and al, 0x1d
and cl, 0xe2
or cl, al
mov eax, ecx
xor al, 0xc2
xor cl, 0x1d
mov edx, ecx
mov ah, bl
not ah
mov cl, ah
and cl, 0x38
and bl, 0xc7
or bl, cl
or ah, dl
and dl, 0x38
and al, 0xc7
or al, dl
xor al, bl
not ah
or ah, al
mov byte [esp + 3], ah
mov al, ch
and al, 0xab
xor ch, 0xfc
mov dl, byte [esp + 4]
and ch, dl
and dl, 0x54
or dl, al
mov dh, dl
xor dh, 0x54
mov byte [esp + 4], dh
mov ah, byte [esp + 5]
mov bl, ah
not bl
mov cl, bl
and cl, 0x96
and ah, 0x69
or ah, cl
mov bh, ah
xor bh, 0x69
mov cl, dl
xor cl, 0xa8
and cl, dh
mov al, cl
and al, ch
xor ch, cl
mov dh, ah
xor dh, 0x95
and dh, bh
or ch, al
mov cl, dh
not cl
mov al, cl
and al, 0x6b
and dh, 0x94
or dh, al
or bl, 3
or cl, bl
and bl, 0x6b
mov al, byte [esp + 5]
and al, 0x94
or al, bl
xor al, dh
not cl
or cl, al
mov al, ch
not al
and al, cl
not cl
and cl, ch
or cl, al
xor dl, 0xab
mov al, dl
and al, 0x6e
mov ch, byte [esp + 4]
and ch, 0x91
or ch, al
xor ah, 0x96
or dl, ah
and ah, 0x6e
and bh, 0x91
or bh, ah
xor bh, ch
not dl
or dl, bh
not dl
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov dh, byte [esp + 3]
mov cl, dh
not cl
and cl, 3
mov al, dh
and al, 8
or al, cl
xor al, 3
mov ch, dh
xor ch, 0xb
and dh, ch
mov ah, dl
mov cl, dl
xor cl, 0xb
and cl, dl
not dl
and dl, 0xa0
and ah, 0x5f
or ah, dl
mov dl, ah
xor dl, 0x5f
xor ah, 0xab
and ah, dl
or al, 0xf4
mov dl, al
and dl, 8
and ch, 3
or ch, dl
mov dl, dh
not dl
or al, dl
and dl, 8
and dh, 0xf7
or dh, dl
xor dh, ch
not al
or al, dh
mov dl, ah
and dl, cl
xor cl, ah
or cl, dl
mov edx, eax
not dl
and dl, cl
not cl
and cl, al
or cl, dl
mov edx, esi
mov byte [esp + esi + 8], cl
inc edx
mov cl, byte [esp + 7]
dec cl
mov eax, edx
cmp edx, 0xb
jne 0x40d071
lea eax, [esp + 8]
mov byte [eax + 0xb], 0
push eax
call fcn.0040165b
push 0
call eax