Function at 0x40ae57
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x34
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx + 4]
cmp eax, 0x80
push esi
push edi
mov byte [ebp - 1], 0
jg 0x40ae7c
movsx ecx, byte [ecx + 8]
jmp 0x40ae7f
mov ecx, dword [ecx + 8]
cmp ecx, 0xffffffff
mov dword [ebp - 8], ecx
jl 0x40ae8b
cmp ecx, eax
jl 0x40ae90
call fcn.0040a4cf
mov esi, dword [ebp + 8]
mov edi, 0xe06d7363
cmp dword [esi], edi
jne 0x40b161
cmp dword [esi + 0x10], 3
mov ebx, 0x19930520
jne 0x40afc3
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x40aec8
cmp eax, 0x19930521
je 0x40aec8
cmp eax, 0x19930522
jne 0x40afc3
cmp dword [esi + 0x1c], 0
jne 0x40afc3
call fcn.004095d6
cmp dword [eax + 0x88], 0
je 0x40b1a0
call fcn.004095d6
mov esi, dword [eax + 0x88]
mov dword [ebp + 8], esi
call fcn.004095d6
mov eax, dword [eax + 0x8c]
push 1
push esi
mov dword [ebp + 0x10], eax
call fcn.0040ea80
test eax, eax
pop ecx
pop ecx
jne 0x40af13
call fcn.0040a4cf
cmp dword [esi], edi
jne 0x40af3d
cmp dword [esi + 0x10], 3
jne 0x40af3d
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x40af32
cmp eax, 0x19930521
je 0x40af32
cmp eax, 0x19930522
jne 0x40af3d
cmp dword [esi + 0x1c], 0
jne 0x40af3d
call fcn.0040a4cf
call fcn.004095d6
cmp dword [eax + 0x94], 0
je 0x40afc3
call fcn.004095d6
mov edi, dword [eax + 0x94]
call fcn.004095d6
and dword [eax + 0x94], 0
push edi
call fcn.0040a825
test al, al
pop ecx
jne 0x40afbe
xor ebx, ebx
xor esi, esi
cmp dword [edi], ebx
jle 0x40af92
mov eax, dword [edi + 4]
mov ecx, dword [ebx + eax + 4]
push 0x415194
call fcn.0040898d
test eax, eax
jne 0x40af97
inc esi
add ebx, 0x10
cmp esi, dword [edi]
jl 0x40af75
jmp fcn.0040a479
push 1
push dword [ebp + 8]
call fcn.0040a79e
pop ecx
pop ecx
push 0x40165c
lea ecx, [ebp - 0x34]
call fcn.0040a521
push 0x41345c
lea eax, [ebp - 0x34]
push eax
call fcn.00408915
mov edi, 0xe06d7363
cmp dword [esi], edi
jne 0x40b15e
cmp dword [esi + 0x10], 3
jne 0x40b15e
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x40afee
cmp eax, 0x19930521
je 0x40afee
cmp eax, 0x19930522
jne 0x40b15e
mov edi, dword [ebp + 0x18]
cmp dword [edi + 0xc], 0
jbe 0x40b0cc
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
push dword [ebp + 0x20]
push edi
call fcn.00407adc
add esp, 0x14
mov edi, eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
jae 0x40b0c9
mov eax, dword [ebp - 8]
cmp dword [edi], eax
jg 0x40b0be
cmp eax, dword [edi + 4]
jg 0x40b0be
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0xc]
test eax, eax
mov dword [ebp - 0x1c], eax
jle 0x40b0be
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0xc]
lea ecx, [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
test eax, eax
mov dword [ebp - 0x18], eax
jle 0x40b089
mov eax, dword [ebp - 0x14]
push dword [esi + 0x1c]
mov ebx, dword [eax]
push ebx
push dword [ebp - 0xc]
call 0x40a5a2
add esp, 0xc
test eax, eax
jne 0x40b098
dec dword [ebp - 0x18]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], eax
jg 0x40b065
dec dword [ebp - 0x1c]
add dword [ebp - 0xc], 0x10
cmp dword [ebp - 0x1c], 0
jg 0x40b055
jmp 0x40b0be
push dword [ebp + 0x24]
mov byte [ebp - 1], 1
push dword [ebp + 0x20]
push ebx
push dword [ebp + 0x18]
mov ebx, dword [ebp - 0xc]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
call fcn.0040aceb
mov esi, dword [ebp + 8]
add esp, 0x1c
inc dword [ebp - 0x10]
add edi, 0x14
jmp 0x40b014
mov edi, dword [ebp + 0x18]
cmp byte [ebp + 0x1c], 0
je 0x40b0dc
push 1
push esi
call fcn.0040a79e
pop ecx
pop ecx
cmp byte [ebp - 1], 0
jne 0x40b18d
mov eax, dword [edi]
and eax, 0x1fffffff
cmp eax, 0x19930521
jb 0x40b18d
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x40b18d
push eax
call fcn.0040a825
test al, al
pop ecx
jne 0x40b18d
call fcn.004095d6
call fcn.004095d6
call fcn.004095d6
mov dword [eax + 0x88], esi
call fcn.004095d6
cmp dword [ebp + 0x24], 0
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x8c], ecx
push esi
jne 0x40b13d
push dword [ebp + 0xc]
jmp 0x40b140
push dword [ebp + 0x24]
call fcn.0040788f
push 0xffffffffffffffff
push edi
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.0040a66e
add esp, 0x10
push dword [edi + 0x1c]
call fcn.0040a8bd
mov ebx, dword [ebp + 0x18]
cmp dword [ebx + 0xc], 0
jbe 0x40b18d
cmp byte [ebp + 0x1c], 0
jne 0x40af92
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp - 8]
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.0040ad5e
add esp, 0x20
call fcn.004095d6
cmp dword [eax + 0x94], 0
je 0x40b1a0
call fcn.0040a4cf
pop edi
pop esi
pop ebx
leave
ret