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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov dword [esp + 0x60], ecx
mov esi, edx
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x1001908a
mov dword [esp + 8], 5
mov dword [esp + 0xc], str.h2::proto::streams::counts
mov dword [esp + 0x10], 0x1a
mov eax, dword [0x104debfc]
lea eax, [esp + 8]
push eax
push str.formatter_errorfailed_to_write_whole_buffer
call fcn.10035f20
add esp, 8
test al, al
je 0x1001908a
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
cmp dword [edx + 0x38], ecx
jbe 0x100196ff
mov ebx, esi
mov esi, dword [edx + 0x30]
imul edi, ecx, 0xf0
cmp dword [esi + edi], 1
jne 0x100196ff
cmp dword [esi + edi + 0x30], eax
jne 0x100196ff
mov dword [esp + 0x44], ecx
lea edx, [esi + edi]
mov dword [esp + 0x48], eax
cmp dword [edx], 1
jne 0x100196ff
lea esi, [esi + edi + 0x30]
cmp dword [esi], eax
jne 0x100196ff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
cmp dword [edx], 1
jne 0x100196ff
cmp dword [esi], eax
jne 0x100196ff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
cmp dword [edx], 1
jne 0x100196ff
cmp dword [esi], eax
jne 0x100196ff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
cmp dword [edx], 1
jne 0x100196ff
cmp dword [esi], eax
jne 0x100196ff
mov esi, ebx
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x100192c7
mov ecx, dword [0x104d493c]
test ecx, ecx
je 0x100192c7
mov al, 1
cmp ecx, 1
je 0x100190b9
cmp ecx, 2
jne 0x100195d5
mov al, 2
movzx edx, al
mov ecx, 0x104d493c
call fcn.10109d10
test al, al
je 0x100192c7
mov dword [esp + 0x40], esi
mov esi, dword [0x104d4940]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x10019715
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x34]
mov dword [esp], esi
mov esi, dword [esi + 0x38]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov ebx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
cmp dword [edx + 0x38], ebx
jbe 0x100196f4
mov edx, dword [edx + 0x30]
imul edi, ebx, 0xf0
cmp dword [edx + edi], 1
jne 0x100196f4
cmp dword [edx + edi + 0x30], eax
jne 0x100196f4
mov dword [esp + 8], ebx
lea esi, [edx + edi]
mov dword [esp + 0xc], eax
cmp dword [esi], 1
jne 0x100196f4
lea ebp, [edx + edi + 0x30]
cmp dword [ebp], eax
jne 0x100196f4
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
cmp dword [esi], 1
jne 0x100196f4
cmp dword [ebp], eax
jne 0x100196f4
lea ecx, [edx + edi + 0x34]
cmp byte [ecx], 6
mov dword [esp + 0x5c], ecx
jne 0x100191aa
cmp dword [edx + edi + 0x68], 1
je 0x100191aa
cmp dword [edx + edi + 0x5c], 0
je 0x100196d3
xor ecx, ecx
mov dword [esp + 8], ebx
mov byte [esp + 6], cl
mov dword [esp + 0xc], eax
cmp dword [esi], 1
jne 0x100196f4
cmp dword [ebp], eax
jne 0x100196f4
mov cl, byte [edx + edi + 0x68]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
xor cl, 1
mov byte [esp + 7], cl
cmp dword [esi], 1
jne 0x100196f4
cmp dword [ebp], eax
jne 0x100196f4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], fcn.10018740
lea eax, [edx + edi + 0x5c]
lea edx, [esp + 8]
mov dword [esp + 0x44], 0x103f93d8
mov dword [esp + 0x48], 7
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], edx
lea edx, [esp + 0x44]
mov dword [esp + 0x58], 7
mov dword [esp + 0x10], ecx
lea ecx, [esp + 6]
mov dword [esp + 0x14], 0x100197a0
mov dword [esp + 0x18], ecx
lea ecx, [esp + 7]
mov dword [esp + 0x1c], 0x1000b250
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x24], 0x1000b250
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], fcn.10008370
lea eax, [ecx + 0xc]
lea edi, [ecx + 4]
lea ecx, [esp + 0x80]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x68], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], fcn.10008370
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], fcn.10008370
mov dword [esp + 0x6c], 0x103eee6c
mov dword [esp + 0x70], ecx
mov ecx, dword [esp]
mov dword [esp + 0x74], 1
lea edx, [ecx + 0x2c]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x70]
call fcn.1010a570
mov esi, dword [esp + 0x40]
mov edi, dword [esi]
mov edx, dword [esi + 4]
mov ebp, dword [esi + 8]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196f4
mov eax, dword [ebp + 0x30]
imul ebx, edi, 0xf0
cmp dword [eax + ebx], 1
jne 0x100196f4
cmp dword [eax + ebx + 0x30], edx
jne 0x100196f4
cmp byte [eax + ebx + 0x34], 6
jne 0x1001962e
cmp dword [eax + ebx + 0x68], 1
je 0x1001962e
cmp dword [eax + ebx + 0x5c], 0
jne 0x1001962e
mov dword [esp + 8], edi
lea ecx, [eax + ebx]
mov dword [esp + 0xc], edx
cmp dword [ecx], 1
jne 0x100196f4
lea ecx, [eax + ebx + 0x30]
cmp dword [ecx], edx
jne 0x100196f4
mov ecx, dword [eax + ebx + 8]
mov dword [esp], edx
xor ecx, 1
or ecx, dword [eax + ebx + 0xc]
je 0x10019375
mov ecx, esi
call fcn.10019830
mov edx, dword [esp]
cmp byte [esp + 0xa8], 0
je 0x10019375
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10019772
dec eax
mov dword [ecx + 0x14], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196f4
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x100196f4
cmp dword [eax + ebx + 0x30], edx
jne 0x100196f4
cmp byte [eax + ebx + 0xe4], 0
je 0x1001962e
mov eax, dword [0x104debf8]
cmp eax, 5
jb 0x10019414
mov dword [esp + 8], 5
mov dword [esp + 0xc], str.h2::proto::streams::counts
mov dword [esp + 0x10], 0x1a
mov eax, dword [0x104debfc]
lea eax, [esp + 8]
push eax
push str.formatter_errorfailed_to_write_whole_buffer
call fcn.10035f20
mov edx, dword [esp + 8]
add esp, 8
test al, al
je 0x10019414
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196ff
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x100196ff
cmp dword [eax + ebx + 0x30], edx
jne 0x100196ff
mov eax, dword [0x104d53e8]
dec eax
cmp eax, 5
jb 0x1001954f
mov ecx, dword [0x104d4948]
test ecx, ecx
je 0x1001954f
mov al, 1
cmp ecx, 1
je 0x10019443
cmp ecx, 2
jne 0x100196da
mov al, 2
movzx edx, al
mov ecx, 0x104d4948
call fcn.10109d10
mov edx, dword [esp]
test al, al
je 0x1001954f
mov ecx, dword [0x104d494c]
mov dword [esp + 0x40], esi
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x1001978b
mov esi, dword [ecx + 0x34]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x7c], esi
mov esi, dword [ecx + 0x38]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov edx, dword [esp]
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196f4
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x100196f4
cmp dword [eax + ebx + 0x30], edx
jne 0x100196f4
lea eax, [eax + ebx + 0x30]
mov dword [esp + 8], 0x103f945c
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
lea edx, [ecx + 0x2c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x74], fcn.10018740
mov dword [esp + 0x18], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x80], eax
lea eax, [esp + 8]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x88], 0x103eee6c
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x64]
call fcn.1010a570
mov edx, dword [esp]
mov esi, dword [esp + 0x40]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196f4
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x100196f4
cmp dword [eax + ebx + 0x30], edx
jne 0x100196f4
cmp byte [eax + ebx + 0xe4], 0
je 0x1001972e
mov dword [esp + 8], edi
lea ecx, [eax + ebx]
mov dword [esp + 0xc], edx
cmp dword [ecx], 1
jne 0x100196f4
lea eax, [eax + ebx + 0x30]
cmp dword [eax], edx
jne 0x100196f4
test edx, edx
mov ecx, edx
mov edx, dword [esp + 0x60]
je 0x1001973f
cmp byte [edx + 0x18], 1
setne al
test cl, 1
sete cl
xor cl, al
je 0x100195ec
mov eax, dword [edx + 4]
test eax, eax
je 0x10019750
dec eax
mov dword [edx + 4], eax
jmp 0x100195fb
mov ecx, 0x104d493c
call fcn.10109c60
test al, al
jne 0x100190b9
jmp 0x100192c7
mov eax, dword [edx + 0xc]
test eax, eax
je 0x10019761
dec eax
mov dword [edx + 0xc], eax
mov edx, dword [esp]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x1001970a
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x1001970a
cmp dword [eax + ebx + 0x30], edx
jne 0x1001970a
mov byte [eax + ebx + 0xe4], 0
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
cmp dword [ebp + 0x38], edi
jbe 0x100196f4
mov eax, dword [ebp + 0x30]
cmp dword [eax + ebx], 1
jne 0x100196f4
cmp dword [eax + ebx + 0x30], edx
jne 0x100196f4
cmp byte [eax + ebx + 0x34], 6
jne 0x100196c8
cmp dword [eax + ebx + 0x68], 1
je 0x100196c8
cmp dword [eax + ebx + 0x5c], 0
jne 0x100196c8
cmp dword [eax + ebx + 0x40], 0
jne 0x100196c8
lea ecx, [eax + ebx + 8]
cmp byte [ecx + 0xdd], 0
jne 0x100196c8
cmp byte [ecx + 0xde], 0
jne 0x100196c8
cmp byte [ecx + 0xe2], 0
jne 0x100196c8
cmp byte [ecx + 0xe3], 0
jne 0x100196c8
cmp byte [eax + ebx + 0xe8], 0
jne 0x100196c8
mov eax, dword [ecx]
xor eax, 1
or eax, dword [ecx + 4]
je 0x100196c8
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
lea ecx, [esp + 8]
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
call fcn.10019d90
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov cl, 1
jmp 0x100191ac
mov ecx, 0x104d4948
call fcn.10109c60
mov edx, dword [esp]
test al, al
jne 0x10019443
jmp 0x1001954f
lea ecx, [esp + 8]
call fcn.10018ef0
ud2
lea ecx, [esp + 0x44]
call fcn.10018ef0
ud2
lea ecx, [esp + 8]
call fcn.10018f40
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x103f9410
call fcn.1000a730
add esp, 4
ud2
mov ecx, str.assertion_failed:_stream.is_counted
mov edx, 0x23
push 0x103f9498
jmp 0x10019781
mov ecx, 0x1041e5e9
mov edx, 0x1f
push 0x103f8d6c
jmp 0x10019781
mov ecx, 0x103f94a8
mov edx, 0x2b
push 0x103f94d4
jmp 0x10019781
mov ecx, 0x103f94e4
mov edx, 0x2b
push 0x103f9510
jmp 0x10019781
mov ecx, str.assertion_failed:_self.num_reset_streams___0
mov edx, 0x2c
push 0x103f944c
call fcn.10016d20
add esp, 4
ud2
mov ecx, 0x1041992d
mov edx, 0x22
push 0x103f9464
jmp 0x10019724