Function at 0x686115e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
test ebx, ebx
je 0x6861178e
test edx, edx
je 0x68611626
test eax, eax
je 0x686117fe
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_string_append_len
mov edx, ebx
mov eax, dword [edx]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0x13
ja 0x6861162e
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebx]
ror si, 8
ror esi, 0x10
ror si, 8
cmp eax, esi
jb 0x68611626
mov eax, dword [ebx + 4]
ror ax, 8
ror eax, 0x10
ror ax, 8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 8]
ror ax, 8
ror eax, 0x10
ror ax, 8
mov dword [ebp - 0x28], eax
mov ecx, dword [ebx + 0xc]
ror cx, 8
ror ecx, 0x10
ror cx, 8
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebx + 0x10]
ror cx, 8
ror ecx, 0x10
ror cx, 8
test ecx, ecx
jne 0x686117f6
inc eax
add ebx, 0x14
mov dword [ebp - 0x4c], edx
xor edi, edi
mov dword [esp + 4], 4
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_malloc0_n
mov dword [esp + 4], 0xc
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_malloc0_n
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], eax
jmp 0x686116fa
lea ecx, [ebx + 4]
mov ebx, dword [ebx]
lea esi, [edi*4]
inc edi
ror bx, 8
ror ebx, 0x10
ror bx, 8
add esi, dword [ebp - 0x24]
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
call sym.libglib_2.0_0.dll_g_strndup
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
lea ebx, [ecx + ebx]
mov dword [esi], eax
cmp edi, dword [ebp - 0x28]
jb 0x686116c2
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], ecx
jmp 0x68611744
mov edi, dword [ebx + eax*8 + 4]
ror di, 8
ror edi, 0x10
ror di, 8
mov dword [ebp - 0x48], edi
mov edi, dword [ebx + eax*8]
inc eax
ror di, 8
ror edi, 0x10
ror di, 8
mov dword [ebp - 0x44], edi
mov edi, dword [ebp - 0x3c]
fld qword [ebp - 0x48]
fstp xword [edi]
add edi, 0xc
mov dword [ebp - 0x3c], edi
cmp eax, dword [ebp - 0x40]
jb 0x68611712
mov eax, dword [edx]
mov edi, dword [eax]
add edi, esi
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x40]
lea ebx, [ebx + edi*8]
cmp dword [ebp - 0x3c], ebx
jae 0x686117af
mov dword [esp], ecx
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
mov dword [esp + 8], str.corrupt_log_stream_from_test_program
mov dword [esp + 4], 4
mov dword [esp], 0x6866546f
call sym.libglib_2.0_0.dll_g_log
jmp 0x6861178c
mov dword [esp + 8], str.tbuffer___NULL
mov dword [esp + 4], str.g_test_log_buffer_push
mov dword [esp], 0x6866546f
call sym.libglib_2.0_0.dll_g_return_if_fail_warning
jmp 0x68611626
mov dword [ebp - 0x4c], edx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_string_erase
lea eax, [ebp - 0x2c]
mov dword [esp + 4], 0x14
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_memdup
mov edx, dword [ebp - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_slist_prepend
mov edx, dword [ebp - 0x4c]
mov dword [edx + 4], eax
jmp 0x6861161a
mov ecx, dword [ebp - 0x1c]
jmp 0x6861175d
mov dword [esp + 8], str.bytes___NULL
mov dword [esp + 4], str.g_test_log_buffer_push
mov dword [esp], 0x6866546f
call sym.libglib_2.0_0.dll_g_return_if_fail_warning
jmp 0x68611626