Function at 0x5ad2a1
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, 0xff
push 0x55
pop ebx
mov byte [ebp - 8], 0x49
mov byte [ebp - 7], 0x44
mov byte [ebp - 6], 0x41
mov byte [ebp - 5], 0x54
mov byte [ebp - 4], 0
mov byte [ebp - 0x18], 0x66
mov byte [ebp - 0x17], 0x64
mov byte [ebp - 0x16], 0x41
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x10], 0x49
mov byte [ebp - 0xf], 0x45
mov byte [ebp - 0xe], 0x4e
mov byte [ebp - 0xd], 0x44
mov byte [ebp - 0xc], 0
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], 0x33
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x50], 0x80
mov dword [ebp - 0x4c], 8
mov dword [ebp - 0x48], 0x88
mov dword [ebp - 0x44], 0x22
mov dword [ebp - 0x40], 0xaa
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], edi
test esi, esi
je 0x5ad76d
test byte [esi + 0x70], 0x40
jne 0x5ad34c
push esi
call fcn.005b6e95
pop ecx
cmp byte [esi + 0x127], 0
je 0x5ad397
test byte [esi + 0x74], 2
je 0x5ad397
movzx eax, byte [esi + 0x128]
xor ecx, ecx
sub eax, ecx
je 0x5ad46b
dec eax
je 0x5ad44c
dec eax
je 0x5ad42f
dec eax
je 0x5ad410
dec eax
je 0x5ad3f7
dec eax
je 0x5ad3d6
dec eax
jne 0x5ad397
test byte [esi + 0xe8], 1
je 0x5ad48a
test byte [esi + 0x6c], 4
jne 0x5ad3aa
push 0x62f778
push esi
call fcn.005b490f
pop ecx
pop ecx
mov eax, dword [esi + 0xf0]
mov dword [esi + 0x84], eax
mov al, byte [esi + 0x12d]
cmp al, 8
movzx eax, al
jb 0x5ad496
shr eax, 3
imul eax, dword [esi + 0xe4]
jmp 0x5ad4a3
test byte [esi + 0xe8], 1
jne 0x5ad3e8
cmp dword [esi + 0xcc], 2
jae 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
push ebx
jmp 0x5ad47e
mov eax, dword [esi + 0xe8]
mov edx, eax
and dl, 3
cmp dl, 2
je 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
test al, 2
jmp 0x5ad47b
test byte [esi + 0xe8], 3
jne 0x5ad426
cmp dword [esi + 0xcc], 3
jae 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
push 0x33
jmp 0x5ad47e
mov eax, dword [esi + 0xe8]
mov edx, eax
and dl, 7
cmp dl, 4
je 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
test al, 4
jmp 0x5ad47b
test byte [esi + 0xe8], 7
jne 0x5ad462
cmp dword [esi + 0xcc], 5
jae 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
push 0xf
jmp 0x5ad47e
test byte [esi + 0xe8], 7
je 0x5ad397
cmp dword [ebp + 0x10], ecx
je 0x5ad48a
push edi
push dword [ebp + 0x10]
push esi
call fcn.005b66d5
add esp, 0xc
push esi
call fcn.005b9669
pop ecx
jmp 0x5ad76d
imul eax, dword [esi + 0xe4]
add eax, 7
shr eax, 3
inc eax
mov dword [esi + 0x88], eax
lea ebx, [esi + 0x78]
cmp dword [esi + 0x7c], 0
jne 0x5ad594
xor ebx, ebx
cmp dword [esi + 0x110], 0
je 0x5ad4ca
test ebx, ebx
je 0x5ad55d
push ebx
push esi
call fcn.005b7231
xor ebx, ebx
push esi
mov dword [ebp + 8], ebx
call fcn.005b71cf
add esp, 0xc
mov dword [esi + 0x110], eax
cmp dword [esi + 0x27c], ebx
jne 0x5ad507
mov eax, dword [esi + 0x120]
cmp eax, dword [ebp - 8]
je 0x5ad4b9
push 0x62f760
push esi
call fcn.005b490f
pop ecx
pop ecx
jmp 0x5ad4b9
lea ebx, [esi + 0x120]
mov eax, dword [ebx]
cmp eax, dword [ebp - 0x10]
jne 0x5ad521
push 0x62f760
push esi
call fcn.005b490f
pop ecx
pop ecx
mov eax, dword [ebx]
cmp eax, dword [ebp - 0x18]
je 0x5ad540
push 0x62f63c
push esi
call fcn.005b4934
mov ebx, dword [esi + 0x110]
pop ecx
pop ecx
jmp 0x5ad4b9
push dword [esi + 0x110]
push esi
call fcn.005b6622
add dword [esi + 0x110], 0xfffffffc
mov ebx, dword [ebp + 8]
pop ecx
pop ecx
jmp 0x5ad4b9
mov eax, dword [esi + 0xb4]
mov edx, dword [esi + 0x110]
mov ecx, dword [esi + 0xb0]
lea ebx, [esi + 0x78]
mov dword [esi + 0x7c], eax
mov dword [ebx], ecx
cmp eax, edx
jbe 0x5ad57e
mov dword [esi + 0x7c], edx
push dword [esi + 0x7c]
push ecx
push esi
call fcn.005b62f1
mov eax, dword [esi + 0x7c]
add esp, 0xc
sub dword [esi + 0x110], eax
push 1
push ebx
call fcn.00571440
pop ecx
pop ecx
cmp eax, 1
je 0x5ad5ce
test eax, eax
je 0x5ad5bf
mov eax, dword [esi + 0x90]
test eax, eax
jne 0x5ad5b6
mov eax, 0x61e338
push eax
push esi
call fcn.005b490f
pop ecx
pop ecx
cmp dword [esi + 0x88], 0
jne 0x5ad4ad
jmp 0x5ad600
xor eax, eax
cmp dword [esi + 0x88], eax
jne 0x5ad5e5
cmp dword [esi + 0x7c], eax
jne 0x5ad5e5
cmp dword [esi + 0x110], eax
je 0x5ad5f2
push 0x62f748
push esi
call fcn.005b490f
pop ecx
pop ecx
or dword [esi + 0x6c], 8
or dword [esi + 0x70], 0x20
inc dword [esi + 0x27c]
mov al, byte [esi + 0x12a]
mov ecx, dword [esi + 0xe4]
mov byte [esi + 0x10c], al
mov al, byte [esi + 0x12e]
mov byte [esi + 0x10e], al
mov al, byte [esi + 0x12b]
mov byte [esi + 0x10d], al
mov al, byte [esi + 0x12d]
lea ebx, [esi + 0x104]
mov byte [esi + 0x10f], al
cmp al, 8
mov dword [ebx], ecx
movzx eax, al
jb 0x5ad64d
shr eax, 3
imul eax, ecx
jmp 0x5ad656
imul eax, ecx
add eax, 7
shr eax, 3
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xf0]
mov cl, byte [eax]
test cl, cl
je 0x5ad680
movzx ecx, cl
push ecx
mov ecx, dword [esi + 0xec]
inc ecx
push ecx
inc eax
push eax
push ebx
push esi
call fcn.005b6d1c
add esp, 0x14
mov eax, dword [esi + 0xdc]
inc eax
push eax
push dword [esi + 0xf0]
push dword [esi + 0xec]
call fcn.005daf40
add esp, 0xc
test byte [esi + 0x234], 4
je 0x5ad6be
cmp byte [esi + 0x23c], 0x40
jne 0x5ad6be
mov eax, dword [esi + 0xf0]
inc eax
push eax
push ebx
call fcn.005b1d8f
pop ecx
pop ecx
xor ebx, ebx
cmp dword [esi + 0x74], ebx
jne 0x5ad6ce
test dword [esi + 0x70], 0x400000
je 0x5ad6d5
push esi
call fcn.005b292c
pop ecx
cmp byte [esi + 0x127], bl
je 0x5ad724
test byte [esi + 0x74], 2
je 0x5ad724
cmp byte [esi + 0x128], 6
jae 0x5ad6f3
push esi
call fcn.005b6963
pop ecx
cmp dword [ebp + 0x10], ebx
je 0x5ad70f
movzx eax, byte [esi + 0x128]
push dword [ebp + eax*4 - 0x34]
push dword [ebp + 0x10]
push esi
call fcn.005b66d5
add esp, 0xc
cmp dword [ebp + 0xc], ebx
je 0x5ad748
movzx eax, byte [esi + 0x128]
push dword [ebp + eax*4 - 0x50]
push dword [ebp + 0xc]
jmp 0x5ad73f
cmp dword [ebp + 0xc], ebx
je 0x5ad736
push edi
push dword [ebp + 0xc]
push esi
call fcn.005b66d5
add esp, 0xc
cmp dword [ebp + 0x10], ebx
je 0x5ad748
push edi
push dword [ebp + 0x10]
push esi
call fcn.005b66d5
add esp, 0xc
push esi
call fcn.005b9669
mov eax, dword [esi + 0x19c]
pop ecx
cmp eax, ebx
je 0x5ad76d
movzx ecx, byte [esi + 0x128]
push ecx
push dword [esi + 0xe8]
push esi
call eax
add esp, 0xc
pop edi
pop esi
pop ebx
leave
ret