Function at 0x52e4c0
Capabilities:
Packed with generic packer

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, ecx
mov eax, dword [ebp]
cmp dword [eax + 0x768], 0
push esi
push edi
je 0x52e4fc
mov ecx, dword [eax + 0x7f8]
jmp loc.007cc588
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x24]
cmp edx, 0x11
jne 0x52e51a
mov eax, dword [esi + 0x3c]
cmp eax, 5
je 0x52e578
cmp eax, 6
je 0x52e578
cmp eax, 7
je 0x52e578
cmp byte [esi + 0x142], 0
jne 0x52e578
cmp dword [esi + 0x134], 2
je 0x52e578
cmp byte [esi + 0x141], 0
jne 0x52e578
cmp edx, 0x13
je 0x52e578
cmp byte [ebp + 0xbd], 0
jne 0x52e561
mov eax, dword [esi + 0x28]
test eax, eax
mov ecx, dword [esi + 0x1c]
jl 0x52e561
test ecx, ecx
jl 0x52e561
lea eax, [eax + eax*2 + 0x2d]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp + 4]
cmp dword [eax + ecx*4], 3
je 0x52e578
mov eax, dword [ebp + 0x28]
cmp eax, 0x20
jne 0x52e584
jmp fcn.007af74f
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp edx, 0x15
je 0x52e58e
cmp edx, 0x2e
jne 0x52e5e0
mov eax, dword [ebp + 0x24]
cmp eax, 0x17
je 0x52e770
cmp eax, 0x20
je 0x52e770
cmp eax, 0xc
je 0x52e770
mov ebx, dword [esi + 0x1c]
mov esi, dword [esi + 0x28]
mov edx, dword [ebp + 4]
mov ecx, ebx
mov eax, esi
call fcn.0040ce00
test al, al
jne 0x52e770
push esi
call fcn.0040d220
test eax, eax
jne 0x52e770
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp dword [esp + 0x2c], 1
jne 0x52e61d
cmp edx, 2
je 0x52e578
cmp edx, 0x14
je 0x52e578
cmp edx, 0x1b
je 0x52e578
cmp edx, 0x11
je 0x52e578
cmp edx, 0xf
je 0x52e609
cmp edx, 0xe
jne 0x52e61d
cmp byte [esi + 0x143], 0
setne al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp eax, 0x4c
je 0x52e627
cmp eax, 0x4d
jne 0x52e68b
cmp edx, 3
mov byte [esp + 0x28], 0
je 0x52e63b
cmp edx, 0x17
je 0x52e63b
cmp edx, 0x1e
jne 0x52e640
mov byte [esp + 0x28], 1
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x28]
mov edx, dword [ebp + 4]
push 3
call fcn.00408e40
test eax, eax
je 0x52e658
xor al, al
jmp 0x52e65c
mov al, byte [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x52e674
test al, al
je 0x52e693
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp ecx, 3
jne 0x52e68b
test al, al
jne 0x52e770
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x52e70d
mov edi, dword [esi + 0x28]
cmp edi, 8
mov ebx, dword [esi + 0x1c]
mov edx, dword [ebp + 4]
ja 0x52e6e5
cmp ebx, 5
ja 0x52e6e5
mov ecx, dword [edx + 0x8c]
call fcn.00453840
test al, al
je 0x52e6c4
mov eax, dword [edx + 0x15c]
call fcn.0043c1e0
test al, al
je 0x52e6e5
push ebx
push edi
lea ebx, [esp + 0x18]
call fcn.0040d2a0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x52e6e7
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x52e6e7
mov eax, dword [esp + 0x10]
jmp 0x52e6e7
xor eax, eax
cmp eax, esi
je 0x52e770
test eax, eax
je 0x52e770
push 0
push eax
mov ecx, ebp
call fcn.0052e4c0
test al, al
je 0x52e770
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 8
cmp eax, 2
jne 0x52e770
mov edi, dword [esi + 0x28]
cmp edi, 8
mov ebx, dword [esi + 0x1c]
mov edx, dword [ebp + 4]
ja 0x52e754
cmp ebx, 5
ja 0x52e754
mov ecx, dword [edx + 0x8c]
call fcn.00453840
test al, al
je 0x52e743
mov eax, dword [edx + 0x15c]
call fcn.0043c1e0
test al, al
je 0x52e754
push ebx
push edi
lea ebx, [esp + 0x18]
call fcn.0040d2a0
mov eax, dword [esp + 0x1c]
jmp 0x52e756
xor eax, eax
cmp eax, esi
je 0x52e770
test eax, eax
je 0x52e770
push 2
push eax
mov ecx, ebp
call fcn.0052e4c0
test al, al
jne 0x52e668
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x14
ret 8