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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 4], 0xa26a7e79
mov dword [esp + 8], 0x46487470
lea ebx, [esp + 0xc]
mov byte [esp + 0xc], 0xa0
mov dword [esp + 0xd], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0xda
xor cl, byte [esp + eax + 4]
add cl, 0xbe
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0xd
jne 0x40ee20
lea edi, [esp + 0x73]
lea esi, [esp + 4]
mov ebp, esi
mov ecx, 2
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
lea edi, [esp + 0x7b]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx ecx, byte [esp + 0xc]
mov byte [esp + 0x7b], cl
mov dword [esp + 4], 0xff6df93f
mov dword [esp + 8], 0xe376fd6e
mov dword [esp + 0xc], 0xe774e105
mov dword [esp + 0x10], 0xebc7e570
mov dword [esp + 0x14], 0xef77e91c
mov dword [esp + 0x18], 0x9377ed7c
mov dword [esp + 0x1c], 0x97b6914e
mov dword [esp + 0x20], 0x9b0a9575
mov dword [esp + 0x24], 0x9f729908
mov dword [esp + 0x28], 0x83659d75
mov dword [esp + 0x2c], 0x87128161
mov dword [esp + 0x30], 0x8b19856d
mov dword [esp + 0x34], 0x8f5d891a
mov dword [esp + 0x38], 0xb39f8d14
mov dword [esp + 0x3c], 0xb72db12b
mov dword [esp + 0x40], 0xbb97b52f
mov dword [esp + 0x44], 0xbf2db952
mov dword [esp + 0x48], 0xa34fbd2a
mov dword [esp + 0x4c], 0xa733a18d
mov dword [esp + 0x50], 0xab46a532
mov dword [esp + 0x54], 0xaf3ca94d
mov dword [esp + 0x58], 0x53c1ad4b
mov dword [esp + 0x5c], 0x57b351b4
mov dword [esp + 0x60], 0x5b5755b0
mov dword [esp + 0x64], 0x5f5e5956
mov word [esp + 0x68], 0
mov ecx, 0x55a524ab
mov edx, 0xaa5adb55
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x55a524a7]
mov edi, edx
and edi, 0x880a53bd
mov ebp, edx
or ebp, 0x63d0a842
add ebp, ecx
or ebp, edi
mov edi, ebx
and edi, 0xffffffbd
or edi, 0x41d02802
and ebx, 0x42
xor ebx, edi
xor ebx, 0xddff7fbf
mov edi, ebx
and edi, ebp
add ebx, ebp
add edi, edi
sub ebx, edi
add bl, 0xae
mov byte [esp + ecx - 0x55a524a7], bl
inc ecx
dec edx
cmp ecx, 0x55a52511
jne 0x40ef40
mov dword [esp + 0x7c], 0x1777194b
mov dword [esp + 0x80], 0x138b1584
mov dword [esp + 0x84], 0x1110
mov byte [esp + 0x88], 0
mov ecx, 6
mov eax, 0xb7bc9ff9
movzx ebx, byte [esp + ecx + 0x76]
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
and ebp, ecx
mov edx, ebx
not edx
and edx, eax
mov edi, eax
xor edi, ebx
sub ebx, edi
add ebx, edx
or ebx, ebp
add bl, 0xe2
mov byte [esp + ecx + 0x76], bl
inc ecx
dec eax
cmp ecx, 0x13
jne 0x40efc0
mov eax, esp
lea ecx, [esp + 0x7c]
push 0
push eax
push 8
lea eax, [esp + 0x7f]
push eax
push esi
push ecx
push dword [esp + 0xb8]
call fcn.0040f9e0
add esp, 0x1c
test al, al
je 0x40f144
mov word [esp + 4], 0xe0b
mov byte [esp + 6], 0x96
mov word [esp + 7], 0
mov byte [esp + 9], 0
mov edx, 0xa6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0xa2]
mov ebx, eax
mov edi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xad
mul cl
mov ecx, eax
mov eax, edi
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, 0xc2
mov byte [esp + edx - 0xa2], al
inc edx
cmp edx, 0xac
jne 0x40f040
xor ecx, ecx
mov eax, dword [esp]
nop
nop
nop
nop
movzx edx, byte [eax + ecx]
mov dh, byte [esp + ecx + 4]
test dl, dl
je 0x40f0a1
inc ecx
cmp dl, dh
je 0x40f090
mov bl, 1
cmp dl, dh
je 0x40f2d0
mov dword [esp + 4], 0xfdebe8f9
mov dword [esp + 8], 0xdf4f2eb
mov byte [esp + 0xc], 0
mov ecx, 0x4292a5be
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi]
mov edi, ecx
or edi, edx
not edi
lea ebx, [ecx - 0x4292a500]
and ebx, edx
or ebx, edi
add ebx, 0x4cdd3cba
mov edx, ebx
xor edx, 0xfe
or ebx, 1
and edx, ebx
add edx, ebx
mov byte [esi], dl
inc esi
dec ecx
cmp ecx, 0x4292a5b5
jne 0x40f0d0
movzx ebx, byte [esp + 4]
mov ecx, eax
test bl, bl
je 0x40f14b
lea edx, [esp + 4]
mov esi, edx
mov edi, eax
mov ecx, eax
jmp 0x40f127
movzx ebx, byte [esi]
test bl, bl
je 0x40f14b
mov bh, byte [edi]
test bh, bh
je 0x40f2ce
inc edi
inc esi
lea ebp, [ecx + 1]
cmp bh, bl
je 0x40f13e
mov ecx, ebp
mov edi, ebp
je 0x40f120
mov esi, edx
jmp 0x40f120
xor ebx, ebx
jmp 0x40f2d9
test ecx, ecx
je 0x40f2ce
mov dword [esp + 4], 0x4a43584a
mov dword [esp + 8], 0xbf530b71
mov dword [esp + 0xc], 0x6f704643
mov dword [esp + 0x10], 0xc63e2cc6
mov dword [esp + 0x14], 0x47780c35
mov word [esp + 0x18], 0
mov ecx, 6
mov edx, 0x49
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 2]
mov ebx, edx
or ebx, esi
mov edi, edx
and edi, 0x79
mov ebp, ecx
and ebp, 6
or ebp, edi
xor ebp, 6
and ebp, esi
not ebx
add ebx, ebp
add bl, 0x72
mov byte [esp + ecx - 2], bl
inc ecx
dec edx
cmp ecx, 0x1c
jne 0x40f190
movzx ebx, byte [esp + 4]
mov ecx, eax
test bl, bl
je 0x40f204
lea edx, [esp + 4]
mov esi, edx
mov edi, eax
mov ecx, eax
jmp 0x40f1e7
movzx ebx, byte [esi]
test bl, bl
je 0x40f204
mov bh, byte [edi]
test bh, bh
je 0x40f2ce
inc edi
inc esi
lea ebp, [ecx + 1]
cmp bh, bl
je 0x40f1fe
mov ecx, ebp
mov edi, ebp
je 0x40f1e0
mov esi, edx
jmp 0x40f1e0
test ecx, ecx
je 0x40f2ce
mov edi, ecx
mov word [esp + 4], 0x57b2
mov byte [esp + 6], 0x92
mov word [esp + 7], 0
mov edx, 0x44c4e1dc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx - 0x44c4e1d8]
mov esi, edx
and esi, ecx
add esi, esi
sub ecx, esi
add ecx, edx
mov esi, ecx
and esi, 0x33
xor ecx, 0xb3
lea ecx, [ecx + esi*2]
inc cl
mov byte [esp + edx - 0x44c4e1d8], cl
inc edx
cmp edx, 0x44c4e1e1
jne 0x40f230
mov ecx, edi
add ecx, 0x13
movzx ebx, byte [esp + 4]
test bl, bl
je 0x40f2a0
lea esi, [esp + 4]
mov edi, esi
mov edx, ecx
mov dword [esp + 0x6c], ecx
jmp 0x40f287
movzx ebx, byte [edi]
test bl, bl
je 0x40f2a4
mov bh, byte [ecx]
test bh, bh
je 0x40f2ce
inc ecx
inc edi
lea ebp, [edx + 1]
cmp bh, bl
je 0x40f29a
mov edx, ebp
mov ecx, ebp
je 0x40f280
mov edi, esi
jmp 0x40f280
mov edx, ecx
jmp 0x40f2ac
test edx, edx
mov ecx, dword [esp + 0x6c]
je 0x40f2ce
mov byte [0x450b5c], 1
push edx
push ecx
push 0x100
push 0x450b5e
call fcn.0040eb50
add esp, 0x10
mov eax, dword [esp]
mov bl, 1
jmp 0x40f2d0
xor ebx, ebx
push eax
call fcn.0043f640
add esp, 4
mov eax, ebx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret