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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x101f3600]
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.10076270
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 0x100a8d0b
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 0x100a8669
cmp cl, 0x2d
jne 0x100a867c
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.10089a00
add esp, 4
test eax, eax
jne 0x100a8720
cmp byte [esi], 0x2e
je 0x100a8720
push 0x10133a5c
push esi
call fcn.100a8510
add esp, 8
test al, al
jne 0x100a86de
push str.infinity
push esi
call fcn.100a8510
add esp, 8
test al, al
jne 0x100a86de
push 0x10133a64
push esi
call fcn.100a8510
add esp, 8
mov dword [ebp], ebx
test al, al
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
setne al
jmp 0x100a8cee
movzx eax, byte [esp + 0x1b]
push bind
cdq
push 0
push edx
push eax
call fcn.10075330
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.100747a0
add esp, 0x7c
ret
inc esi
nop dword [eax]
movsx eax, byte [esi]
push eax
call fcn.10089a00
add esp, 4
test eax, eax
jne 0x100a8739
cmp byte [esi], 0x2e
jne 0x100a87c7
mov ecx, dword [esp + 0x94]
cmp ecx, 0xffffffff
je 0x100a874f
mov eax, dword [esp + 0x1c]
add eax, ecx
cmp esi, eax
jae 0x100a87c7
mov al, byte [esi]
cmp al, 0x2e
jne 0x100a8766
cmp byte [esp + 0x13], bl
jne 0x100a8cd7
mov byte [esp + 0x13], 1
jmp 0x100a871c
mov ecx, dword [esp + 0x24]
cmp cx, 0x22
jae 0x100a87ad
cmp al, 0x30
jne 0x100a877c
cmp byte [esp + 0x19], bl
je 0x100a87b4
jmp 0x100a878d
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 0x100a87b3
cmp byte [esp + 0x19], bl
je 0x100a87b4
inc edi
cmp byte [esp + 0x13], bl
je 0x100a87be
inc dword [esp + 0x20]
inc dword [esp + 0x2c]
jmp 0x100a871c
mov cl, byte [esp + 0x13]
test cl, cl
je 0x100a87d9
cmp dword [esp + 0x2c], ebx
je 0x100a8cd7
mov al, byte [esi]
cmp al, 0x65
je 0x100a87e3
cmp al, 0x45
jne 0x100a8858
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.100a91d0
mov ecx, dword [esp + 0x24]
add esp, 0x10
add esi, ecx
test eax, eax
je 0x100a8cd7
test ecx, ecx
je 0x100a8cd7
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
jl 0x100a8cd7
mov ebx, dword [esp + 0x2c]
jg 0x100a883e
cmp ebx, 0x80000000
jb 0x100a8cd7
test eax, eax
jg 0x100a8cd7
jl 0x100a8854
cmp ebx, 0x7fffffff
ja 0x100a8cd7
mov cl, byte [esp + 0x13]
mov edx, dword [esp + 0x94]
cmp edx, 0xffffffff
je 0x100a886e
mov eax, dword [esp + 0x1c]
add eax, edx
cmp esi, eax
jae 0x100a8877
cmp byte [esi], 0
jne 0x100a8cd7
mov esi, dword [esp + 0x24]
test si, si
jne 0x100a889e
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 0x100a88e9
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 0x100a88e0
lea eax, [eax - 1]
dec edx
cmp byte [eax], 0x30
je 0x100a88c8
mov cx, word [esp + 0x44]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ecx
jmp 0x100a88e9
mov ax, word [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, ebx
cdq
mov ecx, eax
test edx, edx
jl 0x100a8908
jg 0x100a88f8
test ecx, ecx
jb 0x100a8908
xor eax, eax
cmp eax, edx
jb 0x100a8974
ja 0x100a8908
mov eax, dword [esp + 0x20]
cmp eax, ecx
jb 0x100a8978
lea eax, [ebx + 0x4000]
cdq
push edx
push eax
push 0
push dword [esp + 0x2c]
call fcn.100a8580
add esp, 0x10
test al, al
je 0x100a8974
mov ebx, 0xffffe7e0
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x2c]
cmp ebx, 0xffffe7e0
jl 0x100a8943
movzx eax, si
cmp eax, edi
jae 0x100a89eb
test ebp, ebp
je 0x100a8b36
movzx eax, si
cmp eax, edi
jae 0x100a89c4
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 0x100a8971
test edx, edx
jne 0x100a8cd3
dec edi
jmp 0x100a89d5
mov eax, dword [esp + 0x20]
cmp eax, 0x7fffffff
ja 0x100a8d3c
sub ebx, eax
mov dword [esp + 0x20], ebx
cmp ebx, 0x17df
jle 0x100a892c
inc ebp
mov dword [esp + 0x24], ebp
cmp ebp, 0x22
jae 0x100a89aa
dec ebx
mov dword [esp + 0x20], ebx
cmp ebx, 0x17df
jg 0x100a8991
jmp 0x100a892c
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x100a8cd3
mov ebx, 0x17df
mov dword [esp + 0x20], ebx
jmp 0x100a8930
cmp word [esp + ebp*2 + 0x44], 0
jne 0x100a8cd3
dec ebp
mov dword [esp + 0x24], ebp
cmp ebx, 0x17df
jge 0x100a8cd3
inc ebx
mov dword [esp + 0x20], ebx
jmp 0x100a8930
lea eax, [ebp + 1]
cmp eax, edx
jae 0x100a8a18
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 0x100a8cd3
test edx, edx
je 0x100a8b46
mov eax, dword [esp + 0x14]
movzx eax, ax
cdq
cmp ebp, 0x11
jae 0x100a8a8d
mov ecx, eax
mov ebx, edx
mov eax, 1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], eax
cmp ebp, eax
jb 0x100a8a80
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 0x100a8a50
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
jmp 0x100a8b69
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 0x100a8ae8
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 0x100a8ab0
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 0x100a8b6d
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 0x100a8b00
mov esi, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
jmp 0x100a8b6d
test edx, edx
jne 0x100a8cd3
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 0x100a8c13
jb 0x100a8c0d
cmp edx, ecx
jae 0x100a8c13
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 0x100a8c66
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 0x100a8c75
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 0x100a8cbe
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.100747a0
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.100747a0
add esp, 0x7c
ret
push 0x10138a60
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.1007a58f
add esp, 4
push eax
call fcn.100a1e70
add esp, 0x18
call fcn.1008069d
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.1007a58f
add esp, 4
push eax
call fcn.100a1e70
add esp, 0x18
call fcn.1008069d
int3