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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x464
mov eax, dword [0x10156440]
xor eax, esp
mov dword [esp + 0x460], eax
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 8]
push ebx
mov ebx, edx
mov dword [esp + 0x14], ecx
push esi
mov eax, dword [ecx]
lea edx, [ecx + 4]
mov dword [esp + 0x44], ebx
mov dword [ecx + 8], 0
mov dword [esp + 0x4c], edx
push edi
test eax, eax
jne 0x10094de1
mov dword [edx], eax
mov eax, 0x1015ddcd
mov dword [ecx], 0x1015ddcd
jmp 0x10094de5
mov dword [esp + 0x50], edx
cmp dword [edx], 0
jbe 0x10094ded
mov byte [eax], 0
mov eax, dword [ebx + 4]
xor esi, esi
xor edi, edi
mov dword [esp + 0x14], esi
mov ebx, 8
mov dword [esp + 0x18], esi
mov dword [esp + 0x3c], edi
mov ecx, dword [eax + 4]
cmp ecx, ebx
mov eax, 1
mov dword [esp + 0x2c], ecx
cmova ebx, ecx
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x10094e56
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52]
mov ecx, esi
push 0x26
push str.D:DevelopmentMillennium_vendor_vcpkg_buildtreeslibgit2_src_v1.4.2_3f39c3e750.clean_src_vector.c
push 4
push ebx
push edi
call dword [0x101182f8]
call esi
add esp, 0x14
test eax, eax
je 0x1009525c
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], edi
xor ebx, ebx
mov dword [esp + 0x40], ebx
cmp dword [edx], ebx
jne 0x10094e82
lea edx, [ecx + ecx*8]
mov ecx, dword [esp + 0x1c]
push 1
shl edx, 3
call fcn.10029800
mov ecx, eax
add esp, 4
mov dword [esp + 0x40], ecx
test ecx, ecx
js 0x1009599c
xor ebx, ebx
mov eax, dword [esp + 0x48]
mov edx, ebx
mov eax, dword [eax + 4]
cmp ebx, dword [eax]
jae 0x10094ed4
mov esi, dword [esp + 0x48]
lea ebx, [edx + 1]
mov dword [esp + 0x30], ebx
mov eax, edx
shr eax, 4
mov ecx, edx
and ecx, 0xf
mov edi, dword [esi + 4]
add ecx, ecx
mov esi, dword [esp + 0x14]
mov ebx, dword [edi + 0x10]
mov edi, dword [esp + 0x3c]
mov eax, dword [ebx + eax*4]
mov ebx, dword [esp + 0x30]
shr eax, cl
mov ecx, dword [esp + 0x48]
test al, 3
mov eax, dword [ecx + 4]
je 0x100951c0
mov edx, ebx
cmp edx, dword [eax]
jb 0x10094e91
mov eax, dword [esp + 0x10]
test al, 1
jne 0x100957b5
mov esi, dword [esp + 0x18]
cmp esi, 1
jbe 0x100957b5
cmp esi, 0x40
jae 0x10095440
mov eax, 1
mov dword [esp + 0x2c], eax
cmp esi, eax
jbe 0x100957b5
mov ebx, 0xf000
nop dword [eax]
mov ecx, dword [edi + eax*4]
mov edx, dword [edi + eax*4 - 4]
movzx eax, word [ecx]
movzx esi, word [ecx + 2]
and ax, bx
movzx eax, ax
mov dword [esp + 0x30], eax
movzx eax, word [edx]
and ax, bx
mov ebx, dword [ecx + 8]
mov ecx, dword [edx + 8]
movzx eax, ax
mov dword [esp + 0x44], eax
movzx eax, word [edx + 2]
cmp eax, esi
mov dword [esp + 0x20], ecx
cmovb esi, eax
push esi
push ebx
push ecx
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x10094f97
mov eax, dword [esp + 0x20]
mov edx, 0x4000
mov cl, byte [esi + ebx]
mov al, byte [esi + eax]
test al, al
jne 0x10094f7a
cmp word [esp + 0x44], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x10094f87
cmp word [esp + 0x30], dx
jne 0x10094f8f
mov cl, 0x2f
cmp al, cl
jb 0x10095423
cmp cl, al
sbb eax, eax
neg eax
test eax, eax
jle 0x10095423
mov eax, dword [esp + 0x2c]
mov ebx, 0xf000
mov ecx, dword [edi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov edx, dword [edi + eax*4]
dec eax
mov esi, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
movzx eax, word [ecx]
and ax, bx
sar esi, 1
movzx eax, ax
mov dword [esp + 0x38], eax
movzx eax, word [edx]
and ax, bx
mov dword [esp + 0x10], edx
movzx ebx, word [ecx + 2]
mov ecx, dword [ecx + 8]
movzx eax, ax
mov dword [esp + 0x34], eax
movzx eax, word [edx + 2]
mov edx, dword [edx + 8]
cmp eax, ebx
mov dword [esp + 0x14], ecx
cmovb ebx, eax
mov dword [esp + 0x20], edx
push ebx
push ecx
push edx
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x10095050
mov eax, dword [esp + 0x20]
mov edx, 0x4000
mov ecx, dword [esp + 0x14]
mov al, byte [ebx + eax]
mov cl, byte [ebx + ecx]
test al, al
jne 0x10095033
cmp word [esp + 0x34], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x10095040
cmp word [esp + 0x38], dx
jne 0x10095048
mov cl, 0x2f
cmp al, cl
jb 0x10095400
cmp cl, al
sbb eax, eax
neg eax
test eax, eax
js 0x10095400
mov ecx, dword [esp + 0x24]
mov ebx, 0xf000
mov edx, dword [esp + 0x10]
mov edi, edx
movzx eax, word [ecx]
and ax, bx
movzx eax, ax
mov dword [esp + 0x20], eax
movzx eax, word [edx]
and ax, bx
movzx ebx, word [ecx + 2]
mov ecx, dword [ecx + 8]
movzx eax, ax
mov dword [esp + 0x34], eax
movzx eax, word [edx + 2]
mov edx, dword [edi + 8]
cmp eax, ebx
mov dword [esp + 0x38], ecx
cmovb ebx, eax
mov dword [esp + 0x24], edx
push ebx
push ecx
push edx
call fcn.10100080
mov edi, dword [esp + 0x48]
add esp, 0xc
test eax, eax
jne 0x10095264
mov eax, dword [esp + 0x24]
mov edx, 0x4000
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + eax]
mov cl, byte [ebx + ecx]
test al, al
jne 0x100950d8
cmp word [esp + 0x34], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x100950e5
cmp word [esp + 0x20], dx
jne 0x100950ed
mov cl, 0x2f
cmp al, cl
jb 0x10095264
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
add edx, 2
mov edi, dword [esp + 0x3c]
add ebx, 8
cmp al, cl
ja 0x1009526e
mov esi, 1
nop dword [eax]
mov ecx, dword [edi + esi*4]
mov dword [esp + 0x14], ebx
mov ebx, 0xf000
mov dword [esp + 0x20], edx
movzx eax, word [ecx]
and ax, bx
movzx eax, ax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
and ax, bx
movzx ebx, word [ecx + 2]
mov ecx, dword [ecx + 8]
movzx eax, ax
mov dword [esp + 0x34], eax
movzx eax, word [edx]
mov edx, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0x38], ecx
cmovb ebx, eax
push ebx
mov edx, dword [edx]
push ecx
push edx
mov dword [esp + 0x30], edx
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x10095402
mov eax, dword [esp + 0x24]
mov edx, 0x4000
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + eax]
mov cl, byte [ebx + ecx]
test al, al
jne 0x10095195
cmp word [esp + 0x34], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x100951a2
cmp word [esp + 0x44], dx
jne 0x100951aa
mov cl, 0x2f
cmp al, cl
jb 0x10095402
cmp al, cl
ja 0x10095402
mov edx, dword [esp + 0x20]
inc esi
mov ebx, dword [esp + 0x14]
jmp 0x10095110
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x2c], eax
cmp ecx, esi
jb 0x1009522b
cmp esi, 8
jae 0x100951de
mov ebx, 8
jmp 0x100951f3
cmp esi, 0xaaaaaaaa
ja 0x100951f0
mov ebx, esi
shr ebx, 1
add ebx, esi
je 0x10095227
jmp 0x100951f3
or ebx, 0xffffffff
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_52]
mov ecx, esi
push 0x26
push str.D:DevelopmentMillennium_vendor_vcpkg_buildtreeslibgit2_src_v1.4.2_3f39c3e750.clean_src_vector.c
push 4
push ebx
push edi
call dword [0x101182f8]
call esi
add esp, 0x14
test eax, eax
je 0x1009525c
mov ecx, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], edi
mov ebx, dword [esp + 0x30]
mov dword [edi + ecx*4], eax
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, 1
ja 0x1009524a
or dword [esp + 0x10], 1
mov dword [esp + 0x40], 0
jmp 0x10094e84
and dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x40], 0
jmp 0x10094e84
or ebx, 0xffffffff
jmp 0x100959a0
mov ecx, dword [esp + 0x10]
lea edx, [ecx + 2]
lea ebx, [ecx + 8]
mov ecx, dword [edi + esi*4]
mov dword [esp + 0x14], ebx
mov ebx, 0xf000
mov dword [esp + 0x20], edx
movzx eax, word [ecx]
and ax, bx
movzx eax, ax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
and ax, bx
movzx ebx, word [ecx + 2]
mov ecx, dword [ecx + 8]
movzx eax, ax
mov dword [esp + 0x34], eax
movzx eax, word [edx]
mov edx, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0x38], ecx
cmovb ebx, eax
push ebx
mov edx, dword [edx]
push ecx
push edx
mov dword [esp + 0x30], edx
call fcn.10100080
add esp, 0xc
test eax, eax
jne 0x10095308
mov eax, dword [esp + 0x24]
mov edx, 0x4000
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + eax]
mov cl, byte [ebx + ecx]
test al, al
jne 0x100952ef
cmp word [esp + 0x34], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x100952fc
cmp word [esp + 0x4c], dx
jne 0x10095300
mov cl, 0x2f
cmp al, cl
jb 0x10095336
cmp cl, al
sbb eax, eax
neg eax
test eax, eax
js 0x10095336
test eax, eax
jle 0x10095366
mov eax, dword [esp + 0x44]
sub eax, esi
cmp eax, 1
jle 0x10095360
mov edx, dword [esp + 0x20]
mov eax, esi
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
sub esi, eax
sar esi, 1
mov dword [esp + 0x30], eax
add esi, eax
jmp 0x1009526e
mov eax, esi
sub eax, dword [esp + 0x30]
cmp eax, 1
jle 0x10095402
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], esi
sub esi, eax
sar esi, 1
add esi, eax
jmp 0x1009526e
inc esi
jmp 0x10095402
mov ecx, dword [edi + esi*4 + 4]
inc esi
mov edx, dword [esp + 0x10]
mov ebx, 0xf000
mov edi, edx
movzx eax, word [ecx]
and ax, bx
movzx eax, ax
mov dword [esp + 0x34], eax
movzx eax, word [edx]
and ax, bx
movzx ebx, word [ecx + 2]
mov ecx, dword [ecx + 8]
movzx eax, ax
mov dword [esp + 0x38], eax
movzx eax, word [edx + 2]
mov edx, dword [edi + 8]
cmp eax, ebx
mov dword [esp + 0x24], ecx
cmovb ebx, eax
mov dword [esp + 0x4c], edx
push ebx
push ecx
push edx
call fcn.10100080
mov edi, dword [esp + 0x48]
add esp, 0xc
test eax, eax
jne 0x10095402
mov eax, dword [esp + 0x4c]
mov edx, 0x4000
mov ecx, dword [esp + 0x24]
mov al, byte [ebx + eax]
mov cl, byte [ebx + ecx]
test al, al
jne 0x100953e5
cmp word [esp + 0x38], dx
mov ebx, 0x2f
movzx eax, al
cmove eax, ebx
test cl, cl
jne 0x100953f2
cmp word [esp + 0x34], dx
jne 0x100953f6
mov cl, 0x2f
cmp al, cl
jb 0x10095402
cmp al, cl
jbe 0x10095366
jmp 0x10095402
xor esi, esi
mov ecx, dword [esp + 0x28]
cmp ecx, esi
jl 0x1009541c
nop word [eax + eax]
mov eax, dword [edi + ecx*4]
mov dword [edi + ecx*4 + 4], eax
dec ecx
cmp ecx, esi
jge 0x10095410
mov eax, dword [esp + 0x10]
mov dword [edi + esi*4], eax
mov eax, dword [esp + 0x2c]
mov ebx, 0xf000
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x18]
jb 0x10094f10
jmp 0x100957b5
mov ecx, esi
xor edx, edx
mov eax, ecx
shr ecx, 1
and eax, 1
or edx, eax
cmp ecx, 0x40
jae 0x10095444
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 0
lea esi, [edx + ecx]
mov dword [esp + 0x60], 0
push eax
push dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x1c], esi
mov ecx, edi
mov dword [esp + 0x60], fcn.10093e10
mov dword [esp + 0x64], sym.user32.dll_git_tree_entry_cmp
call fcn.100936d0
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x18]
cmp esi, eax
cmovg esi, eax
cmp esi, ebx
jle 0x100954b2
push sym.user32.dll_git_tree_entry_cmp
push ecx
push esi
mov edx, ebx
mov ecx, edi
call fcn.10093550
add esp, 0xc
mov ebx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], ebx
cmp ebx, esi
je 0x100957b5
lea eax, [esp + 0x54]
mov edx, ebx
push eax
push esi
mov ecx, edi
call fcn.100936d0
mov ecx, esi
add esp, 8
mov esi, dword [esp + 0x14]
sub ecx, ebx
cmp esi, ecx
cmovg esi, ecx
cmp esi, eax
jle 0x10095503
push sym.user32.dll_git_tree_entry_cmp
push ecx
push esi
lea ecx, [edi + ebx*4]
mov edx, eax
call fcn.10093550
add esp, 0xc
mov eax, esi
mov esi, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x70], ebx
add ebx, eax
mov dword [esp + 0x74], eax
lea eax, [esp + 0x54]
push eax
cmp ebx, esi
jne 0x1009552f
push 2
lea edx, [esp + 0x70]
call fcn.100937e0
add esp, 8
jmp 0x10095799
push esi
mov edx, ebx
call fcn.100936d0
mov ecx, esi
add esp, 8
mov esi, dword [esp + 0x14]
sub ecx, ebx
cmp esi, ecx
cmovg esi, ecx
cmp esi, eax
jle 0x10095561
push sym.user32.dll_git_tree_entry_cmp
push ecx
push esi
lea ecx, [edi + ebx*4]
mov edx, eax
call fcn.10093550
add esp, 0xc
mov eax, esi
mov dword [esp + 0x78], ebx
mov esi, 3
add ebx, eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x10], ebx
cmp ebx, dword [esp + 0x18]
jne 0x100955b0
lea ebx, [esp + 0x74]
nop
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push esi
lea edx, [esp + 0x70]
call fcn.100937e0
mov eax, dword [ebx + 8]
lea ebx, [ebx - 8]
add dword [ebx + 8], eax
dec esi
add esp, 8
cmp esi, 1
jg 0x10095580
jmp 0x10095799
lea ebx, [esi*8]
cmp esi, 2
jl 0x10095702
mov ecx, dword [esp + esi*8 + 0x5c]
mov edx, dword [esp + ebx + 0x64]
je 0x100955d3
lea eax, [edx + ecx]
cmp dword [esp + esi*8 + 0x54], eax
jle 0x100955e0
cmp ecx, edx
jg 0x10095702
nop dword [eax + eax]
cmp esi, 2
je 0x100956c2
lea eax, [esi*8 - 0x10]
mov edx, dword [esp + eax + 0x6c]
lea ebx, [esp + esi*8 + 0x54]
mov dword [esp + 0x28], eax
lea eax, [esi*8]
mov ecx, dword [esp + eax + 0x64]
mov dword [esp + 0x4c], eax
lea eax, [ecx + edx]
cmp dword [ebx], eax
jg 0x10095681
lea eax, [esi - 1]
lea edx, [esp + 0x68]
mov dword [esp + 0x24], eax
cmp dword [ebx], ecx
jge 0x10095655
lea ecx, [esp + 0x54]
push ecx
push eax
mov ecx, edi
call fcn.100937e0
mov edx, dword [esp + 0x30]
add esp, 8
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + edx + 0x6c]
add dword [ebx], eax
mov eax, dword [esp + ecx + 0x60]
mov ecx, dword [esp + ecx + 0x64]
mov dword [esp + edx + 0x68], eax
mov dword [esp + edx + 0x6c], ecx
jmp 0x100956b4
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push esi
call fcn.100937e0
lea ecx, [esi*8]
add esp, 8
mov eax, dword [esp + ecx + 0x64]
lea edx, [esi*8 - 0x10]
add dword [esp + edx + 0x6c], eax
mov esi, dword [esp + 0x24]
jmp 0x100956b4
cmp edx, ecx
jg 0x100955b0
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push esi
lea edx, [esp + 0x70]
call fcn.100937e0
lea ecx, [esi*8]
add esp, 8
mov eax, dword [esp + ecx + 0x64]
lea edx, [esi*8 - 0x10]
add dword [esp + edx + 0x6c], eax
dec esi
cmp esi, 1
jg 0x100955e0
jmp 0x100955b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
lea eax, [ecx + edx]
cmp eax, dword [esp + 0x18]
je 0x100956db
cmp ecx, edx
jg 0x100955b0
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push 2
lea edx, [esp + 0x70]
call fcn.100937e0
mov eax, dword [esp + 0x7c]
add esp, 8
add dword [esp + 0x6c], eax
mov esi, 1
jmp 0x100955b0
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x1c]
mov ecx, edi
call fcn.100936d0
mov ecx, dword [esp + 0x20]
add esp, 8
sub ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp edx, ecx
cmovg edx, ecx
mov dword [esp + 0x28], edx
cmp edx, eax
jle 0x1009574e
push sym.user32.dll_git_tree_entry_cmp
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, eax
lea ecx, [edi + ecx*4]
call fcn.10093550
mov eax, dword [esp + 0x34]
add esp, 0xc
mov ecx, dword [esp + 0x10]
inc esi
mov dword [esp + ebx + 0x68], ecx
mov dword [esp + ebx + 0x6c], eax
mov ebx, ecx
add ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, dword [esp + 0x18]
jne 0x100955b0
cmp esi, 1
jle 0x10095799
lea ebx, [esp + esi*8 + 0x5c]
lea eax, [esp + 0x54]
mov ecx, edi
push eax
push esi
lea edx, [esp + 0x70]
call fcn.100937e0
mov eax, dword [ebx + 8]
lea ebx, [ebx - 8]
add dword [ebx + 8], eax
dec esi
add esp, 8
cmp esi, 1
jg 0x10095776
mov eax, dword [esp + 0x60]
test eax, eax
je 0x100957b5
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_4]
mov ecx, esi
push eax
call dword [0x101182f8]
call esi
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10095966
xor esi, esi
cmp dword [esp + 0x40], esi
jne 0x10095966
cmp esi, eax
jae 0x100957d6
mov ebx, dword [edi + esi*4]
jmp 0x100957d8
xor ebx, ebx
movzx eax, word [ebx]
push eax
push 0x101478c8
push dword [esp + 0x24]
call fcn.1002a160
movzx ecx, word [ebx + 2]
add esp, 0xc
mov eax, dword [ebx + 8]
inc ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1009581f
push str.data
push str.invalid_argument
push 0x1013afe8
push 3
call fcn.10028180
add esp, 0x10
jmp 0x100958a4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
lea edx, [eax + ecx]
cmp edx, eax
jb 0x10095899
lea eax, [edx + 1]
mov dword [esp + 0x20], esi
cmp eax, edx
jb 0x10095899
mov edi, dword [esp + 0x1c]
mov edx, esi
cmp dword [edi], 0x1015ddcc
mov edi, dword [esp + 0x3c]
je 0x100958a4
mov esi, dword [esp + 0x50]
cmp eax, dword [esi]
jbe 0x1009586c
mov ecx, dword [esp + 0x1c]
mov esi, edx
push 1
mov edx, eax
call fcn.10029800
add esp, 4
test eax, eax
js 0x100958a4
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
push ecx
push dword [esp + 0x2c]
mov eax, dword [esi + 8]
add eax, dword [esi]
push eax
call fcn.100f5f90
mov eax, dword [esp + 0x38]
add esp, 0xc
add dword [esi + 8], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov esi, dword [esp + 0x20]
mov byte [ecx + eax], 0
jmp 0x100958a4
call fcn.1002b0b0
mov dword [eax], str.Out_of_memory
mov ebx, dword [ebx + 4]
mov edx, esi
mov dword [esp + 0x28], edx
test ebx, ebx
jne 0x100958cc
push str.data
push str.invalid_argument
push 0x1013afe8
push 3
call fcn.10028180
add esp, 0x10
jmp 0x10095947
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
lea ecx, [eax + 0x14]
cmp ecx, eax
jb 0x1009593c
mov esi, edx
lea edx, [ecx + 1]
cmp edx, ecx
jb 0x10095931
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], 0x1015ddcc
je 0x1009525c
mov eax, dword [esp + 0x50]
cmp edx, dword [eax]
jbe 0x1009590d
push 1
call fcn.10029800
add esp, 4
test eax, eax
js 0x10095947
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 8]
add eax, dword [ecx]
push 0x14
push ebx
push eax
call fcn.100f5f90
mov eax, dword [esp + 0x28]
add esp, 0xc
add dword [eax + 8], 0x14
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov byte [ecx + eax], 0
jmp 0x10095947
call fcn.1002b0b0
mov esi, dword [esp + 0x28]
jmp 0x10095941
call fcn.1002b0b0
mov dword [eax], str.Out_of_memory
mov ebx, dword [esp + 0x1c]
cmp dword [ebx], 0x1015ddcc
je 0x1009525c
mov eax, dword [esp + 0x18]
inc esi
cmp esi, eax
jb 0x100957d1
jmp 0x1009596a
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x28]
mov edx, dword [eax]
call fcn.10007b30
mov dword [esp + 0x40], eax
test eax, eax
jne 0x1009599c
push 2
push dword [ebx + 8]
push dword [ebx]
push dword [esp + 0x34]
push dword [esp + 0x74]
call sym.user32.dll_git_odb_write
add esp, 0x14
mov ebx, eax
jmp 0x100959a0
mov ebx, dword [esp + 0x40]
mov esi, dword [method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_4]
mov ecx, esi
push edi
call dword [0x101182f8]
call esi
mov ecx, dword [esp + 0x470]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100f4277
mov esp, ebp
pop ebp
ret