Function at 0x10028f00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2ac
mov eax, dword [0x10088374]
xor eax, esp
mov dword [esp + 0x2a8], eax
push ebx
mov ebx, dword [esp + 0x2b4]
push ebp
push esi
push edi
mov edi, dword [esp + 0x2c4]
xor esi, esi
push ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
call fcn.10030fc3
mov ebp, eax
pop ecx
test ebp, ebp
jne 0x10028f4c
push ebx
call sym.glib_lite.dll_Ordinal_456
mov ebx, eax
pop ecx
mov dword [esp + 0x34], ebx
mov ebp, ebx
test edi, edi
je 0x1002923e
and dword [esp + 0x24], esi
lea eax, [esp + 0xb8]
mov ebx, dword [esp + 0x2c8]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 0x10
push edi
push ebp
call fcn.100283f7
push esi
push dword [esp + 0x24]
mov dword [esp + 0x38], eax
push edi
push eax
push dword [esp + 0x48]
call fcn.10027c0f
add esp, 0x1c
test eax, eax
je 0x100291de
mov eax, dword [esp + 0x20]
cmp esi, eax
jne 0x10029094
cmp eax, 0x10
jne 0x10029033
push 0x20
pop eax
push 8
push eax
mov dword [esp + 0x28], eax
call dword [0x10084858]
mov edi, eax
push 0x18
push 0x20
mov dword [esp + 0x28], edi
call dword [0x10084858]
push 4
push 0x20
mov dword [esp + 0x28], eax
call dword [0x10084858]
mov ecx, esi
mov dword [esp + 0x2c], eax
shl ecx, 3
lea eax, [esp + 0xd0]
push ecx
push eax
push edi
call sub.vcruntime140.dll_memcpy
push dword [esp + 0x48]
lea eax, [esp + 0x160]
push eax
push dword [esp + 0x3c]
call sub.vcruntime140.dll_memcpy
mov eax, esi
shl eax, 2
push eax
lea eax, [esp + 0xac]
push eax
push dword [esp + 0x4c]
call sub.vcruntime140.dll_memcpy
add esp, 0x3c
jmp 0x1002907a
add eax, eax
mov dword [esp + 0x20], eax
shl eax, 3
push eax
push dword [esp + 0x1c]
call dword [0x10084948]
mov edi, eax
imul eax, dword [esp + 0x28], 0x18
mov dword [esp + 0x20], edi
push eax
push dword [esp + 0x1c]
call dword [0x10084948]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
shl eax, 2
push eax
push dword [esp + 0x28]
call dword [0x10084948]
add esp, 0x18
mov dword [esp + 0x14], eax
test esi, esi
je 0x10029094
mov eax, dword [esp + 0x10]
add edi, 4
mov ecx, esi
mov dword [edi], eax
add eax, 0x18
lea edi, [edi + 8]
sub ecx, 1
jne 0x10029087
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push 0x18
push 0
push ecx
mov dword [eax + esi*8], edi
mov dword [esp + 0x34], ecx
mov dword [eax + esi*8 + 4], ecx
call sub.vcruntime140.dll_memset
xor eax, eax
push 0x38
push eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x54]
push eax
call sub.vcruntime140.dll_memset
push dword [edi + 0xc]
and dword [esp + 0x48], 0
call sym.glib_lite.dll_Ordinal_475
mov ecx, dword [esp + 0x30]
add esp, 0x1c
mov dword [ecx + esi*4], eax
test eax, eax
jne 0x100290f9
push str._vtab_is_NULL
call dword [0x10084868]
pop ecx
jmp 0x1002916d
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [ecx], eax
mov al, byte [edi]
test al, al
je 0x1002916d
lea edx, [esp + 0x38]
mov dword [esp + 0x1c], edx
inc dword [esp + 0x2c]
mov ecx, ebx
add dword [esp + 0x1c], 8
inc edi
movsx eax, al
sub eax, 0x64
je 0x10029158
sub eax, 5
je 0x1002914f
sub eax, 3
je 0x1002914f
sub eax, 4
mov eax, dword [ecx]
mov dword [edx], eax
je 0x1002914a
mov ecx, dword [ecx + 4]
mov dword [edx + 4], ecx
jmp 0x10029160
add ebx, 4
jmp 0x10029163
mov eax, dword [ecx]
add ebx, 4
mov dword [edx], eax
jmp 0x10029163
movsd xmm0, qword [ecx]
movsd qword [edx], xmm0
add ebx, 8
mov al, byte [edi]
mov edx, dword [esp + 0x1c]
test al, al
jne 0x1002911b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push 0x8000000
push ecx
push dword [esp + 0x34]
mov eax, dword [eax + esi*4]
push dword [esp + 0x34]
mov dword [esp + 0x2c], ebx
call dword [eax + 0x14]
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100291af
mov edi, dword [esp + 0x1c]
inc esi
add dword [esp + 0x24], 0x18
add ebx, 4
mov edi, dword [edi]
test edi, edi
jne 0x10028f85
jmp 0x100291de
push edi
push str.g_object_new_valist
push str._s:__s
push 8
push str.Glib_GObject
call dword [0x100848c8]
imul eax, esi, 0x18
add eax, dword [esp + 0x24]
push eax
call sym.glib_lite.dll_Ordinal_537
push edi
call dword [0x10084854]
add esp, 0x1c
mov edi, dword [esp + 0x18]
push esi
push edi
push ebp
call fcn.10028d2c
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x30], ebx
test esi, esi
je 0x10029220
mov ebx, dword [esp + 0x14]
lea edi, [edi + esi*8]
add edi, 4
dec esi
lea edi, [edi - 8]
mov eax, dword [ebx + esi*4]
mov eax, dword [eax + 4]
test eax, eax
je 0x10029214
push dword [edi]
call eax
pop ecx
test esi, esi
jne 0x10029201
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x20], 0x10
je 0x1002924b
mov ebp, dword [sym.glib_lite.dll_Ordinal_121]
push edi
call ebp
push dword [esp + 0x14]
call ebp
push dword [esp + 0x1c]
call ebp
jmp 0x10029248
push esi
push esi
push ebp
call fcn.10028d2c
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1002925a
push eax
call sym.glib_lite.dll_Ordinal_457
pop ecx
mov ecx, dword [esp + 0x2b8]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10034eb7
add esp, 0x2ac
ret