Function at 0x40f811
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x64
mov eax, 0x4537f9
call fcn.004534f4
sub esp, 0x78
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 4], ebx
mov al, 0x29
mov dword [ebp + 0x51], 0x6e7b4c29
mov dword [ebp + 0x55], 0x4f6e7d6a
mov dword [ebp + 0x59], 0x4a6e7572
mov byte [ebp + 0x5d], bl
mov edx, ebx
mov dword [ebp - 0x34], edx
cmp edx, 0xb
jae 0x40f874
movsx ecx, al
and ecx, 0x8000000f
jns 0x40f861
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x52]
sub al, cl
mov byte [ebp + edx + 0x52], al
inc edx
mov dword [ebp - 0x34], edx
mov al, byte [ebp + 0x51]
jmp 0x40f84c
mov byte [ebp + 0x5d], bl
lea esi, [ebp + 0x52]
mov al, 0x6d
mov dword [ebp + 0x1c], 0x7f72586d
mov dword [ebp + 0x20], 0x4079727b
mov dword [ebp + 0x24], 0x79713b3f
mov word [ebp + 0x28], 0x79
mov edx, ebx
mov dword [ebp - 0x38], edx
cmp edx, 0xc
jae 0x40f8c4
movsx ecx, al
and ecx, 0x8000000f
jns 0x40f8b1
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x1d]
sub al, cl
mov byte [ebp + edx + 0x1d], al
inc edx
mov dword [ebp - 0x38], edx
mov al, byte [ebp + 0x1c]
jmp 0x40f89c
mov byte [ebp + 0x29], bl
mov edx, esi
lea ecx, [ebp + 0x1d]
call fcn.0040c457
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x3c], 0x1e3
mov ecx, dword [ebp - 0x3c]
xor ecx, 0x163
mov dword [ebp - 0x40], 0x2a3
mov edx, dword [ebp - 0x40]
xor edx, 0x2a0
mov dword [ebp - 0x44], 0x26
mov esi, dword [ebp - 0x44]
xor esi, 0x21
mov dword [ebp - 0x30], 0x80000378
mov eax, dword [ebp - 0x30]
xor eax, 0x378
mov dword [ebp - 0x30], eax
mov edi, dword [ebp + 0x74]
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x40f920
mov eax, dword [edi]
push ebx
push ecx
push edx
push ebx
push esi
push dword [ebp - 0x30]
push eax
call dword [ebp - 0x48]
mov esi, eax
mov dword [ebp - 0x64], esi
cmp esi, 0xffffffff
jne 0x40fa5c
mov esi, dword [ebp + 0x78]
cmp dword [esi + 0x10], ebx
je 0x40fc3f
xor eax, eax
mov word [ebp + 0x7a], ax
push esi
push edi
lea ecx, [ebp + 0x7a]
call fcn.0040cf27
mov al, 0x58
mov dword [ebp + 0x44], 0x6d7a4b58
mov dword [ebp + 0x48], 0x4e6d7c69
mov dword [ebp + 0x4c], 0x496d7471
mov byte [ebp + 0x50], bl
mov edx, ebx
mov dword [ebp - 0x4c], edx
cmp edx, 0xb
jae 0x40f99d
movsx ecx, al
and ecx, 0x8000000f
jns 0x40f98a
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x45]
sub al, cl
mov byte [ebp + edx + 0x45], al
inc edx
mov dword [ebp - 0x4c], edx
mov al, byte [ebp + 0x44]
jmp 0x40f975
mov byte [ebp + 0x50], bl
lea edi, [ebp + 0x45]
mov al, 0x31
mov dword [ebp + 0xe], 0x73664c31
mov dword [ebp + 0x12], 0x346d666f
mov dword [ebp + 0x16], 0x6d652f33
mov word [ebp + 0x1a], 0x6d
mov edx, ebx
mov dword [ebp - 0x50], edx
cmp edx, 0xc
jae 0x40f9ed
movsx ecx, al
and ecx, 0x8000000f
jns 0x40f9da
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0xf]
sub al, cl
mov byte [ebp + edx + 0xf], al
inc edx
mov dword [ebp - 0x50], edx
mov al, byte [ebp + 0xe]
jmp 0x40f9c5
mov byte [ebp + 0x1b], bl
mov edx, edi
lea ecx, [ebp + 0xf]
call fcn.0040c457
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x54], 0x137
mov ecx, dword [ebp - 0x54]
xor ecx, 0x1b7
mov dword [ebp - 0x58], 0x684
mov edx, dword [ebp - 0x58]
xor edx, 0x687
mov dword [ebp - 0x5c], 0x74e
mov eax, dword [ebp - 0x5c]
xor eax, 0x74f
mov dword [ebp - 0x60], 0x80000205
mov edi, dword [ebp - 0x60]
xor edi, 0x205
cmp dword [esi + 0x14], 0x10
jb 0x40fa44
mov esi, dword [esi]
push ebx
push ecx
push edx
push ebx
push eax
push edi
push esi
call dword [ebp + 0x78]
mov esi, eax
mov dword [ebp - 0x64], esi
cmp esi, 0xffffffff
je 0x40fc3f
mov al, 0x55
mov dword [ebp + 0x37], 0x796a4c55
mov dword [ebp + 0x3b], 0x6a716e4b
mov dword [ebp + 0x3f], 0x6a7f6e58
mov byte [ebp + 0x43], bl
mov edx, ebx
mov dword [ebp - 0x68], edx
cmp edx, 0xb
jae 0x40faa3
movsx ecx, al
and ecx, 0x8000000f
jns 0x40fa90
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x38]
sub al, cl
mov byte [ebp + edx + 0x38], al
inc edx
mov dword [ebp - 0x68], edx
mov al, byte [ebp + 0x37]
jmp 0x40fa7b
mov byte [ebp + 0x43], bl
lea edi, [ebp + 0x38]
mov dl, 0x50
mov word [ebp], 0x1b50
push 0x35
pop eax
mov byte [ebp + 2], al
mov word [ebp + 3], 0x3e22
mov byte [ebp + 5], al
mov dword [ebp + 6], 0x7e62633c
mov dword [ebp + 0xa], 0x3c3c34
mov ecx, ebx
mov dword [ebp - 0x6c], ecx
cmp ecx, 0xc
jae 0x40faeb
mov al, byte [ebp + ecx + 1]
xor al, dl
mov byte [ebp + ecx + 1], al
inc ecx
mov dword [ebp - 0x6c], ecx
mov dl, byte [ebp]
jmp 0x40fad3
mov byte [ebp + 0xd], bl
mov edx, edi
lea ecx, [ebp + 1]
call fcn.0040c457
push ebx
push esi
call eax
mov dword [ebp + 0x78], eax
push eax
call fcn.004448c3
pop ecx
mov edi, eax
mov dl, 0x41
mov dword [ebp + 0x5e], 0x20241341
mov dword [ebp + 0x62], 0x2d280725
mov word [ebp + 0x66], 0x24
mov ecx, ebx
mov dword [ebp - 0x70], ecx
cmp ecx, 8
jae 0x40fb3b
mov al, byte [ebp + ecx + 0x5f]
xor al, dl
mov byte [ebp + ecx + 0x5f], al
inc ecx
mov dword [ebp - 0x70], ecx
mov dl, byte [ebp + 0x5e]
jmp 0x40fb23
mov byte [ebp + 0x67], bl
push 0x35
pop edx
mov byte [ebp - 0x1e], dl
mov dword [ebp - 0x1d], 0x5b47507e
mov dword [ebp - 0x19], 0x7065950
mov dword [ebp - 0x15], 0x5959511b
mov byte [ebp - 0x11], bl
mov ecx, ebx
mov dword [ebp - 0x74], ecx
cmp ecx, 0xc
jae 0x40fb79
mov al, byte [ebp + ecx - 0x1d]
xor al, dl
mov byte [ebp + ecx - 0x1d], al
inc ecx
mov dword [ebp - 0x74], ecx
mov dl, byte [ebp - 0x1e]
jmp 0x40fb61
mov byte [ebp - 0x11], bl
lea edx, [ebp + 0x5f]
lea ecx, [ebp - 0x1d]
call fcn.0040c457
push ebx
lea ecx, [ebp - 0x84]
push ecx
push dword [ebp + 0x78]
push edi
push esi
call eax
mov dl, 0x11
mov dword [ebp + 0x2a], 0x7e7d5211
mov dword [ebp + 0x2e], 0x70597462
mov dword [ebp + 0x32], 0x747d757f
mov byte [ebp + 0x36], bl
mov ecx, ebx
mov dword [ebp - 0x78], ecx
cmp ecx, 0xb
jae 0x40fbcd
mov al, byte [ebp + ecx + 0x2b]
xor al, dl
mov byte [ebp + ecx + 0x2b], al
inc ecx
mov dword [ebp - 0x78], ecx
mov dl, byte [ebp + 0x2a]
jmp 0x40fbb5
mov byte [ebp + 0x36], bl
mov dl, 0x23
mov dword [ebp - 0x2c], 0x51466823
mov dword [ebp - 0x28], 0x104f464d
mov dword [ebp - 0x24], 0x4f470d11
mov word [ebp - 0x20], 0x4f
mov ecx, ebx
mov dword [ebp - 0x7c], ecx
cmp ecx, 0xc
jae 0x40fc0a
mov al, byte [ebp + ecx - 0x2b]
xor al, dl
mov byte [ebp + ecx - 0x2b], al
inc ecx
mov dword [ebp - 0x7c], ecx
mov dl, byte [ebp - 0x2c]
jmp 0x40fbf2
mov byte [ebp - 0x1f], bl
lea edx, [ebp + 0x2b]
lea ecx, [ebp - 0x2b]
call fcn.0040c457
push esi
call eax
mov dword [ebp - 0x80], ebx
cmp ebx, dword [ebp + 0x78]
jae 0x40fc38
mov al, byte [ebx + edi]
mov byte [ebp + 0x77], al
lea eax, [ebp + 0x77]
push eax
mov ecx, dword [ebp + 0x70]
call fcn.0041258b
inc ebx
jmp 0x40fc1b
push edi
call fcn.004448be
pop ecx
mov al, 1
jmp 0x40fc4f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0xc