Function at 0x5eb440
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 [0x6d159c]
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.005ead70
test eax, eax
je 0x5eb588
test esi, esi
jne 0x5eb568
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x5ebb95
test byte [edx + 0x44], 2
je 0x5eb522
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x5eb502
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
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 [0x6d159c]
jne 0x5ebb90
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov edx, dword [ebx + 0x94]
test edx, edx
je 0x5eb596
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 0x5eb5ba
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 0x5eb62b
mov ecx, 0xfffffffb
mov edx, 0xffffffff
neg ecx
neg edx
add ecx, eax
add edx, edi
or ecx, edx
jne 0x5eb62b
mov dword [ebp - 0x288], 0xfffffffa
mov dword [ebp - 0x284], 0xffffffff
jmp 0x5eb637
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 0x5eb65f
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5eb64a
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 0x5eb6ad
mov edi, 1
jmp 0x5eb6bd
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 0x5ebd26
mov eax, ebx
mov edx, 2
call fcn.005eb150
mov edx, dword [ebp + 0xc]
cmp dword [edx + 8], 0x3f
je 0x5ebd0f
cmp dword [ebp + 0x10], 0
je 0x5eb707
mov dword [ebx + 0x60], 0
test esi, esi
jne 0x5eb7f0
movzx edx, byte [ebx + 0x1ad]
test edi, edi
je 0x5eb7c5
test dl, 0x40
je 0x5eb7c5
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x5ebbbb
test byte [edx + 0x44], 2
je 0x5eb77a
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 0x5eb755
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
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 [0x6d159c]
jne 0x5ebb90
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1ad], 0x40
je 0x5eb94a
cmp esi, 0xfffffffe
jge 0x5eb8a4
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x5ebbe6
test byte [edx + 0x44], 2
je 0x5eb859
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 0x5eb834
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
jne 0x5eb94a
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x5ebc11
test byte [edx + 0x44], 2
je 0x5eb8ff
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 0x5eb8da
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test edi, edi
je 0x5eba38
cmp dword [ebx + 0x114], 0
jne 0x5eba38
lea ecx, [ebp - 0x278]
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5eb97c
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5eb967
dec eax
mov dword [ebx + 0x114], eax
lea edx, [ebx + 0x9c]
push edx
push 0
inc eax
push eax
call fcn.005c09a0
add esp, 0xc
test eax, eax
je 0x5eba2c
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x5ebc40
test byte [edx + 0x44], 2
je 0x5eb9e6
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], eax
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x5eb9c6
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebp - 0x28c], 1
jmp 0x5eba42
mov dword [ebp - 0x28c], 0
test edi, edi
je 0x5ebaff
mov ecx, dword [ebx + 0x9c]
mov edx, dword [ebx + 0x114]
mov dword [ebp - 0x2c8], 0
cmp byte [ebp - 0x278], 0
je 0x5eba96
mov ebx, dword [ebp - 0x2c8]
cmp ebx, edx
jge 0x5ebd07
movzx eax, byte [ebp + ebx - 0x278]
mov byte [ebx + ecx], al
inc ebx
cmp byte [ebp + ebx - 0x278], 0
jne 0x5eba6f
mov dword [ebp - 0x2c8], ebx
mov ebx, dword [ebp + 8]
cmp edx, dword [ebp - 0x2c8]
jle 0x5ebacd
mov eax, edx
sub eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2c0], eax
cmp eax, 0x60
jle 0x5ebc95
mov eax, dword [ebp - 0x2c8]
add ecx, eax
inc eax
sub edx, eax
inc edx
push edx
push 0x20
push ecx
call fcn.0062a5e0
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 0x5ebc6a
test byte [edx + 0x44], 2
je 0x5ebb4d
mov dword [edx + 0x38], 0x7f
mov edx, dword [ebx + 0x20]
mov dword [edx + 0x3c], esi
mov edx, dword [ebx + 0x7c]
test edx, edx
je 0x5ebb2c
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 [0x6d159c]
jne 0x5ebb90
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.005e8d00
add esp, 0x14
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.0063f93a
push ebx
push eax
push eax
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
push ebx
mov eax, 0xff
push eax
push eax
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
push ebx
mov eax, 0x110
push eax
push eax
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
push ebx
mov eax, 0x111
push eax
push eax
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
push ebx
push eax
push eax
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
push ebx
push esi
push 0x7f
push 1
call fcn.005b0150
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5ebb90
jmp 0x5eb51a
mov edx, eax
shr edx, 1
mov dword [ebp - 0x2bc], edx
je 0x5ebd00
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 0x5ebcc8
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 0x5ebacd
add ecx, dword [ebp - 0x2c8]
mov byte [eax + ecx - 1], 0x20
jmp 0x5ebacd
mov eax, 1
jmp 0x5ebce1
mov ebx, dword [ebp + 8]
jmp 0x5ebacd
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x10]
test edx, edx
je 0x5eb6fa
or dword [edx + 0xc], 0x40
jmp 0x5eb6fa
push edx
call fcn.005c0a60
add esp, 4
mov dword [ebp - 0x2b4], 0
jmp 0x5eb6e1