Function at 0x40ad45
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x417040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], esi
and dword [eax], 0
mov dword [ebp - 0x34], eax
test esi, esi
jne 0x40ad72
xor eax, eax
jmp 0x40afef
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x10]
push ebx
push edi
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x10], 0x74737953
push 0
push eax
mov dword [ebp - 0xc], 0x6f526d65
mov word [ebp - 8], 0x746f
mov byte [ebp - 6], 0
call fcn.00405ceb
add esp, 0xc
test eax, eax
je 0x40adbb
cmp eax, 0x16
je 0x40affc
call fcn.00405b17
mov esi, dword [eax]
jmp 0x40aef5
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x40add6
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40adc5
sub ecx, edx
lea eax, [ecx + 0xc]
mov dword [ebp - 0x1c], eax
jmp 0x40addd
mov dword [ebp - 0x1c], 0xb
cmp dword [esi], 0
mov edx, esi
push 2
pop ebx
mov dword [ebp - 0x2c], ebx
je 0x40ae06
mov ecx, dword [edx]
lea edx, [edx + 4]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40adf2
sub ecx, edi
inc ebx
add ebx, ecx
cmp dword [edx], 0
jne 0x40adea
mov dword [ebp - 0x2c], ebx
call fcn.00408246
mov edi, eax
test edi, edi
jne 0x40ae20
push edi
call fcn.00405b30
pop ecx
push 0x16
pop esi
jmp 0x40aef5
cmp byte [edi], 0x3d
mov ecx, edi
je 0x40ae3d
mov edx, ecx
lea ebx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40ae2c
sub edx, ebx
inc ecx
add ecx, edx
cmp byte [ecx], 0x3d
jne 0x40ae27
mov ebx, ecx
mov dword [ebp - 0x30], ecx
cmp byte [ebx + 1], 0
je 0x40ae71
cmp byte [ebx + 2], 0x3a
jne 0x40ae71
cmp byte [ebx + 3], 0x3d
jne 0x40ae71
lea edx, [ebx + 4]
lea eax, [edx + 1]
mov dword [ebp - 0x24], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40ae5d
sub edx, dword [ebp - 0x24]
add ebx, 5
add ebx, edx
cmp byte [ebx], 0x3d
je 0x40ae42
mov edx, dword [esi]
sub ebx, ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], esi
jmp 0x40aea9
lea ecx, [ebp - 0x10]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ae83
sub ecx, esi
lea eax, [ebp - 0x10]
push ecx
push eax
push edx
call fcn.0040cad5
add esp, 0xc
test eax, eax
je 0x40af05
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
mov edx, dword [eax]
test edx, edx
jne 0x40ae7d
xor dl, dl
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
add eax, ebx
add ecx, eax
mov byte [ebp - 0x11], dl
test dl, dl
push 1
cmovne ecx, eax
push ecx
mov dword [ebp - 0x18], ecx
call fcn.00406ee0
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x40af09
push 0xe
call fcn.00405abb
call fcn.00405b17
push 0xc
pop esi
push 0
mov dword [eax], esi
call fcn.00405b30
push edi
call fcn.00405b30
add esp, 0xc
push dword [ebp - 0x20]
call fcn.00405b30
pop ecx
mov eax, esi
jmp 0x40afed
mov dl, 1
jmp 0x40aeaf
mov eax, dword [ebp - 0x24]
mov ebx, esi
test eax, eax
je 0x40af2f
push eax
push dword [ebp - 0x30]
push esi
call fcn.00402b00
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x18], ecx
lea ebx, [esi + eax]
jmp 0x40af32
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
jmp 0x40af76
push eax
push ecx
push ebx
call fcn.0040536b
add esp, 0xc
test eax, eax
jne 0x40affc
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx]
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af57
sub ecx, dword [ebp - 0x24]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
add ebx, eax
add edx, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [edx]
test eax, eax
jne 0x40af39
cmp byte [ebp - 0x11], al
jne 0x40afc3
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x1c]
push ebx
call fcn.0040536b
add esp, 0xc
test eax, eax
jne 0x40affc
push 0x412084
push dword [ebp - 0x1c]
push ebx
call fcn.0040ab93
add esp, 0xc
test eax, eax
jne 0x40affc
cmp dword [ebp - 0x20], eax
je 0x40afc0
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push ebx
call fcn.0040ab93
add esp, 0xc
test eax, eax
jne 0x40affc
add ebx, dword [ebp - 0x1c]
cmp ebx, esi
jne 0x40afcb
mov byte [ebx], 0
inc ebx
mov eax, dword [ebp - 0x34]
mov byte [ebx], 0
push 0
mov dword [eax], esi
call fcn.00405b30
push edi
call fcn.00405b30
push dword [ebp - 0x20]
call fcn.00405b30
add esp, 0xc
xor eax, eax
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00401b7e
leave
ret
push 0
push 0
push 0
push 0
push 0
call fcn.004059a9
int3