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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1e0], eax
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x38], edx
mov ecx, dword [ebp + 8]
push edi
mov dword [esp + 0x1c], ecx
mov byte [esp + 0xbc], 0
mov eax, dword [ecx + 0x24]
mov byte [esp + 0x28], 0
mov byte [esp + 0x27], 0
cmp eax, 3
ja case.0x10014d24.1
jmp dword [eax*4 + 0x100165a0]
mov dword [esp + 0x30], 0
jmp 0x10014d47
mov dword [esp + 0x30], 1
jmp 0x10014d47
mov dword [esp + 0x30], 2
mov al, byte [esi + 0xc0]
and al, 0x30
mov byte [esp + 0x13], al
movzx eax, word [ecx + 0x1e]
add eax, dword [ecx + 0x10]
mov dword [esp + 0x14], eax
movzx eax, word [ecx + 0x20]
mov dword [esp + 0x18], eax
movzx eax, ax
mov dword [esp + 0x50], eax
lea eax, [esp + 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esp + 0xc4]
mov ecx, 0xf4240
push dword [0x10059a9c]
mov ebx, dword [0x10059a98]
mul ecx
push ebx
mov ecx, eax
mov eax, edx
push eax
push ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x30], eax
call fcn.1004a350
push dword [0x10059a9c]
mov ecx, eax
mov edx, 0xf4240
mov eax, dword [esp + 0xc4]
xor edi, edi
mul edx
push ebx
add edi, eax
adc ecx, edx
push ecx
push edi
call fcn.1004a2e0
push dword [0x10059a9c]
mov edi, eax
mov dword [esp + 0x3c], edx
push ebx
push dword [esp + 0x28]
push dword [esp + 0x40]
call fcn.1004a2e0
add edi, 0
mov dword [esp + 0x5c], edi
adc dword [esp + 0x38], eax
cmp dword [esi], 3
jne 0x10014e09
mov al, byte [esi + 0xc1]
test al, al
js 0x10014e09
or al, 0x80
mov byte [esi + 0xc1], al
xor eax, eax
xor ecx, ecx
mov word [esp + 0xc], ax
mov eax, dword [esp + 0x18]
cmp cx, ax
jae 0x10015010
movzx edx, ax
lfence
mov dword [esp + 0x2c], edx
nop dword [eax]
mov cx, word [esp + 0xc]
movzx edi, cx
lea eax, [edi + 1]
cmp edx, eax
jb 0x100164ba
mov ebx, dword [esp + 0x14]
add ebx, edi
mov dword [esp + 0x20], ebx
mov dl, byte [ebx]
cmp dl, 0x40
jae 0x10014e66
movzx eax, dl
inc cx
cdq
mov edi, edx
mov ebx, eax
movzx edx, cx
jmp 0x10014ef3
cmp dl, 0x80
jae 0x10014ea2
lea eax, [edi + 2]
cmp dword [esp + 0x2c], eax
jb 0x100164ba
and dl, 0x3f
movzx eax, dl
cdq
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x20]
shld edi, ebx, 8
shl ebx, 8
movzx eax, byte [eax + 1]
cdq
or ebx, eax
or edi, edx
mov ax, word [esp + 0xc]
add ax, 2
jmp 0x10014ef0
cmp dl, 0xc0
jae 0x10014ecb
lea eax, [edi + 4]
cmp dword [esp + 0x2c], eax
jb 0x100164ba
mov ebx, dword [ebx]
xor edi, edi
mov ax, word [esp + 0xc]
bswap ebx
and ebx, 0x3fffffff
add ax, 4
jmp 0x10014ef0
lea eax, [edi + 8]
cmp dword [esp + 0x2c], eax
jb 0x100164ba
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov ax, word [esp + 0xc]
bswap edi
and edi, 0x3fffffff
add ax, 8
bswap ebx
movzx edx, ax
mov word [esp + 0xc], dx
test edi, edi
jne 0x10014f13
cmp ebx, 0x1e
jbe 0x10014f33
test edi, edi
jne 0x10014f13
cmp ebx, 0x30
jb 0x10014f13
test edi, edi
jne 0x10014f13
cmp ebx, 0x31
jbe 0x10014f33
cmp ebx, 0xaf
jne 0x10014f1f
test edi, edi
je 0x10014f33
cmp ebx, 0xac
jne 0x100164aa
test edi, edi
jne 0x100164aa
cmp dword [esp + 0x30], 2
je 0x10014f6c
test edi, edi
ja case.0x10014f5d.4
jb 0x10014f4d
cmp ebx, 0x1c
ja case.0x10014f5d.4
cmp ebx, 0x1c
ja case.0x10014f5d.4
movzx eax, byte [ebx + 0x100165b8]
jmp dword [eax*4 + 0x100165b0]
mov ecx, ebx
mov dword [esp + 0x20], ecx
jmp 0x10014fc5
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x24], 1
jne 0x10014f9d
cmp ebx, 2
jne 0x10014f83
test edi, edi
je case.0x10014f5d.4
cmp ebx, 3
jne 0x10014f90
test edi, edi
je case.0x10014f5d.4
cmp ebx, 0x1e
jne 0x10014f9d
test edi, edi
je case.0x10014f5d.4
test edi, edi
ja case.0x10014fcc.31
jb 0x10014fb3
cmp ebx, 0xaf
ja case.0x10014fcc.31
mov ecx, ebx
mov dword [esp + 0x20], ecx
cmp ecx, 0xaf
ja case.0x10014fcc.31
movzx eax, byte [ecx + 0x10016628]
jmp dword [eax*4 + 0x100165d8]
cmp dx, word [esp + 0x18]
jae 0x10015002
mov ebx, dword [esp + 0x14]
nop
movzx eax, word [esp + 0xc]
cmp byte [eax + ebx], 0
jne case.0x10014fcc.31
mov cx, word [esp + 0xc]
inc cx
mov word [esp + 0xc], cx
cmp cx, word [esp + 0x50]
jb 0x10014fe0
cmp byte [esp + 0x27], 0
je 0x10015010
mov ecx, esi
call fcn.1000d910
cmp byte [esi + 0xc0], 0
jl 0x1001652b
test byte [esi + 0xc1], 1
jne 0x1001652b
mov edi, dword [esp + 0x30]
mov ecx, dword [esi + edi*4 + 0x868]
test ecx, ecx
je 0x1001657f
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
cmp dword [ecx + 0xc], edx
ja 0x10015070
jb 0x10015053
cmp dword [ecx + 8], eax
ja 0x10015070
add eax, 1
mov dword [ecx + 8], eax
adc edx, 0
mov dword [ecx + 0xc], edx
or byte [ebx + 0x29], 4
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi + edi*4 + 0x868]
cmp byte [esp + 0x28], 0
je 0x10016504
mov ebx, 2
jmp 0x10016510
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [ebx + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x24]
push ecx
push dword [esp + 0x44]
lea ecx, [esi + 0x808]
call fcn.10034020
add esp, 0x18
test al, al
je 0x10016014
add dword [esi + 0xbe0], 1
mov eax, dword [esp + 0x1c]
adc dword [esi + 0xbe4], 0
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xe8]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002c470
add esp, 8
test al, al
je 0x1001613b
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0xe8]
push eax
lea ecx, [esi + 0x878]
mov edx, dword [ebx + 0x24]
call fcn.10028c90
add esp, 4
test eax, eax
js 0x10016060
or byte [ebx + 0x29], 8
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x10016152
movzx ebx, word [esp + 0xc]
mov eax, ebx
cdq
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x98]
mov eax, dword [esp + 0x2c]
adc ecx, dword [esp + 0x9c]
cdq
cmp edx, ecx
jb 0x10016152
ja 0x100151a2
cmp eax, edi
jb 0x10016152
mov eax, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x98]
add word [esp + 0xc], ax
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
cmp byte [esp + 0x13], 0
je 0x10015216
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x18]
call fcn.1000d6b0
add esp, 8
test al, al
jne case.0x10014fcc.31
test byte [0x10059abb], 4
je 0x10016485
push str.Skipping_closed_stream_frame
jmp 0x10016477
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0xc0]
mov word [esp + 0xc0], dx
mov edx, dword [esp + 0x18]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x100161df
mov edx, dword [esp + 0x40]
mov eax, edx
and eax, 1
mov byte [esp + 0xbc], 1
cmp dword [esi], 4
jne 0x10015262
or eax, 0
jne 0x1001526b
mov cl, 1
jmp 0x1001526d
or eax, 0
je 0x1001526b
mov cl, 1
jmp 0x1001526d
xor cl, cl
mov eax, edx
mov byte [esp + 0x34], cl
and eax, 2
or eax, 0
je 0x100152cf
cmp ebx, 0x11
jne 0x10015284
test edi, edi
je 0x1001528d
cmp ebx, 5
jne 0x10015291
test edi, edi
jne 0x10015291
mov al, 1
jmp 0x10015293
xor al, al
cmp cl, al
jne 0x100152cf
test byte [0x10059abb], 4
je 0x100152b3
push str.Invalid_frame_on_unidirectional_stream
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 0
push 0
push 5
mov edx, 2
mov ecx, esi
call fcn.10010570
add esp, 0x10
jmp case.0x10014fcc.31
mov edi, dword [esp + 0x40]
lea eax, [esp + 0x29]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esi + 0x618]
push dword [esp + 0x38]
push dword [esp + 0x4c]
mov dl, byte [eax + 0x28]
shr dl, 7
push edi
call fcn.1002b9d0
add esp, 0x10
mov dword [esp + 0x48], eax
test eax, eax
je 0x10015361
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x27]
mov ebx, dword [esp + 0x1c]
mov edx, ebx
push ecx
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x1c]
mov ecx, eax
push dword [esp + 0x24]
push edi
call fcn.100235a0
mov ecx, dword [esp + 0x5c]
add esp, 0x14
mov edi, eax
call fcn.1000d7a0
cmp edi, 0x8007000e
je 0x10016169
test edi, edi
jns 0x100153d3
lfence
test byte [0x10059abb], 4
je 0x10016485
push str.Invalid_stream_frame
jmp 0x10016477
cmp byte [esp + 0x29], 0
jne 0x100161a8
test byte [0x10059abb], 0x40
je 0x100153b0
push dword [esp + 0x44]
movzx eax, bl
push edi
push eax
push str.Ignoring_frame___hhu__for_already_closed_stream_id___llu
push 0xffffffffffffffff
lea eax, [esp + 0xfc]
push 0x80
push eax
call fcn.100015f0
add esp, 0x1c
lea eax, [esp + 0xe8]
mov edx, 0x1004ca20
push eax
push esi
call fcn.10001280
add esp, 8
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x18]
mov ecx, ebx
call fcn.1000d6b0
add esp, 8
test al, al
je 0x10016191
mov ebx, dword [esp + 0x1c]
or byte [ebx + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x100161f6
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
mov ecx, dword [esp + 0x74]
cmp dword [esi + 0xa9c], ecx
ja 0x10015450
mov eax, dword [esp + 0x70]
jb 0x10015423
cmp dword [esi + 0xa98], eax
jae 0x10015450
mov dword [esi + 0xa9c], ecx
mov edx, 0x10
mov ecx, esi
mov dword [esi + 0xa98], eax
mov byte [esp + 0x27], 1
call fcn.1000dc10
lea ecx, [esi + 0xa70]
mov edx, 7
call fcn.1002f5e0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xb0]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x1001620d
cmp dword [esp + 0x20], 0x12
sete dl
cmp byte [esp + 0x13], 0
mov byte [esp + 0xa8], dl
jne case.0x10014fcc.31
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
cmp ecx, 0xfffffff
jb 0x100154dd
ja 0x100154c1
cmp eax, 0xffffffff
jbe 0x100154dd
push 0
push 0
push 0
push 4
mov edx, 2
mov ecx, esi
call fcn.10010570
add esp, 0x10
jmp case.0x10014fcc.31
push ecx
push eax
lea ecx, [esi + 0x618]
call fcn.1002b4a0
mov eax, dword [esp + 0x24]
add esp, 8
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x10016224
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
test byte [0x10059abc], 1
je 0x1001556f
push dword [esp + 0x7c]
lea eax, [esp + 0xec]
push dword [esp + 0x7c]
push str.Peer_Connection_FC_blocked___llu_
push 0xffffffffffffffff
push 0x80
push eax
call fcn.100015f0
lea eax, [esp + 0x100]
mov edx, 0x1004c9b0
push eax
push esi
call fcn.10001280
add esp, 0x20
lea ecx, [esi + 0xa70]
mov edx, 0x20
call fcn.1002f8f0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x1001623b
mov edi, dword [esp + 0x20]
cmp edi, 0x16
sete dl
cmp byte [esp + 0x13], 0
mov byte [esp + 0x88], dl
jne case.0x10014fcc.31
test byte [0x10059abc], 1
mov ebx, dword [esp + 0x94]
je 0x1001562f
push ebx
push dword [esp + 0x94]
xor eax, eax
cmp edi, 0x16
sete al
push eax
push str.Peer_Streams__hu__FC_blocked___llu_
push 0xffffffffffffffff
lea eax, [esp + 0xfc]
push 0x80
push eax
call fcn.100015f0
add esp, 0x1c
lea eax, [esp + 0xe8]
mov edx, 0x1004c9b0
push eax
push esi
call fcn.10001280
mov dl, byte [esp + 0x90]
add esp, 8
xor eax, eax
mov byte [esp + 0xbc], 1
cmp edi, 0x16
mov ecx, 2
cmove ecx, eax
cmp dword [esi], 4
setne al
or ecx, eax
add ecx, 0x41
lea ecx, [ecx + ecx*2]
cmp dword [esi + ecx*8 + 4], ebx
ja case.0x10014fcc.31
jb 0x1001566e
mov eax, dword [esp + 0x90]
cmp dword [esi + ecx*8], eax
ja case.0x10014fcc.31
test byte [0x10059abc], 1
mov dword [esp + 0xd0], 8
mov byte [esp + 0xd8], dl
je 0x100156cc
cmp edi, 0x16
mov ecx, str.Unidi
mov eax, str.Bidi
cmovne eax, ecx
push eax
push str.Indicating_QUIC_CONNECTION_EVENT_PEER_NEEDS_STREAMS_type:__s
push 0xffffffffffffffff
lea eax, [esp + 0xf4]
push 0x80
push eax
call fcn.100015f0
add esp, 0x14
lea eax, [esp + 0xe8]
mov edx, 0x1004c9b0
push eax
push esi
call fcn.10001280
add esp, 8
lea edx, [esp + 0xd0]
mov ecx, esi
call fcn.1000f960
mov eax, dword [esp + 0x1c]
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xe8]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002c850
add esp, 8
test al, al
je 0x10016388
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
mov ecx, dword [esp + 0xfc]
xor bl, bl
cmp dword [esi + 0xfc], ecx
ja 0x100157dd
mov eax, dword [esp + 0xf8]
jb 0x10015741
cmp dword [esi + 0xf8], eax
jae 0x100157dd
mov edi, dword [esi + 0x364]
lea edx, [esi + 0x364]
xor bl, bl
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], ecx
cmp edi, edx
je 0x100157dd
cmp dword [edi + 0x24], ecx
ja 0x100157d7
jb 0x1001576f
cmp dword [edi + 0x20], eax
jae 0x100157d7
mov dl, byte [edi + 0x18]
test dl, 0x20
jne 0x100157d1
test dl, 8
movzx ebx, bl
mov eax, 1
cmovne ebx, eax
test byte [0x10059aba], 4
je 0x100157ab
lea eax, [edi + 0x28]
mov edx, 0x1004c690
push eax
movzx eax, byte [edi + 0x19]
push eax
push dword [edi + 0x24]
push dword [edi + 0x20]
push esi
call fcn.1000d210
add esp, 0x14
dec byte [esi + 0xd4]
lea ecx, [esi + 0xa70]
or byte [edi + 0x18], 0x22
mov edx, 0x200
call fcn.1002f8f0
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xfc]
lea edx, [esi + 0x364]
mov edi, dword [edi]
cmp edi, edx
jne 0x10015763
mov eax, dword [esi + 0x364]
lea edi, [esi + 0x364]
cmp eax, edi
je 0x10015814
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf0]
nop dword [eax + eax]
cmp dword [eax + 0x20], edx
jne 0x1001580e
cmp dword [eax + 0x24], ecx
je 0x1001594e
mov eax, dword [eax]
cmp eax, edi
jne 0x10015800
movzx eax, byte [esp + 0xe8]
mov dword [esp + 0xbc], eax
add eax, 0x28
push eax
push 0
push dword [0x10059a38]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x1001630e
mov al, byte [esp + 0xe8]
xorps xmm0, xmm0
movups xmmword [ecx + 0x18], xmm0
mov byte [ecx + 0x19], al
test al, al
je 0x10015877
push dword [esp + 0xbc]
lea eax, [ecx + 0x28]
lea ecx, [esp + 0x104]
push ecx
push eax
call fcn.10049810
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
or byte [ecx + 0x18], 0x40
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0x24], edx
movups xmm0, xmmword [esp + eax + 0x100]
lea eax, [ecx + 0x28]
movups xmmword [ecx + 8], xmm0
test byte [0x10059aba], 0x80
je 0x100158ce
push eax
movzx eax, byte [ecx + 0x19]
push eax
push edx
push dword [esp + 0xfc]
mov edx, 0x1004c8e0
push esi
call fcn.1000d210
mov ecx, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
mov dword [ecx], edi
mov dword [eax], ecx
mov dword [edi + 4], ecx
mov al, byte [esi + 0xd4]
inc al
mov byte [esi + 0xd4], al
mov edi, dword [ecx + 0x24]
mov edx, dword [ecx + 0x20]
cmp edi, dword [esi + 0xfc]
ja 0x10015941
jb 0x10015901
cmp edx, dword [esi + 0xf8]
jae 0x10015941
test byte [0x10059aba], 4
je 0x10015927
lea eax, [ecx + 0x28]
push eax
movzx eax, byte [ecx + 0x19]
push eax
push edi
push edx
push esi
mov edx, 0x1004c690
call fcn.1000d210
mov ecx, dword [esp + 0x34]
add esp, 0x14
dec byte [esi + 0xd4]
mov edx, 0x200
or byte [ecx + 0x18], 0x22
lea ecx, [esi + 0xa70]
call fcn.1002f8f0
cmp byte [esi + 0xd4], 4
ja 0x100162c9
test bl, bl
je 0x10015a08
xor bl, bl
cmp byte [esi + 0xd6], bl
jbe 0x10015a08
nop dword [eax]
nop dword [eax + eax]
movzx eax, bl
imul edx, eax, 0x98
mov eax, dword [edx + esi + 0x168]
add edx, esi
test eax, eax
je 0x100159fa
test byte [eax + 0x18], 0x20
je 0x100159fa
mov ecx, esi
call fcn.1000fda0
test eax, eax
jne 0x100159e9
test byte [edx + 0x101], 2
jne 0x1001627c
test byte [0x10059abb], 0x40
je 0x100159dc
push str.Non_active_path_has_no_replacement_for_retired_CID.
push 0xffffffffffffffff
lea eax, [esp + 0x170]
push 0x80
push eax
call fcn.100015f0
lea eax, [esp + 0x178]
mov edx, 0x1004ca20
push eax
push esi
call fcn.10001280
add esp, 0x18
mov dl, bl
mov ecx, esi
call fcn.1002ef00
dec bl
jmp 0x100159fa
mov dword [edx + 0x168], eax
or byte [eax + 0x18], 8
or byte [edx + 0x101], 4
inc bl
cmp bl, byte [esi + 0xd6]
jb 0x10015970
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1000b140
add esp, 8
test al, al
je 0x1001639f
cmp byte [esp + 0x13], 0
jne case.0x10014fcc.31
lea eax, [esp + 0x2a]
mov dl, 1
push eax
push dword [esp + 0x88]
mov ecx, esi
push dword [esp + 0x88]
call fcn.1000de30
add esp, 0xc
test eax, eax
je 0x10015450
mov bl, byte [eax + 0x18]
push eax
push 0
push dword [0x10059a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp byte [esp + 0x2a], 0
je 0x10015acd
test byte [0x10059abb], 4
je 0x10015aa1
push str.Last_Source_CID_Retired_
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 0
push 0
push 0xa
mov edx, 3
mov ecx, esi
call fcn.10010570
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
test bl, 0x20
jne 0x10015450
xor dl, dl
mov ecx, esi
call fcn.1000fae0
test eax, eax
je case.0x10014fcc.31
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
movzx ecx, dx
lea eax, [ecx + 8]
cmp dword [esp + 0x2c], eax
jb 0x100163b6
cmp byte [esp + 0x13], 0
lea eax, [edx + 8]
mov ebx, dword [esp + 0x14]
mov word [esp + 0xc], ax
mov edi, dword [ecx + ebx]
mov ecx, dword [ecx + ebx + 4]
jne case.0x10014fcc.31
mov eax, dword [esp + 0x3c]
mov edx, 0x800
or byte [eax + 2], 2
mov dword [eax + 0x88], ecx
lea ecx, [esi + 0xa70]
mov dword [eax + 0x84], edi
call fcn.1002f8f0
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
movzx ecx, dx
lea eax, [ecx + 8]
cmp dword [esp + 0x2c], eax
jb 0x100163cd
cmp byte [esp + 0x13], 0
mov ebx, dword [esp + 0x14]
mov eax, dword [ecx + ebx]
mov ecx, dword [ecx + ebx + 4]
mov dword [esp + 0xc8], eax
lea eax, [edx + 8]
mov dword [esp + 0xcc], ecx
mov word [esp + 0xc], ax
jne case.0x10014fcc.31
mov dl, byte [esi + 0xd6]
xor cl, cl
test dl, dl
je 0x10015c06
movzx eax, cl
imul edi, eax, 0x98
add edi, esi
test byte [edi + 0x101], 0x20
jne 0x10015bd3
lea ebx, [esp + 0xc8]
mov eax, dword [ebx]
cmp eax, dword [edi + 0x18c]
jne 0x10015bd3
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 0x190]
je 0x10015be6
inc cl
cmp cl, dl
jb 0x10015ba3
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
push 0
push 1
mov ecx, 0x1b
call fcn.10004ab0
push 2
lea edx, [edi + 0x100]
mov ecx, esi
call fcn.1002f010
add esp, 0xc
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x1c]
call fcn.1002cb00
add esp, 0xc
test al, al
je 0x100163e4
push dword [esp + 0x100]
cmp byte [esp + 0xec], 0
mov eax, 0xe
push dword [esp + 0x10c]
mov edx, 0xa
mov ecx, esi
push dword [esp + 0xfc]
cmovne edx, eax
push dword [esp + 0xfc]
call fcn.10010570
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
test byte [esi + 0xc1], 1
jne 0x10015002
jmp case.0x10014fcc.31
cmp dword [esi], 4
je 0x100163f8
test byte [esi + 0xc2], 2
jne 0x10015450
test byte [0x10059abb], 0x80
je 0x10015ce3
push str.Handshake_confirmed__frame_
push 0xffffffffffffffff
lea eax, [esp + 0xf0]
push 0x80
push eax
call fcn.100015f0
lea eax, [esp + 0xf8]
mov edx, 0x1004ccf8
push eax
push esi
call fcn.10001280
add esp, 0x18
or byte [esi + 0xc2], 2
mov edx, dword [esi + 0x488]
test edx, edx
je 0x10015d02
mov ecx, dword [esi + 0x128]
add ecx, 0x28
call fcn.10020c50
mov edx, 2
lea ecx, [esi + 0x878]
call fcn.10028180
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xbc], 1
or byte [eax + 0x29], 8
jmp case.0x10014fcc.31
test byte [esi + 0xaf], 8
je 0x10016418
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x1c]
call fcn.1002cbc0
add esp, 0xc
test al, al
je 0x10016408
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x1c]
movzx ecx, word [esp + 0xf0]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xd8], eax
xor eax, eax
cmp byte [edx + 0x28], al
mov dword [esp + 0xc0], ecx
setl al
mov dword [esp + 0xd0], 0xb
test byte [0x10059abc], 1
mov dword [esp + 0xdc], eax
je 0x10015dde
push ecx
push str.Indicating_DATAGRAM_RECEIVED__len_hu_
push 0xffffffffffffffff
lea eax, [esp + 0xf4]
push 0x80
push eax
call fcn.100015f0
add esp, 0x14
lea eax, [esp + 0xe8]
mov edx, 0x1004c9b0
push eax
push esi
call fcn.10001280
add esp, 8
lea edx, [esp + 0xd0]
mov ecx, esi
call fcn.1000f960
push 0
push dword [esp + 0xc4]
mov ecx, 0x13
call fcn.10004ab0
add esp, 8
mov byte [esp + 0xbc], 1
jmp case.0x10014fcc.31
mov edx, dword [esp + 0x14]
lea eax, [esp + 0xe8]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.1002cc60
add esp, 8
test al, al
je 0x10016469
movzx eax, byte [0x1005858a]
mov ebx, dword [esp + 0xfc]
imul eax, eax, 0x3e8
mov dword [esp + 0x20], ebx
test ebx, ebx
jb 0x10016428
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x68], ecx
ja 0x10015e69
cmp ecx, eax
jb 0x10016428
mov edx, dword [esp + 0xec]
mov byte [esp + 0xbc], 1
cmp edx, dword [esi + 0xec]
jb case.0x10014fcc.31
mov eax, dword [esp + 0xe8]
ja 0x10015e99
cmp eax, dword [esi + 0xe8]
jb case.0x10014fcc.31
add eax, 1
mov dword [esi + 0xe8], eax
mov al, byte [esp + 0x100]
adc edx, 0
shl al, 5
xor al, byte [esi + 0xc3]
and al, 0x20
mov dword [esi + 0xec], edx
xor byte [esi + 0xc3], al
test ebx, ebx
ja 0x10015edb
jb 0x10015ed1
cmp ecx, 0x3e8
jae 0x10015edb
mov eax, 1
jmp 0x10015f5f
mov eax, ecx
mov edx, 0x1a9fbe77
mul edx
mov ebx, 0x624dd2f
mov dword [esp + 0x60], eax
mov edi, edx
mov eax, ecx
mov ecx, 0x1a9fbe77
mul ebx
mov ebx, eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x20]
mul ecx
mov ecx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x20]
mov edx, 0x624dd2f
mul edx
add ecx, edi
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x48]
adc edx, 0
mov dword [esp + 0x58], eax
add ebx, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x20]
adc ecx, 0
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x58]
adc eax, eax
add ecx, edx
mov edx, dword [esp + 0x60]
adc edx, eax
mov eax, dword [esp + 0x68]
sub eax, ecx
sbb ebx, edx
shrd eax, ebx, 1
shr ebx, 1
add eax, ecx
adc ebx, edx
shrd eax, ebx, 9
mov dword [esi + 0x88], eax
cmp dword [esp + 0xf4], 0
ja 0x10015f87
mov eax, dword [esp + 0xf0]
jb 0x10015f7f
cmp eax, 0xff
jae 0x10015f87
mov byte [esi + 0xdb], al
jmp 0x10015f90
mov byte [esi + 0xdb], 0xff
or al, 0xff
test byte [0x10059abb], 0x80
je case.0x10014fcc.31
movzx eax, al
push eax
push str.Updating_packet_tolerance_to__hhu
push 0xffffffffffffffff
lea eax, [esp + 0xf4]
push 0x80
push eax
call fcn.100015f0
add esp, 0x14
lea eax, [esp + 0xe8]
mov edx, 0x1004ccf8
push eax
push esi
call fcn.10001280
add esp, 8
jmp case.0x10014fcc.31
mov byte [esp + 0x28], 1
mov eax, dword [esp + 0x18]
cmp word [esp + 0xc], ax
jae 0x10015002
mov edx, dword [esp + 0x2c]
jmp 0x10014e30
test byte [0x10059abb], 4
je 0x100164d6
push str.Disallowed_frame_type
push ebx
push esi
mov edx, 0x1004ce88
call fcn.100048b0
add esp, 0xc
jmp 0x100164d6
cmp byte [esp + 0x2b], 0
je 0x10016371
test byte [0x10059abb], 4
je 0x1001603b
push str.Invalid_ACK_frame
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 7
mov ecx, esi
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
cmp eax, 0x8007000e
jne 0x10016092
push str.Crypto_frame_process_OOM
mov edx, ebx
mov ecx, esi
lfence
call fcn.1000c440
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
cmp eax, 0x80410001
jne 0x100160e9
lea eax, [ebx - 0x18]
mov edx, 9
lfence
mov ecx, dword [esi + 0x128]
push eax
call fcn.10005af0
add esp, 4
test al, al
je 0x100160bb
or byte [ebx + 0x29], 1
push 0
push 0
push 0
push 0x11
mov edx, 3
mov ecx, esi
call fcn.10010570
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
cmp eax, 0x8007139f
je 0x10016371
lfence
test byte [0x10059abb], 4
je 0x10016116
push str.Invalid_CRYPTO_frame
push esi
mov edx, 0x1004c7e0
lfence
call fcn.10001280
add esp, 8
push 0
push 7
mov ecx, esi
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_CRYPTO_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_NEW_TOKEN_frame
jmp 0x10016477
push str.Stream_frame_process_OOM
mov edx, ebx
mov ecx, esi
call fcn.1000c440
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016485
push str.Skipping_ignored_stream_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016371
push str.Getting_stream_from_ID
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_stream_ID_from_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_MAX_DATA_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_MAX_STREAMS_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_BLOCKED_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016257
push str.Decoding_STREAMS_BLOCKED_frame
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 7
mov ecx, esi
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016298
push str.Active_path_has_no_replacement_for_retired_CID
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 0
push 0xffffffffffffffff
push 0x80004004
mov edx, 0x13
mov ecx, esi
call fcn.10010570
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x100162e5
push str.Peer_exceeded_CID_limit
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
mov ecx, esi
test bl, bl
jne 0x1001633b
push 0
push 0xa
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059ab8], 2
je 0x10016335
movzx eax, byte [esp + 0xe8]
cdq
add eax, 0x28
adc edx, 0
push edx
push eax
push str.new_DestCid
call fcn.10001500
add esp, 0xc
test bl, bl
je 0x10016357
mov ecx, esi
call fcn.1000dfd0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0xffffffffffffffff
push 0x8007000e
mov edx, 0x12
mov ecx, esi
call fcn.10010570
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_NEW_CONNECTION_ID_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_RETIRE_CONNECTION_ID_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_PATH_CHALLENGE_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_PATH_RESPONSE_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_CONNECTION_CLOSE_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016444
push str.Client_sent_HANDSHAKE_DONE_frame
jmp 0x10016436
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_DATAGRAM_frame
jmp 0x10016477
test byte [0x10059abb], 4
je 0x10016444
push str.Received_DATAGRAM_frame_when_not_negotiated
jmp 0x10016436
test byte [0x10059abb], 4
je 0x10016444
push str.UpdateMaxAckDelay_is_less_than_TimerResolution
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 0xa
mov ecx, esi
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x10016485
push str.Decoding_ACK_FREQUENCY_frame
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 7
mov ecx, esi
call fcn.10004b50
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abb], 4
je 0x100164d6
push str.Unknown_frame_type
jmp 0x100164c8
test byte [0x10059abb], 4
je 0x100164d6
push str.Frame_type_decode_failure
push esi
mov edx, 0x1004c7e0
call fcn.10001280
add esp, 8
push 0
push 0
push 0
push 7
mov edx, 2
mov ecx, esi
call fcn.10010570
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1e0]
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp byte [esp + 0xbc], bl
setne bl
push ebx
push dword [esp + 0x3c]
add ecx, 0x28
push dword [esp + 0x64]
push edx
mov edx, dword [ebp + 0xc]
push eax
call fcn.100376b0
add esp, 0x14
jmp 0x1001657f
test byte [0x10059abe], 0x80
je 0x1001657f
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp dword [esi], 4
sete al
push dword [ecx + 0xc]
push dword [ecx + 8]
movsx eax, byte [eax + str.CSTR]
push eax
push str.__c__RX___llu__not_acked__connection_is_closed_
push 0xffffffffffffffff
lea eax, [esp + 0x17c]
push 0x80
push eax
call fcn.100015f0
add esp, 0x1c
lea eax, [esp + 0x168]
mov edx, 0x1004cf78
push eax
call fcn.10001490
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
or byte [eax + 0x29], 2
mov al, 1
pop ebx
xor ecx, esp
call fcn.100483f7
mov esp, ebp
pop ebp
ret