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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x10088374]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x8c]
push esi
push edi
push ebx
mov dword [esp + 0x20], ebx
call fcn.10020e21
mov esi, eax
pop ecx
test ebp, ebp
jne 0x1002107d
push ebp
call sym.glib_lite.dll_Ordinal_399
pop ecx
mov ebp, eax
movsx ecx, byte [esi]
cmp ecx, 0x6f
jg 0x1002162d
je 0x10021615
cmp ecx, 0x67
jg 0x100214ac
je 0x10021482
sub ecx, 0x28
je 0x100213c2
sub ecx, 0x39
je 0x10021142
push ebx
sub ecx, 1
je 0x10021122
sub ecx, 2
call fcn.10027c0f
push ecx
fstp qword [esp]
lea eax, [esp + 0x2c]
push 0x64
push eax
call sym.glib_lite.dll_Ordinal_14
xor eax, eax
add esp, 0x10
cmp byte [esp + 0x24], al
je 0x100210f9
mov cl, byte [esp + eax + 0x24]
cmp cl, 0x2e
je 0x100210f9
cmp cl, 0x65
je 0x100210f9
cmp cl, 0x6e
je 0x100210f9
cmp cl, 0x4e
je 0x100210f9
inc eax
cmp byte [esp + eax + 0x24], 0
jne 0x100210d9
cmp byte [esp + eax + 0x24], 0
jne 0x10021118
mov word [esp + eax + 0x24], 0x302e
add eax, 2
cmp eax, 0x64
jae 0x10021afa
mov byte [esp + eax + 0x24], 0
lea eax, [esp + 0x24]
push eax
jmp 0x100215d8
call fcn.10020bb2
test eax, eax
mov edx, str.false
mov ecx, str.true
cmove ecx, edx
push ecx
push ebp
call sym.glib_lite.dll_Ordinal_393
jmp 0x100213ba
cmp byte [esi + 1], 0x79
jne 0x100211a9
push ebx
call fcn.10020683
push ebx
mov edi, eax
call fcn.100206a2
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
je 0x10021169
cmp byte [ecx + edi], 0
je 0x10021169
inc ecx
cmp ecx, eax
jb 0x1002115e
dec eax
cmp ecx, eax
jne 0x100211a9
push 0
push edi
call fcn.1000269f
push 0x27
push edi
mov esi, eax
call sub.vcruntime140.dll_strchr
add esp, 0x10
mov ecx, esi
test eax, eax
mov eax, str.b__s_
jne 0x10021193
mov eax, str.b_s
push ecx
push eax
push ebp
call sym.glib_lite.dll_Ordinal_395
push esi
call sym.glib_lite.dll_Ordinal_121
add esp, 0x10
jmp 0x10021ae2
cmp byte [esi + 1], 0x7b
mov dword [esp + 0x10], 0x10037638
push ebx
jne 0x100212e5
call fcn.10027c0f
mov edi, eax
mov dword [esp + 0x24], edi
pop ecx
test edi, edi
jne 0x100211ee
cmp dword [esp + 0x98], eax
je 0x100211e4
push esi
push str.__s
push ebp
call sym.glib_lite.dll_Ordinal_395
add esp, 0xc
push 0x10081630
jmp 0x100215d8
test ebp, ebp
je 0x10021213
mov ecx, dword [ebp + 4]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x10021213
mov eax, dword [ebp]
mov byte [ecx + eax], 0x7b
inc dword [ebp + 4]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021220
push 0x7b
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
xor esi, esi
mov dword [esp + 0x14], esi
test edi, edi
je 0x100212b5
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
push dword [esp + 0x10]
push ebp
call sym.glib_lite.dll_Ordinal_393
push esi
push ebx
mov dword [esp + 0x20], 0x10081634
call fcn.10020536
mov esi, eax
push 0
push esi
call fcn.10020536
push 1
push esi
mov edi, eax
call fcn.10020536
push esi
mov ebx, eax
call fcn.100208c1
mov esi, dword [esp + 0x3c]
push esi
push ebp
push edi
call fcn.10021043
push edi
call fcn.100208c1
push 0x100379e8
push ebp
call sym.glib_lite.dll_Ordinal_393
push esi
push ebp
push ebx
call fcn.10021043
add esp, 0x48
push ebx
call fcn.100208c1
mov esi, dword [esp + 0x18]
and dword [esp + 0x1c], 0
inc esi
mov ebx, dword [esp + 0x20]
pop ecx
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0x20]
jb 0x10021239
test ebp, ebp
je 0x10021a7d
mov ecx, dword [ebp + 4]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x10021a7d
mov eax, dword [ebp]
mov byte [ecx + eax], 0x7d
inc dword [ebp + 4]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021ae2
call fcn.10027c0f
mov dword [esp + 0x18], eax
pop ecx
test eax, eax
jne 0x10021315
cmp dword [esp + 0x98], eax
je 0x1002130b
push esi
push str.__s
push ebp
call sym.glib_lite.dll_Ordinal_395
add esp, 0xc
push 0x10081638
jmp 0x100215d8
test ebp, ebp
je 0x1002133a
mov ecx, dword [ebp + 4]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x1002133a
mov eax, dword [ebp]
mov byte [ecx + eax], 0x5b
inc dword [ebp + 4]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021347
push 0x5b
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
xor edi, edi
cmp dword [esp + 0x14], edi
jbe 0x10021395
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
push dword [esp + 0x10]
push ebp
call sym.glib_lite.dll_Ordinal_393
push edi
push ebx
mov dword [esp + 0x20], 0x10081634
call fcn.10020536
push dword [esp + 0x28]
mov esi, eax
push ebp
push esi
call fcn.10021043
push esi
call fcn.100208c1
and dword [esp + 0x38], 0
add esp, 0x20
inc edi
cmp edi, dword [esp + 0x14]
jb 0x1002135a
test ebp, ebp
je 0x100213b0
mov ecx, dword [ebp + 4]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x100213b0
mov eax, dword [ebp]
mov byte [ecx + eax], 0x5d
jmp 0x100212d3
push 0x5d
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
jmp 0x10021ae2
push ebx
call fcn.10027c0f
mov esi, eax
mov dword [esp + 0x20], esi
pop ecx
test ebp, ebp
je 0x100213f4
mov edx, dword [ebp + 4]
lea ecx, [edx + 1]
cmp ecx, dword [ebp + 8]
jae 0x100213f4
mov eax, dword [ebp]
mov byte [edx + eax], 0x28
inc dword [ebp + 4]
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021401
push 0x28
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
xor edi, edi
test esi, esi
je 0x1002143b
push edi
push ebx
call fcn.10020536
push dword [esp + 0xa0]
mov esi, eax
push ebp
push esi
call fcn.10021043
push 0x10081634
push ebp
call sym.glib_lite.dll_Ordinal_393
push esi
call fcn.100208c1
mov esi, dword [esp + 0x3c]
add esp, 0x20
inc edi
cmp edi, esi
jb 0x10021407
mov ecx, dword [ebp + 4]
xor eax, eax
inc eax
cmp eax, esi
sbb eax, eax
neg eax
sub ecx, eax
xor eax, eax
cmp eax, esi
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp]
cmp ecx, dword [ebp + 4]
cmovae ecx, dword [ebp + 4]
mov dword [ebp + 4], ecx
mov byte [ecx + eax], 0
mov ecx, dword [ebp + 4]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x1002147b
mov eax, dword [ebp]
mov byte [ecx + eax], 0x29
jmp 0x100212d3
push 0x29
jmp 0x100213b2
cmp dword [esp + 0x98], 0
je 0x10021499
push str.signature
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push 0
push ebx
call fcn.10027c0f
push eax
push str._s
jmp 0x10021ad9
sub ecx, 0x68
je 0x100215f6
sub ecx, 1
je 0x100215e5
sub ecx, 4
je 0x100214ec
cmp dword [esp + 0x98], 0
je 0x100214da
push str.int16
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10020cc9
cwde
push eax
push 0x10081664
jmp 0x10021aaa
cmp dword [esp + 0x98], 0
je 0x10021505
push esi
push str.__s
push ebp
call sym.glib_lite.dll_Ordinal_395
add esp, 0xc
push ebx
call fcn.10027c0f
pop ecx
test eax, eax
je 0x100215d3
xor edi, edi
push ebx
mov dword [esp + 0x14], edi
call fcn.10020e21
mov esi, eax
push esi
call fcn.100244e1
pop ecx
pop ecx
test eax, eax
je 0x10021547
push esi
inc edi
call fcn.100243c9
mov esi, eax
push esi
call fcn.100244e1
pop ecx
pop ecx
test eax, eax
jne 0x1002152e
mov dword [esp + 0x10], edi
push ebx
call fcn.1002075f
mov ebx, dword [esp + 0x14]
xor edi, edi
mov esi, eax
pop ecx
test ebx, ebx
je 0x1002158e
test esi, esi
je 0x10021592
push esi
call fcn.10027c0f
pop ecx
test eax, eax
je 0x10021579
push 0
push esi
call fcn.10020536
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jmp 0x1002157e
and dword [esp + 0x10], 0
push esi
call fcn.100208c1
mov esi, dword [esp + 0x14]
inc edi
pop ecx
cmp edi, ebx
jb 0x1002155a
test esi, esi
jne 0x100215c1
cmp edi, 1
jbe 0x100215aa
dec edi
push str.just
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
sub edi, 1
jne 0x10021598
push str.nothing
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
test esi, esi
je 0x10021ae2
jmp 0x100215cd
push 0
push ebp
push esi
call fcn.10021043
add esp, 0xc
push esi
jmp 0x100219cb
push str.nothing
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
jmp 0x10021ae2
push ebx
call fcn.10020d09
push eax
push 0x10081674
jmp 0x10021aaa
cmp dword [esp + 0x98], 0
je 0x1002160d
push str.handle
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10020c8a
jmp 0x100215eb
cmp dword [esp + 0x98], 0
je 0x10021499
push str.objectpath
jmp 0x10021491
cmp ecx, 0x76
jg 0x100219d5
je 0x10021954
sub ecx, 0x71
je 0x10021929
dec ecx
sub ecx, 1
je 0x100216a1
sub ecx, 1
je 0x10021678
cmp dword [esp + 0x98], 0
je 0x10021667
push str.uint32
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10020e73
push eax
push 0x1003a0d4
jmp 0x10021aaa
cmp dword [esp + 0x98], 0
je 0x1002168f
push str.uint64
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10027c0f
push edx
push eax
push str._I64u
jmp 0x10021ad9
push 0
push ebx
call fcn.10027c0f
push 0x27
push eax
mov dword [esp + 0x20], eax
call sub.vcruntime140.dll_strchr
add esp, 0x10
lea edi, [ebp + 4]
neg eax
sbb ecx, ecx
or esi, 0xffffffff
and ecx, 0xfffffffb
add ecx, 0x27
mov dword [esp + 0x1c], ecx
test ebp, ebp
je 0x100216f5
mov edx, dword [edi]
lea ebx, [ebp + 8]
mov dword [esp + 0x14], ebx
lea eax, [edx + 1]
cmp eax, dword [ebx]
jae 0x100216f5
mov eax, dword [ebp]
mov bl, cl
mov byte [edx + eax], bl
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021709
mov bl, cl
push ebx
push esi
push ebp
call sym.glib_lite.dll_Ordinal_397
lea eax, [ebp + 8]
add esp, 0xc
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x10]
cmp byte [edx], 0
je 0x10021902
mov ebx, dword [esp + 0x1c]
push edx
call fcn.1001bbbe
mov dword [esp + 0x1c], eax
pop ecx
cmp eax, ebx
je 0x1002172e
cmp eax, 0x5c
jne 0x10021763
test ebp, ebp
je 0x10021753
mov edx, dword [edi]
mov ecx, dword [esp + 0x14]
lea eax, [edx + 1]
cmp eax, dword [ecx]
jae 0x10021753
mov eax, dword [ebp]
mov byte [edx + eax], 0x5c
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x1002175f
push 0x5c
push esi
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
mov eax, dword [esp + 0x18]
push eax
call fcn.1001d016
pop ecx
test eax, eax
je 0x1002177f
push dword [esp + 0x18]
push ebp
call fcn.100181af
pop ecx
pop ecx
jmp 0x100218e3
test ebp, ebp
je 0x100217a4
mov ecx, dword [edi]
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x100217a4
mov eax, dword [ebp]
mov byte [ecx + eax], 0x5c
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x100217b4
push 0x5c
push esi
push ebp
call sym.glib_lite.dll_Ordinal_397
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
cmp ecx, 0x10000
jae 0x100218d4
mov eax, ecx
sub eax, 7
je 0x100218b7
sub eax, 1
je 0x1002188f
sub eax, 1
je 0x10021875
sub eax, 1
je 0x1002185b
sub eax, 1
je 0x10021841
sub eax, 1
je 0x10021827
sub eax, 1
je 0x10021800
push ecx
push str.u_04x
jmp 0x100218da
test ebp, ebp
je 0x10021819
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x10021819
mov eax, dword [ebp]
mov byte [ecx + eax], 0x72
jmp 0x100218a3
push 0x72
push esi
push ebp
call sym.glib_lite.dll_Ordinal_397
jmp 0x100218e0
test ebp, ebp
je 0x1002183d
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x1002183d
mov eax, dword [ebp]
mov byte [ecx + eax], 0x66
jmp 0x100218a3
push 0x66
jmp 0x1002181b
test ebp, ebp
je 0x10021857
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x10021857
mov eax, dword [ebp]
mov byte [ecx + eax], 0x76
jmp 0x100218a3
push 0x76
jmp 0x1002181b
test ebp, ebp
je 0x10021871
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x10021871
mov eax, dword [ebp]
mov byte [ecx + eax], 0x6e
jmp 0x100218a3
push 0x6e
jmp 0x1002181b
test ebp, ebp
je 0x1002188b
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x1002188b
mov eax, dword [ebp]
mov byte [ecx + eax], 0x74
jmp 0x100218a3
push 0x74
jmp 0x1002181b
test ebp, ebp
je 0x100218b0
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x100218b0
mov eax, dword [ebp]
mov byte [ecx + eax], 0x62
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x100218e3
push 0x62
jmp 0x1002181b
test ebp, ebp
je 0x100218cd
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x100218cd
mov eax, dword [ebp]
mov byte [ecx + eax], 0x61
jmp 0x100218a3
push 0x61
jmp 0x1002181b
push ecx
push str.U_08x
push ebp
call sym.glib_lite.dll_Ordinal_395
add esp, 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [0x1003ac60]
movzx ecx, byte [edx]
movsx eax, byte [ecx + eax]
add edx, eax
mov dword [esp + 0x10], edx
cmp byte [edx], 0
jne 0x1002171a
test ebp, ebp
je 0x10021922
mov ecx, dword [edi]
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
cmp eax, dword [edx]
jae 0x10021922
mov eax, dword [ebp]
mov byte [ecx + eax], bl
inc dword [edi]
mov ecx, dword [edi]
jmp 0x100212d9
push ebx
push esi
jmp 0x100213b4
cmp dword [esp + 0x98], 0
je 0x10021940
push str.uint16
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10020e33
movzx eax, ax
push eax
push 0x10081670
jmp 0x10021aaa
push ebx
call fcn.10020f0d
lea esi, [ebp + 4]
mov edi, eax
pop ecx
test ebp, ebp
je 0x10021982
mov ecx, dword [esi]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x10021982
mov eax, dword [ebp]
mov byte [ecx + eax], 0x3c
inc dword [esi]
mov ecx, dword [esi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x1002198f
push 0x3c
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
push 1
push ebp
push edi
call fcn.10021043
add esp, 0xc
test ebp, ebp
je 0x100219bd
mov ecx, dword [esi]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x100219bd
mov eax, dword [ebp]
mov byte [ecx + eax], 0x3e
inc dword [esi]
mov ecx, dword [esi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x100219ca
push 0x3e
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
push edi
call fcn.100208c1
jmp 0x100215df
sub ecx, 0x78
je 0x10021ab5
sub ecx, 1
je 0x10021a84
lea edi, [ebp + 4]
test ebp, ebp
je 0x10021a0c
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x10021a0c
mov eax, dword [ebp]
mov byte [ecx + eax], 0x7b
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [ebp]
mov byte [ecx + eax], 0
jmp 0x10021a19
push 0x7b
push 0xffffffffffffffff
push ebp
call sym.glib_lite.dll_Ordinal_397
add esp, 0xc
push 0
push ebx
call fcn.10020536
push dword [esp + 0xa0]
mov esi, eax
push ebp
push esi
call fcn.10021043
push esi
call fcn.100208c1
push 0x10081634
push ebp
call sym.glib_lite.dll_Ordinal_393
push 1
push ebx
call fcn.10020536
push dword [esp + 0xc0]
mov esi, eax
push ebp
push esi
call fcn.10021043
push esi
call fcn.100208c1
add esp, 0x38
test ebp, ebp
je 0x10021a7d
mov ecx, dword [edi]
lea eax, [ecx + 1]
cmp eax, dword [ebp + 8]
jae 0x10021a7d
mov eax, dword [ebp]
mov byte [ecx + eax], 0x7d
jmp 0x10021919
push 0x7d
jmp 0x100213b2
cmp dword [esp + 0x98], 0
je 0x10021a9b
push str.byte
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10020bf8
movzx eax, al
push eax
push str.0x_02x
push ebp
call sym.glib_lite.dll_Ordinal_395
jmp 0x100211a1
cmp dword [esp + 0x98], 0
je 0x10021acc
push str.int64
push ebp
call sym.glib_lite.dll_Ordinal_393
pop ecx
pop ecx
push ebx
call fcn.10027c0f
push edx
push eax
push str._I64i
push ebp
call sym.glib_lite.dll_Ordinal_395
add esp, 0x14
mov ecx, dword [esp + 0x88]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10034eb7
add esp, 0x7c
ret
call fcn.10035982
int3