Function at 0x5b0990
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x5b0998
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x5b0e4b
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x2c], 1
lea edx, [ebp - 0x58]
mov eax, 0x5b0e64
call fcn.004dc360
mov ecx, dword [ebp - 0x58]
mov edx, dword [0x7070f8]
mov edx, dword [edx + 0x178]
lea eax, [ebp - 4]
call fcn.004057f8
mov eax, dword [ebp - 4]
call fcn.0050b5c4
test al, al
je 0x5b0df7
mov dl, 1
mov eax, dword [0x4e0918]
call fcn.0040445c
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x68]
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call fcn.0040b2f4
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x30]
mov eax, ebx
call fcn.005aafc0
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x5b0def
inc esi
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 8]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 8], 0
je 0x5b0de5
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x5b0de5
push 1
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 8]
call fcn.00405568
push 1
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 9
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.0048d4c0
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 8]
call fcn.00405568
cmp dword [ebp - 0xc], 0
je 0x5b0dde
cmp dword [ebp - 0x20], 0
je 0x5b0dde
cmp dword [ebp - 0x24], 0
je 0x5b0dde
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0x24
jne 0x5b0d05
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x5b0bcc
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0xc]
push eax
mov ecx, edi
dec ecx
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004059d8
mov eax, dword [0x707be4]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edi, eax
cmp edi, 0xffffffff
je 0x5b0cf9
mov eax, dword [0x707be4]
mov eax, dword [eax]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x5b0e80
mov edx, 0x5b0e8c
mov eax, dword [ebp - 0x10]
call fcn.0048d80c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, 0x5b0e80
mov edx, 0x5b0e8c
mov eax, dword [ebp - 0x18]
call fcn.0048d80c
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
call fcn.0040adf8
mov dword [ebp - 0x44], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x18]
call fcn.0040adf8
mov dword [ebp - 0x48], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0040adf8
mov dword [ebp - 0x3c], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.0040adf8
mov dword [ebp - 0x40], eax
mov ecx, 5
mov edx, 0x5b0e98
mov eax, dword [ebp - 0x28]
call fcn.0048d9ac
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5b0de5
inc eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], 0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x50]
call fcn.00420a68
mov edi, eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
movzx eax, byte [ebp - 0x49]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
mov eax, edi
call fcn.005b078c
test al, al
jne 0x5b0cec
mov eax, dword [ebp - 0x34]
neg eax
mov dword [ebp - 0x2c], eax
jmp 0x5b0de5
inc dword [ebp - 0x38]
dec dword [ebp - 0x54]
jne 0x5b0cac
jmp 0x5b0de5
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x5b0de5
mov eax, dword [0x707654]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.006b5efc
mov edi, eax
test edi, edi
je 0x5b0dd5
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x5b0e80
mov edx, 0x5b0e8c
mov eax, dword [ebp - 0x10]
call fcn.0048d80c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x5b0e80
mov edx, 0x5b0e8c
mov eax, dword [ebp - 0x18]
call fcn.0048d80c
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
call fcn.0040adf8
mov dword [ebp - 0x44], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x18]
call fcn.0040adf8
mov dword [ebp - 0x48], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.0040adf8
mov dword [ebp - 0x3c], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.0040adf8
mov dword [ebp - 0x40], eax
mov ecx, 5
mov edx, 0x5b0e98
mov eax, dword [ebp - 0x28]
call fcn.0048d9ac
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
push eax
movzx eax, byte [ebp - 0x49]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x44]
mov eax, edi
call fcn.005b078c
test al, al
jne 0x5b0de5
mov eax, dword [ebp - 0x34]
neg eax
mov dword [ebp - 0x2c], eax
jmp 0x5b0de5
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x5b0de5
mov dword [ebp - 0x2c], 0xffffffff
inc dword [ebp - 0x34]
dec esi
jne 0x5b0a3a
mov eax, dword [ebp - 0x30]
call fcn.0040448c
mov eax, ebx
call fcn.005af628
mov eax, ebx
call fcn.005af4d4
mov eax, ebx
call fcn.005af8d0
mov eax, ebx
call fcn.005af77c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b0e52
lea eax, [ebp - 0x90]
mov edx, 0xb
call fcn.004054f4
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.004054f4
lea eax, [ebp - 0x28]
mov edx, 0xa
call fcn.004054f4
ret