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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x180
mov eax, dword [0x10411958]
mov edi, edx
mov ebx, ecx
dec eax
cmp eax, 5
jb 0x100b93d4
mov ecx, dword [0x10410ae0]
test ecx, ecx
je 0x100b93d4
mov al, 1
cmp ecx, 1
je 0x100b9376
cmp ecx, 2
jne 0x100b93c6
mov al, 2
movzx edx, al
mov ecx, 0x10410ae0
call fcn.10109ff0
test al, al
je 0x100b93d4
mov edx, dword [0x10410ae4]
mov dword [esp + 0xc8], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0xcc], 0
lea ecx, [esp + 8]
lea eax, [edx + 0x2c]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
push eax
call fcn.10109ac0
add esp, 4
jmp 0x100b944d
mov ecx, 0x10410ae0
call fcn.10109f40
test al, al
jne 0x100b9376
mov eax, dword [0x10410ae4]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x78]
mov dword [esp + 0x78], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0x7c], 0
mov dword [esp + 0xd8], eax
add eax, 0x2c
mov dword [esp + 0x80], eax
call fcn.10109e40
movsd xmm1, qword [esp + 0xd0]
movsd xmm0, qword [esp + 0xc8]
movsd qword [esp + 0x10], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x18], xmm1
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100b9475
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
lea edx, [ecx + 7]
neg ecx
and ecx, edx
lea edx, [esp + 8]
add ecx, dword [esp + 0x10]
push edx
push ecx
call dword [eax + 0x28]
add esp, 8
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x18], 0
je 0x100b9494
lea ecx, [esp + 8]
mov edx, 0x103a4567
push 5
push 0x15
call fcn.10109dd0
add esp, 8
lea eax, [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esi + 0x138]
movups xmm0, xmmword [esi + 0x118]
movups xmm1, xmmword [esi + 0x128]
mov eax, dword [esi + 0x13c]
mov dword [esi + 0x138], 2
mov dword [esi + 0x13c], 0
cmp cl, 2
jne 0x100b9545
lea ecx, [esp + 0x44]
call fcn.100131d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
or edx, ecx
je 0x100b9501
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 8]
lea edi, [esi + 7]
neg esi
and esi, edi
add esi, dword [esp + 0x10]
push ecx
push eax
push esi
call dword [edx + 0x38]
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x100b951d
lea ecx, [esp + 8]
mov edx, str.tracing::span_tracing::span::active
push 5
push 0xd
call fcn.10109dd0
add esp, 8
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100b9539
mov eax, dword [esp + 0x10]
lock dec dword [eax]
jne 0x100b9539
lea ecx, [esp + 0x10]
call fcn.10116ed0
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movups xmmword [esp + 0x78], xmm0
movups xmmword [esp + 0x88], xmm1
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x100b956f
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
dec eax
cmp eax, 5
jb 0x100b972d
mov ecx, dword [0x10410aec]
test ecx, ecx
je 0x100b972d
mov al, 1
cmp ecx, 1
je 0x100b959e
cmp ecx, 2
jne 0x100b9af0
mov al, 2
movzx edx, al
mov ecx, 0x10410aec
call fcn.10109ff0
test al, al
je 0x100b972d
mov ecx, dword [0x10410af0]
mov dword [esp + 4], edi
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x100b9b53
mov edi, dword [ecx + 0x2c]
mov edx, dword [ecx + 0x34]
mov esi, dword [ecx + 0x38]
cmp eax, 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0x48], 0x1039c470
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0x24], ebx
mov dword [esp + 0x5c], 0
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], esi
je 0x100b9b53
lea ebx, [esp + 0x78]
cmp eax, 2
mov dword [esp + 0x64], 1
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0xa0], ebx
jbe 0x100b9b53
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x24]
lea eax, [ecx + 0x2c]
mov dword [esp + 0x38], esi
test edx, edx
je 0x100b968a
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa4], edx
lea edx, [esp + 0xb4]
mov dword [esp + 0xc8], edx
lea edx, [esp + 0x48]
mov dword [esp + 0xcc], edx
lea edx, [esp + 0x64]
mov dword [esp + 0xd0], 0x103986f0
mov dword [esp + 0xd4], edx
lea edx, [esp + 0xa0]
mov dword [esp + 0xd8], edx
lea edx, [esp + 0x28]
mov dword [esp + 0xdc], 0x1039c488
mov dword [esp + 0xe0], edx
lea edx, [esp + 0xa4]
mov dword [esp + 0xe4], edx
lea edx, [esp + 0xc8]
mov dword [esp + 0xe8], 0x1039c234
mov dword [esp + 0xa8], edx
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], 3
mov dword [esp + 0xb0], eax
call fcn.1010a850
mov edi, dword [esp + 4]
mov eax, dword [ebx + 0x48]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [ebx + 0x48], 0
cmp eax, 1
je 0x100b987c
cmp eax, 2
jne 0x100b9b1e
mov eax, dword [0x10551ebc]
cmp eax, 5
jb 0x100b9766
mov eax, dword [0x10551ec0]
mov eax, dword [0x10411958]
dec eax
cmp eax, 5
jb 0x100b984e
mov ecx, dword [0x10410af8]
test ecx, ecx
je 0x100b984e
mov al, 1
cmp ecx, 1
je 0x100b9795
cmp ecx, 2
jne 0x100b9b07
mov al, 2
movzx edx, al
mov ecx, 0x10410af8
call fcn.10109ff0
test al, al
je 0x100b984e
mov ecx, dword [0x10410afc]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x100b9b8e
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x34]
mov edi, dword [ecx + 0x38]
mov dword [esp + 0x48], 0
mov dword [esp + 0xc8], 0x1039c4cc
mov dword [esp + 0xcc], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], str.formatter_errorfailed_to_write_whole_buffer
mov dword [esp + 0xdc], 0
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
lea esi, [esp + 0x48]
lea edx, [esp + 0xc8]
mov dword [esp + 0x58], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
lea esi, [esp + 0x28]
lea edx, [ecx + 0x2c]
mov dword [esp + 0x30], 0x103986f0
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x64]
call fcn.1010a850
mov eax, dword [esp + 0x88]
test eax, eax
je 0x100b9875
lea ecx, [esp + 0x84]
push dword [esp + 0x80]
push dword [esp + 0x80]
push ecx
call dword [eax + 4]
add esp, 0xc
xor ebx, ebx
jmp 0x100b9a79
mov dword [esp + 4], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x9c]
movzx ebx, word [esp + 0x9d]
mov dword [esp + 0x40], ecx
mov cl, byte [esp + 0x98]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov dword [esp + 0x28], esi
movsd qword [esp + 0x34], xmm1
movsd qword [esp + 0x2c], xmm0
mov byte [esp + 0x3c], al
mov word [esp + 0x3d], bx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
test edx, edx
je 0x100b99f9
test esi, esi
je 0x100b99f9
mov esi, dword [esp + 4]
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x40]
test cl, cl
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
je 0x100b9901
or al, 1
mov byte [esp + 0x3c], al
movsd xmm0, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
mov eax, dword [ebp + 8]
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], edx
movsd qword [esp + 0x5b], xmm0
movsd qword [esp + 0x53], xmm1
movsd qword [esp + 0x4b], xmm2
cmp dword [eax + 0x38], esi
jbe 0x100b9b37
mov ebx, dword [eax + 0x30]
imul esi, dword [esp + 4], 0xf0
cmp dword [ebx + esi], 1
jne 0x100b9b37
cmp dword [ebx + esi + 0x30], edx
jne 0x100b9b37
movsd xmm1, qword [esp + 0x50]
mov byte [esp + 0xc8], 0
movsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x5f]
lea edx, [esp + 0xc8]
mov ecx, edi
movsd qword [esp + 0xd1], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0xc9], xmm0
movsd qword [esp + 0xd9], xmm1
mov dword [esp + 0xe0], eax
mov dword [esp + 0x170], 0
call fcn.1009d3a0
cmp dword [ebx + esi + 0x68], 1
jne 0x100b9a16
mov edx, dword [edi + 8]
cmp edx, eax
jbe 0x100b9b6c
mov ecx, dword [edi]
imul edx, eax, 0xb8
cmp dword [ecx + edx], 1
jne 0x100b9b7d
mov edi, dword [ebx + esi + 0x6c]
mov dword [ecx + edx + 0xb0], 1
mov dword [ecx + edx + 0xb4], edi
lea edx, [ebx + esi + 0x6c]
mov dword [edx], eax
jmp 0x100b9a28
test edx, edx
je 0x100b94cf
lea eax, [esp + 0x34]
push esi
push dword [esp + 0x30]
push eax
call dword [edx + 4]
add esp, 0xc
jmp 0x100b94cf
lea ecx, [ebx + esi + 0x68]
mov dword [ecx], 1
mov dword [ebx + esi + 0x6c], eax
mov dword [ebx + esi + 0x70], eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
cmp dword [ecx + 0x38], eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
jbe 0x100b9b45
mov eax, dword [eax + 0x30]
cmp dword [eax + esi], 1
jne 0x100b9b45
cmp dword [eax + esi + 0x30], edx
jne 0x100b9b45
cmp dword [eax + esi + 0x54], 0
jle 0x100b9a77
lea edx, [esp + 0x64]
call fcn.100b9ca0
mov bl, 1
lea ecx, [esp + 0x44]
call fcn.100131d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
or edx, ecx
je 0x100b9aab
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 8]
lea edi, [esi + 7]
neg esi
and esi, edi
add esi, dword [esp + 0x10]
push ecx
push eax
push esi
call dword [edx + 0x38]
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x100b9ac7
lea ecx, [esp + 8]
mov edx, str.tracing::span_tracing::span::active
push 5
push 0xd
call fcn.10109dd0
add esp, 8
mov eax, dword [esp + 8]
or eax, dword [esp + 0xc]
je 0x100b953b
mov eax, dword [esp + 0x10]
lock dec dword [eax]
jne 0x100b953b
lea ecx, [esp + 0x10]
call fcn.10116ed0
jmp 0x100b953b
mov ecx, 0x10410aec
call fcn.10109f40
test al, al
jne 0x100b959e
jmp 0x100b972d
mov ecx, 0x10410af8
call fcn.10109f40
test al, al
jne 0x100b9795
jmp 0x100b984e
mov ecx, str.wasnt_expecting_a_frame_to_reclaim
mov edx, 0x23
push 0x1039c4bc
call fcn.1004d820
add esp, 4
ud2
lea ecx, [esp + 0xc8]
call fcn.100191c0
ud2
lea ecx, [esp + 0xc8]
call fcn.10019170
ud2
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1039c478
call fcn.1000a9c0
add esp, 4
ud2
mov ecx, eax
push 0x1039c25c
call fcn.10008590
add esp, 4
ud2
mov ecx, str.invalid_key
mov edx, 0xb
push 0x1039c25c
jmp 0x100b9b2d
mov ecx, 0x103986bd
mov edx, 0x22
push 0x1039c4d4
jmp 0x100b9b62