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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x101c6040]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
push ebx
push ebp
mov ebp, dword [esp + 0x90]
push esi
push edi
xor edi, edi
mov dword [esp + 0x1c], eax
push 0x44
mov esi, eax
mov dword [esp + 0x3c], ebp
lea eax, [esp + 0x48]
mov byte [esp + 0x1f], 0
push edi
push eax
mov byte [esp + 0x1f], 0
mov byte [esp + 0x26], 0
mov byte [esp + 0x25], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x40], edi
call fcn.10048bd0
add esp, 0xc
mov dword [esp + 0x24], edi
lea eax, [esp + 0x44]
xor ebx, ebx
mov dword [esp + 0x14], eax
xorps xmm0, xmm0
movlpd qword [esp + 0x3c], xmm0
test ebp, ebp
je 0x10077c3b
mov eax, esi
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
mov cl, byte [eax]
cmp cl, 0x2b
je 0x10077599
cmp cl, 0x2d
jne 0x100775ac
cmp cl, 0x2d
mov byte [esp + 0x1a], 1
mov cl, byte [eax + 1]
lea esi, [eax + 1]
sete byte [esp + 0x1b]
movsx eax, cl
push eax
call fcn.10057440
add esp, 4
test eax, eax
jne 0x10077650
cmp byte [esi], 0x2e
je 0x10077650
push 0x100f732c
push esi
call fcn.10077440
add esp, 8
test al, al
jne 0x1007760e
push str.infinity
push esi
call fcn.10077440
add esp, 8
test al, al
jne 0x1007760e
push 0x100f7334
push esi
call fcn.10077440
add esp, 8
mov dword [ebp], ebx
test al, al
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
setne al
jmp 0x10077c1e
movzx eax, byte [esp + 0x1b]
push connect
cdq
push 0
push edx
push eax
call fcn.10047f10
add eax, 0
mov dword [ebp], ebx
pop edi
adc edx, 0x78000000
mov dword [ebp + 8], eax
pop esi
mov dword [ebp + 4], ebx
mov al, 1
mov dword [ebp + 0xc], edx
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.10046e60
add esp, 0x7c
ret
inc esi
nop dword [eax]
movsx eax, byte [esi]
push eax
call fcn.10057440
add esp, 4
test eax, eax
jne 0x10077669
cmp byte [esi], 0x2e
jne 0x100776f7
mov ecx, dword [esp + 0x94]
cmp ecx, 0xffffffff
je 0x1007767f
mov eax, dword [esp + 0x1c]
add eax, ecx
cmp esi, eax
jae 0x100776f7
mov al, byte [esi]
cmp al, 0x2e
jne 0x10077696
cmp byte [esp + 0x13], bl
jne 0x10077c07
mov byte [esp + 0x13], 1
jmp 0x1007764c
mov ecx, dword [esp + 0x24]
cmp cx, 0x22
jae 0x100776dd
cmp al, 0x30
jne 0x100776ac
cmp byte [esp + 0x19], bl
je 0x100776e4
jmp 0x100776bd
mov edx, dword [esp + 0x34]
cmp byte [esp + 0x19], bl
cmove edx, dword [esp + 0x2c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x14]
cbw
mov byte [esp + 0x19], 1
sub ax, 0x30
mov word [edx], ax
add edx, 2
inc ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], ecx
jmp 0x100776e3
cmp byte [esp + 0x19], bl
je 0x100776e4
inc edi
cmp byte [esp + 0x13], bl
je 0x100776ee
inc dword [esp + 0x20]
inc dword [esp + 0x2c]
jmp 0x1007764c
mov cl, byte [esp + 0x13]
test cl, cl
je 0x10077709
cmp dword [esp + 0x2c], ebx
je 0x10077c07
mov al, byte [esi]
cmp al, 0x65
je 0x10077713
cmp al, 0x45
jne 0x10077788
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebx
push eax
lea eax, [esp + 0x30]
xorps xmm0, xmm0
push eax
inc esi
movlpd qword [esp + 0x34], xmm0
push str._lld_n
push esi
call fcn.10078100
mov ecx, dword [esp + 0x24]
add esp, 0x10
add esi, ecx
test eax, eax
je 0x10077c07
test ecx, ecx
je 0x10077c07
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
jl 0x10077c07
mov ebx, dword [esp + 0x2c]
jg 0x1007776e
cmp ebx, 0x80000000
jb 0x10077c07
test eax, eax
jg 0x10077c07
jl 0x10077784
cmp ebx, 0x7fffffff
ja 0x10077c07
mov cl, byte [esp + 0x13]
mov edx, dword [esp + 0x94]
cmp edx, 0xffffffff
je 0x1007779e
mov eax, dword [esp + 0x1c]
add eax, edx
cmp esi, eax
jae 0x100777a7
cmp byte [esi], 0
jne 0x10077c07
mov esi, dword [esp + 0x24]
test si, si
jne 0x100777ce
xor ebp, ebp
mov edi, 1
xor ecx, ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], ecx
mov esi, edi
mov word [esp + 0x44], cx
mov dword [esp + 0x2c], ecx
jmp 0x10077819
movzx eax, byte [esp + 0x1a]
mov edx, edi
add eax, dword [esp + 0x1c]
movzx ecx, cl
add ecx, eax
movzx ebp, si
add ecx, dword [esp + 0x34]
dec ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], edx
lea eax, [ecx - 1]
add eax, edi
cmp byte [eax], 0x30
jne 0x10077810
lea eax, [eax - 1]
dec edx
cmp byte [eax], 0x30
je 0x100777f8
mov cx, word [esp + 0x44]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ecx
jmp 0x10077819
mov ax, word [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, ebx
cdq
mov ecx, eax
test edx, edx
jl 0x10077838
jg 0x10077828
test ecx, ecx
jb 0x10077838
xor eax, eax
cmp eax, edx
jb 0x100778a4
ja 0x10077838
mov eax, dword [esp + 0x20]
cmp eax, ecx
jb 0x100778a8
lea eax, [ebx + 0x4000]
cdq
push edx
push eax
push 0
push dword [esp + 0x2c]
call fcn.100774b0
add esp, 0x10
test al, al
je 0x100778a4
mov ebx, 0xffffe7e0
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x2c]
cmp ebx, 0xffffe7e0
jl 0x10077873
movzx eax, si
cmp eax, edi
jae 0x1007791b
test ebp, ebp
je 0x10077a66
movzx eax, si
cmp eax, edi
jae 0x100778f4
movzx eax, byte [esp + 0x1a]
add eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x13]
add ecx, eax
cmp byte [ecx + edi - 1], 0x30
je 0x100778a1
test edx, edx
jne 0x10077c03
dec edi
jmp 0x10077905
mov eax, dword [esp + 0x20]
cmp eax, 0x7fffffff
ja 0x10077c6c
sub ebx, eax
mov dword [esp + 0x20], ebx
cmp ebx, 0x17df
jle 0x1007785c
inc ebp
mov dword [esp + 0x24], ebp
cmp ebp, 0x22
jae 0x100778da
dec ebx
mov dword [esp + 0x20], ebx
cmp ebx, 0x17df
jg 0x100778c1
jmp 0x1007785c
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x10077c03
mov ebx, 0x17df
mov dword [esp + 0x20], ebx
jmp 0x10077860
cmp word [esp + ebp*2 + 0x44], 0
jne 0x10077c03
dec ebp
mov dword [esp + 0x24], ebp
cmp ebx, 0x17df
jge 0x10077c03
inc ebx
mov dword [esp + 0x20], ebx
jmp 0x10077860
lea eax, [ebp + 1]
cmp eax, edx
jae 0x10077948
movzx eax, byte [esp + 0x1a]
add eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x13]
add ecx, eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x34]
add ecx, ebp
mov al, byte [ecx + eax + 1]
sub al, 0x30
jne 0x10077c03
test edx, edx
je 0x10077a76
mov eax, dword [esp + 0x14]
movzx eax, ax
cdq
cmp ebp, 0x11
jae 0x100779bd
mov ecx, eax
mov ebx, edx
mov eax, 1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], eax
cmp ebp, eax
jb 0x100779b0
xorps xmm0, xmm0
movlpd qword [esp + 0x3c], xmm0
nop dword [eax + eax]
movzx eax, word [esp + eax*2 + 0x44]
mov esi, ecx
mov edi, ebx
cdq
shld edi, esi, 2
shl esi, 2
add ecx, esi
adc ebx, edi
shld ebx, ecx, 1
add ecx, ecx
add ecx, eax
mov eax, dword [esp + 0x24]
adc ebx, edx
inc eax
mov dword [esp + 0x24], eax
cmp eax, ebp
jbe 0x10077980
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x10077a99
mov ebx, eax
mov edi, 1
lea eax, [ebp - 0x11]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x34], eax
mov esi, edx
mov dword [esp + 0x14], esi
cmp eax, edi
jb 0x10077a18
mov ebp, edx
nop dword [eax + eax]
movzx eax, word [esp + edi*2 + 0x44]
mov ecx, ebx
mov esi, ebp
cdq
shld esi, ecx, 2
shl ecx, 2
add ebx, ecx
adc ebp, esi
shld ebp, ebx, 1
add ebx, ebx
add eax, ebx
mov ebx, eax
adc ebp, edx
inc edi
cmp edi, dword [esp + 0x34]
jbe 0x100779e0
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
movzx eax, word [esp + edi*2 + 0x44]
inc edi
cdq
mov dword [esp + 0x24], edi
mov ebx, edx
mov dword [esp + 0x2c], ebx
mov ecx, eax
cmp edi, ebp
ja 0x10077a9d
nop
movzx eax, word [esp + edi*2 + 0x44]
mov esi, ecx
mov edi, ebx
cdq
shld edi, esi, 2
shl esi, 2
add ecx, esi
adc ebx, edi
mov edi, dword [esp + 0x24]
shld ebx, ecx, 1
add ecx, ecx
add ecx, eax
adc ebx, edx
inc edi
mov dword [esp + 0x24], edi
cmp edi, ebp
jbe 0x10077a30
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
jmp 0x10077a9d
test edx, edx
jne 0x10077c03
mov dword [esp + 0x20], 0xffffe7e0
xorps xmm0, xmm0
movlpd qword [esp + 0x3c], xmm0
mov eax, dword [esp + 0x3c]
movlpd qword [esp + 0x24], xmm0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x40]
xor eax, eax
mov ebx, 0x5d8a0000
mul ebx
mov ebp, ebx
mov edi, eax
mov eax, esi
mul ebx
add edi, edx
mov dword [esp + 0x14], eax
xor eax, eax
mul ebp
mov ebx, eax
mov eax, dword [esp + 0x1c]
mul ebp
add ebx, edx
mov dword [esp + 0x34], eax
xor eax, eax
mov edx, 0x1634578
mul edx
mov edx, 0x1634578
mov ebp, eax
mov eax, esi
mul edx
add ebp, edx
mov esi, eax
add esi, edi
mov edx, 0x1634578
adc ebp, 0
xor eax, eax
mul edx
mov edx, 0x1634578
mov edi, eax
mov eax, dword [esp + 0x1c]
mul edx
add edi, edx
mov dword [esp + 0x24], edi
mov edi, eax
add edi, ebx
mov ebx, dword [esp + 0x24]
adc ebx, 0
add edi, dword [esp + 0x14]
adc ebx, 0
add ebx, esi
mov esi, 0
adc esi, ebp
xor edx, edx
add edx, dword [esp + 0x34]
adc edi, 0
add edx, ecx
mov dword [esp + 0x34], edx
adc edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x2c]
ja 0x10077b43
jb 0x10077b3d
cmp edx, ecx
jae 0x10077b43
add ebx, 1
adc esi, 0
mov edx, dword [esp + 0x38]
mov ecx, esi
mov edi, dword [esp + 0x20]
and ecx, 0x20000
add edi, 0x1820
mov dword [esp + 0x40], 0
and edi, 0x3fff
mov eax, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov dword [esp + 0x24], eax
xor eax, eax
or eax, ecx
je 0x10077b96
mov ecx, dword [esp + 0x24]
xor eax, eax
or ebp, 0x60000000
shl edi, 0xf
or eax, ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebp
and esi, 0x7fff
jmp 0x10077ba5
xor eax, eax
shl edi, 0x11
or eax, dword [esp + 0x24]
and esi, 0x1ffff
or edi, ebp
mov dword [esp + 0x24], edx
mov ebp, 8
mov ecx, edx
mov dword [esp + 0x14], ebp
or ebx, eax
or esi, edi
cmp byte [esp + 0x1b], 0
mov dword [ecx + ebp], eax
mov eax, edx
mov dword [ecx + ebp + 4], edi
mov ecx, dword [esp + 0x14]
mov dword [ecx + eax], ebx
mov dword [ecx + eax + 4], esi
mov eax, dword [esp + 0x34]
mov dword [edx], eax
mov eax, dword [esp + 0x1c]
mov dword [edx + 4], eax
je 0x10077bee
or esi, 0x80000000
mov dword [edx + 8], ebx
mov dword [edx + 0xc], esi
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.10046e60
add esp, 0x7c
ret
mov ebp, dword [esp + 0x38]
mov dword [ebp + 8], 0
xor al, al
mov dword [ebp], 0
mov dword [ebp + 4], 0
mov ecx, dword [esp + 0x88]
pop edi
pop esi
mov dword [ebp + 0xc], 0x7c000000
pop ebp
pop ebx
xor ecx, esp
call fcn.10046e60
add esp, 0x7c
ret
push 0x100fc538
push str.bson_decimal128_from_string_w_len
push 0x1fd
push str.C:Usersprocr_vcpkg_buildtreeslibbson_src1.26.1_017d46e88c.clean_srclibbson_src_bson_bson_decimal128.c
push str._s:_d__s__:_precondition_failed:__s_n
push 2
call fcn.1004c994
add esp, 4
push eax
call fcn.10070de0
add esp, 0x18
call fcn.10056f35
push str.bson_in_range_unsigned__int32_t__radix_position_
push str.bson_decimal128_from_string_w_len
push 0x27c
push str.C:Usersprocr_vcpkg_buildtreeslibbson_src1.26.1_017d46e88c.clean_srclibbson_src_bson_bson_decimal128.c
push str._s:_d__s__:_precondition_failed:__s_n
push 2
call fcn.1004c994
add esp, 4
push eax
call fcn.10070de0
add esp, 0x18
call fcn.10056f35
int3