Function at 0x61f580
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x2c8
mov edi, 1
mov ecx, dword [0x7adbc0]
xor ecx, ebp
mov esi, dword [ebp + 0x14]
xor edx, edx
test esi, esi
mov dword [ebp - 0x10], ecx
mov ecx, 0
setne dl
mov ebx, dword [ebp + 8]
dec edx
mov dword [ebp - 0x1ac], edx
mov eax, ebx
mov edx, 2
mov dword [ebp - 0x20], 0x5453494c
mov dword [ebp - 0x1c], 0x45524944
mov dword [ebp - 0x18], 0x44455443
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
call fcn.0061eeb0
test eax, eax
je 0x61f6c8
test esi, esi
jne 0x61f6a8
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fcd5
test byte [edx + 0x44], 2
je 0x61f662
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61f642
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push eax
shr edx, 1
and ecx, 7
push eax
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [ebx + 0x94]
test edx, edx
je 0x61f6d6
mov byte [edx + 0x1f], 1
mov edi, dword [ebx + 0x74]
xor edx, edx
mov byte [ebp - 0x1b0], dl
mov byte [ebp - 0x278], dl
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x290], edx
mov edx, 0x28
xor ecx, ecx
mov dword [ebp + edx - 0x2bc], ecx
mov dword [ebp + edx - 0x2c0], ecx
mov dword [ebp + edx - 0x2c4], ecx
mov dword [ebp + edx - 0x2c8], ecx
mov dword [ebp + edx - 0x2cc], ecx
sub edx, 0x14
jne 0x61f6fa
mov eax, dword [ebx + 0x124]
lea ecx, [ebp - 0x2b8]
cdq
mov dword [ecx + 4], 0
mov edi, edx
mov dword [ebx + 0x74], ecx
test esi, esi
je 0x61f76b
mov ecx, 0xfffffffb
mov edx, 0xffffffff
neg ecx
neg edx
add ecx, eax
add edx, edi
or ecx, edx
jne 0x61f76b
mov dword [ebp - 0x288], 0xfffffffa
mov dword [ebp - 0x284], 0xffffffff
jmp 0x61f777
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edi
xor edx, edx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x27c], edx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x61f79f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x61f78a
dec eax
push 0xc8
push eax
inc word [ebx + 0x18a]
lea esi, [ebp - 0x278]
push esi
lea edi, [ebp - 0x280]
push edi
lea edx, [ebp - 0x1ac]
push edx
push ecx
movzx edx, byte [esi]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [ebp + 0xc]
mov byte [esi], 0
push dword [ecx]
mov dword [esi - 0x54], edx
call dword [ecx + 0xc]
add esp, 0x20
cmp byte [ebp - 0x278], 0
je 0x61f7ed
mov edi, 1
jmp 0x61f7fd
mov edx, dword [ebp - 0x2cc]
xor eax, eax
mov byte [ebp - 0x278], dl
xor edi, edi
mov edx, dword [ebp - 0x2c8]
mov dword [ebx + 0x74], edx
dec word [ebx + 0x18a]
mov edx, dword [ebp - 0x2b4]
mov esi, dword [ebp - 0x280]
test edx, edx
jne 0x61fe66
mov eax, ebx
mov edx, 2
call fcn.0061f290
mov edx, dword [ebp + 0xc]
cmp dword [edx + 8], 0x3f
je 0x61fe4f
cmp dword [ebp + 0x10], 0
je 0x61f847
mov dword [ebx + 0x60], 0
test esi, esi
jne 0x61f930
movzx edx, byte [ebx + 0x1ad]
test edi, edi
je 0x61f905
test dl, 0x40
je 0x61f905
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fcfb
test byte [edx + 0x44], 2
je 0x61f8ba
mov ecx, 0xff
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61f895
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
mov eax, 0xff
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0xff
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
and edx, 0xffffffef
mov byte [ebx + 0x1ad], dl
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1ad], 0x40
je 0x61fa8a
cmp esi, 0xfffffffe
jge 0x61f9e4
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fd26
test byte [edx + 0x44], 2
je 0x61f999
mov ecx, 0x110
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61f974
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
mov eax, 0x110
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0x110
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
jne 0x61fa8a
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fd51
test byte [edx + 0x44], 2
je 0x61fa3f
mov ecx, 0x111
mov dword [edx + 0x38], ecx
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61fa1a
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
mov eax, 0x111
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx ecx, byte [ebx + 0x1ae]
mov edx, 0x111
and ecx, 0x10
movzx esi, byte [ebx + 0x1a4]
push edx
shr ecx, 1
and esi, 7
push edx
or esi, ecx
push esi
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
je 0x61fb78
cmp dword [ebx + 0x114], 0
jne 0x61fb78
lea ecx, [ebp - 0x278]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x61fabc
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x61faa7
dec eax
mov dword [ebx + 0x114], eax
lea edx, [ebx + 0x9c]
push edx
push 0
inc eax
push eax
call fcn.005e1480
add esp, 0xc
test eax, eax
je 0x61fb6c
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fd80
test byte [edx + 0x44], 2
je 0x61fb26
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61fb06
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push eax
shr edx, 1
and ecx, 7
push eax
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebp - 0x28c], 1
jmp 0x61fb82
mov dword [ebp - 0x28c], 0
test edi, edi
je 0x61fc3f
mov ecx, dword [ebx + 0x9c]
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0x2c8], 0
cmp byte [ebp - 0x278], 0
je 0x61fbd6
mov ebx, dword [ebp - 0x2c8]
cmp ebx, edx
jge 0x61fe47
movzx eax, byte [ebp + ebx - 0x278]
mov byte [ebx + ecx], al
inc ebx
cmp byte [ebp + ebx - 0x278], 0
jne 0x61fbaf
mov dword [ebp - 0x2c8], ebx
mov ebx, dword [ebp + 8]
cmp edx, dword [ebp - 0x2c8]
jle 0x61fc0d
mov eax, edx
sub eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c0], eax
cmp eax, 0x60
jle 0x61fdd5
mov eax, dword [ebp - 0x2c8]
add ecx, eax
inc eax
sub edx, eax
inc edx
push edx
push 0x20
push ecx
call fcn.0065d380
add esp, 0xc
xor edx, edx
cmp edx, dword [ebp - 0x28c]
mov eax, dword [ebx + 0x114]
adc eax, 0
mov ecx, dword [ebx + 0x9c]
shl edi, 4
mov byte [ecx + eax], dl
movzx edx, byte [ebx + 0x1ad]
or edx, 8
and edx, 0xffffffef
or edx, edi
mov byte [ebx + 0x1ad], dl
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x61fdaa
test byte [edx + 0x44], 2
je 0x61fc8d
mov dword [edx + 0x38], 0x7f
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], esi
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x61fc6c
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [ebx + 0x7c], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
mov eax, 0x7f
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx edx, byte [ebx + 0x1ae]
and edx, 0x10
movzx ecx, byte [ebx + 0x1a4]
push esi
shr edx, 1
and ecx, 7
push 0x7f
or ecx, edx
push ecx
push 0xffffffffffffffff
push ebx
call fcn.0061aa20
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.00693023
push ebx
push eax
push eax
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
push ebx
mov eax, 0xff
push eax
push eax
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
push ebx
mov eax, 0x110
push eax
push eax
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
push ebx
mov eax, 0x111
push eax
push eax
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
push ebx
push eax
push eax
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
push ebx
push esi
push 0x7f
push 1
call fcn.00609b70
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x7adbc0]
jne 0x61fcd0
jmp 0x61f65a
mov edx, eax
shr edx, 1
mov dword [ebp - 0x2bc], edx
je 0x61fe40
mov eax, dword [ebp - 0x2c8]
xor edx, edx
mov dword [ebp - 0x2cc], edi
mov edi, dword [ebp - 0x2bc]
add eax, ecx
mov dword [ebp - 0x2c4], eax
mov eax, 0x20
mov ebx, dword [ebp - 0x2c4]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], al
inc edx
cmp edx, edi
jb 0x61fe08
mov edi, dword [ebp - 0x2cc]
lea eax, [edx + edx + 1]
mov ebx, dword [ebp + 8]
lea edx, [eax - 1]
cmp edx, dword [ebp - 0x2c0]
jae 0x61fc0d
add ecx, dword [ebp - 0x2c8]
mov byte [eax + ecx - 1], 0x20
jmp 0x61fc0d
mov eax, 1
jmp 0x61fe21
mov ebx, dword [ebp + 8]
jmp 0x61fc0d
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x10]
test edx, edx
je 0x61f83a
or dword [edx + 0xc], 0x40
jmp 0x61f83a
push edx
call fcn.005e1540
add esp, 4
mov dword [ebp - 0x2b4], 0
jmp 0x61f821