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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
add ebp, ebx
test ebx, ebx
cmove ebp, ebx
mov edi, dword [esp + 0x50]
mov eax, 0xffffff94
cmp byte [edi + 0x38], 0
jne 0x4b1ef9
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edx, dword [edi + 0x18]
mov dword [esp + 0x30], edx
mov byte [eax], 0
mov esi, ebx
cmp ebp, ebx
je 0x4b1e9e
lea eax, [ecx + 0x24]
mov dword [esp + 0x38], eax
lea eax, [ecx + 0x28]
mov dword [esp + 0x34], eax
lea eax, [ecx + 4]
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0x14]
mov dword [esp + 0x28], eax
lea eax, [ecx + 0x30]
mov dword [esp + 0x20], eax
mov esi, ebx
mov dword [esp + 0x1c], ebp
mov eax, dword [ecx + 0x78]
cmp eax, 0xd
ja case.default.0x4b0c4e
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x9b2ea0]
mov edx, ecx
movzx ecx, byte [ecx + 0x38]
mov eax, 0xffffffff
shl eax, cl
mov dword [esp], eax
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x34]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x18], eax
mov dword [edx + 0x3c], 0
mov edx, dword [esp + 4]
mov dword [esp + 0x14], ecx
or ecx, edx
mov ecx, esi
jne 0x4b0cb1
mov eax, dword [esp]
not al
movzx ecx, byte [esi]
and cl, al
cmp cl, al
jne 0x4b182e
lea ecx, [esi + 1]
cmp ecx, ebp
je 0x4b1e88
movzx eax, al
mov dword [esp + 0x14], eax
xor edx, edx
cmp ecx, ebp
je 0x4b1e38
mov eax, ecx
sub eax, esi
inc eax
mov esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov dword [esp + 8], esi
nop dword [eax]
mov dword [esp], 0xfffffe6f
cmp ecx, 0x3e
ja 0x4b1ed8
mov dword [esp + 0xc], eax
mov edi, 0xffffffff
mov eax, 0x3fffffff
shrd edi, eax, cl
mov esi, 0x3fffffff
shr esi, cl
mov eax, dword [esp + 8]
movzx ebx, byte [eax]
mov eax, ebx
and al, 0x7f
test cl, 0x20
cmovne edi, esi
mov ebp, 0
cmovne esi, ebp
movzx eax, al
cmp edi, eax
sbb esi, 0
jb 0x4b1ed8
xor edi, edi
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, ebp
mov esi, 0xffffffff
sub esi, eax
mov ebp, 0x3fffffff
sbb ebp, edi
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
cmp esi, edx
mov esi, edx
mov edx, dword [esp + 4]
sbb ebp, edx
jb 0x4b1ed8
add esi, eax
adc edx, edi
test bl, bl
jns 0x4b19ba
mov dword [esp + 0x14], esi
mov esi, dword [esp + 8]
inc esi
add ecx, 7
mov eax, dword [esp + 0xc]
inc eax
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], esi
cmp esi, ebp
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
jne 0x4b0cd0
jmp 0x4b1c62
mov edx, ecx
movzx ecx, byte [ecx + 0x38]
mov eax, 0xffffffff
shl eax, cl
mov dword [esp], eax
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x34]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x3c]
mov dword [esp + 0xc], eax
mov dword [edx + 0x3c], 0
mov dword [esp + 4], ecx
mov eax, dword [esp + 8]
mov edx, eax
or ecx, eax
mov ecx, esi
jne 0x4b0ded
mov eax, dword [esp]
not al
movzx ecx, byte [esi]
and cl, al
cmp cl, al
jne 0x4b180b
lea ecx, [esi + 1]
cmp ecx, ebp
je 0x4b1e88
movzx eax, al
mov dword [esp + 4], eax
xor edx, edx
cmp ecx, ebp
je 0x4b1e41
mov eax, ecx
sub eax, esi
inc eax
mov dword [esp + 0x18], eax
mov eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov esi, eax
mov ebx, edx
nop dword [eax]
mov dword [esp], 0xfffffe6f
cmp ecx, 0x3e
ja 0x4b1ed8
mov dword [esp + 8], ebx
mov ebp, 0xffffffff
mov eax, 0x3fffffff
shrd ebp, eax, cl
mov ebx, 0x3fffffff
shr ebx, cl
movzx edx, byte [esi]
mov eax, edx
and al, 0x7f
test cl, 0x20
cmovne ebp, ebx
mov edi, 0
cmovne ebx, edi
movzx eax, al
cmp ebp, eax
sbb ebx, 0
jb 0x4b1ed8
mov dword [esp + 0x14], esi
xor ebp, ebp
shld ebp, eax, cl
shl eax, cl
test cl, 0x20
cmovne ebp, eax
cmovne eax, edi
mov ebx, 0xffffffff
sub ebx, eax
mov edi, 0x3fffffff
sbb edi, ebp
mov esi, dword [esp + 4]
cmp ebx, esi
mov ebx, dword [esp + 8]
sbb edi, ebx
jb 0x4b1ed8
add esi, eax
mov dword [esp + 4], esi
adc ebx, ebp
test dl, dl
jns 0x4b1874
mov esi, dword [esp + 0x14]
inc esi
add ecx, 7
inc dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
cmp esi, ebp
mov edi, dword [esp + 0xc]
jne 0x4b0e10
jmp 0x4b1c0d
movzx eax, byte [esi]
mov dword [esp + 8], eax
mov edi, ecx
mov eax, dword [ecx + 0x38]
xor edx, edx
mov dword [esp], eax
mov ecx, dword [esp + 8]
bt ecx, eax
setb dl
mov dword [edi + 0x50], edx
mov dword [edi + 0x78], 0xa
mov dword [edi + 0x34], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x3c], 0
xor eax, eax
jmp 0x4b130c
mov edx, ecx
movzx ecx, byte [ecx + 0x38]
mov eax, dword [edx + 0x30]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 8], eax
mov eax, 0xffffffff
shl eax, cl
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [edx + 0x3c], 0
mov ecx, dword [esp + 4]
or ecx, dword [esp + 8]
je 0x4b159a
mov eax, esi
mov edi, dword [esp + 8]
jmp 0x4b10a9
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
or eax, dword [edx + 4]
jne 0x4b1fff
cmp dword [ecx + 0x3c], 0
jne 0x4b2014
movzx eax, byte [esi]
test al, al
js 0x4b15dd
cmp al, 0x40
jae 0x4b1602
cmp al, 0x20
jae 0x4b184a
cmp al, 0x10
jae 0x4b1a84
mov dword [ecx + 0x7c], 3
movzx eax, byte [esi]
and eax, 8
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], 1
mov dword [ecx + 0x38], 3
mov dword [ecx + 0x78], 4
jmp case.default.0x4b0c4e
mov edx, esi
mov esi, ebp
sub esi, edx
mov eax, dword [ecx + 0x30]
cmp esi, eax
mov ebp, ecx
mov ecx, 0
sbb ecx, dword [ebp + 0x34]
setae cl
cmovae esi, eax
movzx eax, cl
push eax
push esi
push edx
push dword [ebp + 0x10]
push ebp
call fcn.004b2f20
add esp, 0x14
mov ebx, eax
test eax, eax
js 0x4b1de4
push ebp
call fcn.004b2fc0
add esp, 4
test eax, eax
jne 0x4b1cc5
mov eax, dword [ebp + 0x10]
add eax, ebx
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov edi, ecx
sub edi, esi
mov ebx, edx
sbb ebx, 0
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x34], ebx
test esi, esi
js 0x4b1de2
add dword [esp + 0x10], esi
xor ecx, esi
or ecx, edx
jne 0x4b1e09
mov byte [eax], 0
push dword [esp + 0x2c]
call fcn.004a8cd0
add esp, 4
mov edx, dword [esp + 0x54]
mov ecx, dword [edx + 0x24]
mov dword [ecx + 8], eax
mov dword [edx + 0x78], 9
mov dword [edx + 0x38], 7
xor eax, eax
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
jmp 0x4b14b6
cmp byte [esi], 0
jns 0x4b1069
mov dword [ecx + 0x80], 1
mov dword [ecx + 0x78], 2
movaps xmm0, xmmword [0x9b2e90]
movups xmmword [ecx + 0x30], xmm0
xor edx, edx
mov dword [esp + 4], 0x7f
mov al, 0x7f
mov dword [esp + 0x18], 0
movzx ecx, byte [esi]
and cl, al
cmp cl, al
jne 0x4b15b2
lea eax, [esi + 1]
cmp eax, ebp
je 0x4b1e4a
mov edi, edx
cmp eax, ebp
mov ecx, dword [esp + 0x18]
je 0x4b1cd9
mov edx, eax
sub eax, esi
inc eax
mov dword [esp + 0x24], edx
nop
mov dword [esp], 0xfffffe6f
cmp ecx, 0x3e
ja 0x4b1ed8
mov dword [esp + 0x14], eax
mov esi, 0xffffffff
mov eax, 0x3fffffff
shrd esi, eax, cl
mov ebp, 0x3fffffff
shr ebp, cl
mov dword [esp + 0xc], edx
movzx edx, byte [edx]
mov eax, edx
and al, 0x7f
test cl, 0x20
cmovne esi, ebp
mov ebx, 0
cmovne ebp, ebx
movzx eax, al
cmp esi, eax
sbb ebp, 0
jb 0x4b1ed8
xor esi, esi
shld esi, eax, cl
shl eax, cl
test cl, 0x20
cmovne esi, eax
cmovne eax, ebx
mov ebp, 0xffffffff
sub ebp, eax
mov ebx, 0x3fffffff
sbb ebx, esi
mov dword [esp + 8], edi
mov edi, dword [esp + 4]
cmp ebp, edi
mov ebp, edi
mov edi, dword [esp + 8]
sbb ebx, edi
jb 0x4b1ed8
add ebp, eax
adc edi, esi
test dl, dl
jns 0x4b1630
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xc]
inc edx
add ecx, 7
mov eax, dword [esp + 0x14]
inc eax
mov ebp, dword [esp + 0x1c]
cmp edx, ebp
mov esi, dword [esp + 0x10]
jne 0x4b10c0
jmp 0x4b1bb0
movzx eax, byte [esi]
mov edi, ecx
mov ecx, dword [ecx + 0x38]
xor edx, edx
bt eax, ecx
setb dl
mov dword [edi + 0x50], edx
mov dword [edi + 0x78], 6
mov dword [edi + 0x34], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x3c], 0
mov dword [esp + 0xc], 0
jmp 0x4b11db
mov eax, ecx
mov ecx, dword [ecx + 0x38]
mov dword [esp], ecx
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x3c]
mov dword [esp + 0xc], edx
mov dword [eax + 0x3c], 0
mov eax, edi
mov dword [esp + 4], ecx
or eax, ecx
mov ecx, dword [esp]
mov eax, esi
jne 0x4b1207
mov edx, 0xffffffff
shl edx, cl
not dl
movzx eax, byte [esi]
movzx edi, dl
and eax, edi
cmp al, dl
jne 0x4b155a
mov dword [esp + 4], 0
lea eax, [esi + 1]
cmp eax, ebp
je 0x4b1cd1
cmp eax, ebp
je 0x4b1ce0
mov ecx, eax
not ecx
add ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 8], eax
xor ebx, ebx
mov esi, dword [esp + 4]
nop dword [eax + eax]
mov dword [esp], 0xfffffe6f
cmp ecx, 0x3e
ja 0x4b1ed8
mov dword [esp + 0x14], edi
mov ebp, 0xffffffff
mov eax, 0x3fffffff
shrd ebp, eax, cl
mov edi, 0x3fffffff
shr edi, cl
mov eax, dword [esp + 8]
movzx edx, byte [eax]
mov eax, edx
and al, 0x7f
test cl, 0x20
cmovne ebp, edi
cmovne edi, ebx
movzx eax, al
cmp ebp, eax
sbb edi, 0
jb 0x4b1ed8
xor ebp, ebp
shld ebp, eax, cl
shl eax, cl
test cl, 0x20
cmovne ebp, eax
cmovne eax, ebx
mov edi, 0xffffffff
sub edi, eax
mov ebx, 0x3fffffff
sbb ebx, ebp
mov dword [esp + 4], esi
mov esi, dword [esp + 0x14]
cmp edi, esi
mov edi, esi
mov esi, dword [esp + 4]
sbb ebx, esi
jb 0x4b1ed8
add edi, eax
adc esi, ebp
test dl, dl
jns 0x4b177f
mov eax, dword [esp + 8]
inc eax
add ecx, 7
dec dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp eax, ebp
mov ebx, 0
mov edx, dword [esp + 0xc]
jne 0x4b1230
jmp 0x4b1b53
mov eax, ecx
mov ecx, dword [ecx + 0x38]
mov dword [esp], ecx
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x3c]
mov dword [eax + 0x3c], 0
mov eax, edi
mov dword [esp + 4], ecx
or eax, ecx
mov eax, edx
mov ecx, esi
jne 0x4b133b
mov edx, 0xffffffff
mov ecx, dword [esp]
shl edx, cl
not dl
movzx ecx, byte [esi]
movzx edi, dl
and ecx, edi
cmp cl, dl
jne 0x4b151c
mov dword [esp + 4], 0
lea ecx, [esi + 1]
cmp ecx, ebp
je 0x4b1cd1
cmp ecx, ebp
je 0x4b1b13
mov edx, ecx
not edx
add edx, esi
mov dword [esp + 0xc], edx
mov edx, ecx
mov ecx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 8], edx
xor ebx, ebx
mov esi, dword [esp + 4]
mov dword [esp + 0x18], eax
nop word cs:[eax + eax]
mov dword [esp], 0xfffffe6f
cmp ecx, 0x3e
ja 0x4b1ed8
mov dword [esp + 0x14], edi
mov eax, 0xffffffff
mov edx, 0x3fffffff
shrd eax, edx, cl
mov edi, 0x3fffffff
shr edi, cl
mov edx, dword [esp + 8]
movzx edx, byte [edx]
mov dh, dl
and dh, 0x7f
test cl, 0x20
cmovne eax, edi
cmovne edi, ebx
movzx ebp, dh
cmp eax, ebp
sbb edi, 0
jb 0x4b1ed8
xor eax, eax
shld eax, ebp, cl
shl ebp, cl
test cl, 0x20
cmovne eax, ebp
cmovne ebp, ebx
mov edi, 0xffffffff
sub edi, ebp
mov ebx, 0x3fffffff
sbb ebx, eax
mov dword [esp + 4], esi
mov esi, dword [esp + 0x14]
cmp edi, esi
mov edi, esi
mov esi, dword [esp + 4]
sbb ebx, esi
jb 0x4b1ed8
add edi, ebp
adc esi, eax
test dl, dl
jns 0x4b16f1
mov eax, dword [esp + 8]
inc eax
add ecx, 7
dec dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], eax
cmp eax, ebp
mov ebx, 0
jne 0x4b1370
jmp 0x4b1af2
mov edi, ebp
sub edi, esi
mov edx, esi
mov esi, dword [ecx + 0x34]
mov eax, dword [ecx + 0x30]
cmp edi, eax
mov ebp, ecx
mov ecx, 0
sbb ecx, esi
cmovae edi, eax
mov eax, 0
cmovb esi, eax
push edi
push edx
push dword [ebp + 0x10]
call fcn.004a0430
add esp, 0xc
mov ecx, edi
mov dword [esp], eax
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov edi, eax
sub edi, ecx
mov dword [ebp + 0x30], edi
mov edi, edx
sbb edi, esi
mov dword [ebp + 0x34], edi
test ecx, ecx
js 0x4b1dda
mov ebp, dword [esp + 0x10]
add ebp, ecx
xor eax, ecx
xor edx, esi
or edx, eax
jne 0x4b1e98
mov eax, dword [esp]
mov byte [eax], 0
push dword [esp + 0x2c]
call fcn.004a8cd0
add esp, 4
mov edx, dword [esp + 0x54]
mov ecx, dword [edx + 0x24]
mov dword [ecx + 8], eax
mov dword [edx + 0x78], 9
mov dword [edx + 0x38], 7
xor eax, eax
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x50]
jmp 0x4b16db
mov eax, dword [edi + 0x30]
cmp eax, dword [ecx + 0x68]
mov eax, dword [edi + 0x34]
sbb eax, dword [ecx + 0x6c]
jb 0x4b1e2c
mov dword [ecx + 0x78], 3
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
push dword [esp + 0x2c]
call fcn.004a8c70
add esp, 4
push dword [esp + 0x28]
call fcn.004a8c70
add esp, 4
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x20], 0
jmp case.default.0x4b0c4e
movzx eax, cl
mov edx, dword [esp + 0x20]
mov dword [edx], eax
mov dword [edx + 4], 0
inc esi
mov edi, dword [esp + 0x54]
cmp dword [edi + 0x50], 0
je 0x4b173e
mov dword [edi + 0x78], 0xb
push edi
call fcn.004b2f10
add esp, 4
mov eax, dword [edi + 0x30]
lea ecx, [eax*2 + 1]
jmp 0x4b1746
movzx ecx, al
mov edx, dword [esp + 0x20]
mov dword [edx], ecx
mov dword [edx + 4], 0
inc esi
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 0x50], 0
je 0x4b17ca
mov dword [ecx + 0x78], 7
push ecx
mov edi, ecx
call fcn.004b2f10
add esp, 4
mov eax, dword [edi + 0x30]
lea eax, [eax*2 + 1]
jmp 0x4b17d2
not al
movzx ecx, al
mov dword [esp + 4], ecx
xor edx, edx
movzx ecx, byte [esi]
and cl, al
cmp cl, al
je 0x4b109c
movzx ecx, cl
mov dword [esp + 8], 0
mov eax, dword [esp + 0x20]
mov edx, ecx
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x54]
jmp 0x4b165e
mov dword [ecx + 0x7c], 0
xor eax, eax
test byte [esi], 0x40
sete al
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x38], 6
mov dword [ecx + 0x78], 4
jmp case.default.0x4b0c4e
mov dword [ecx + 0x7c], 2
movzx eax, byte [esi]
and eax, 0x20
mov dword [ecx + 0x48], eax
xor eax, eax
test byte [esi], 0x10
sete al
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x38], 4
mov dword [ecx + 0x78], 4
jmp case.default.0x4b0c4e
mov eax, dword [esp + 0x54]
mov dword [eax + 0x3c], ecx
mov edx, ebp
mov dword [eax + 0x30], ebp
mov dword [esp + 8], edi
mov dword [eax + 0x34], edi
cmp dword [esp + 0x14], 0
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
js 0x4b1be6
cmp dword [eax + 0x80], 0
mov ecx, dword [eax + 0x68]
mov eax, dword [eax + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
je 0x4b1691
mov eax, edx
cmp edx, ecx
mov ecx, dword [esp + 8]
mov edx, ecx
sbb edx, dword [esp]
jae 0x4b1cc5
not ecx
not eax
add eax, dword [esp + 4]
jmp 0x4b1699
mov eax, edx
add eax, ecx
mov ecx, dword [esp + 8]
adc ecx, dword [esp]
add esi, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
mov dword [edx + 0x74], ecx
mov dword [edx + 0x70], eax
mov eax, dword [esp + 4]
cmp dword [edi + 0x30], eax
mov ecx, dword [edi + 0x34]
sbb ecx, dword [esp]
jb 0x4b1e25
mov dword [edx + 0x78], 3
mov dword [edx + 0x34], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x3c], 0
xor eax, eax
cmp esi, ebp
setne cl
or cl, al
mov ecx, dword [esp + 0x54]
jne 0x4b0c3e
jmp 0x4b1ae0
mov eax, dword [esp + 0x54]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], esi
mov ecx, dword [esp + 0xc]
mov eax, ecx
neg eax
js 0x4b1b2e
mov eax, 0x10000
cmp eax, edi
mov eax, 0
sbb eax, esi
jb 0x4b1e59
mov esi, dword [esp + 0x10]
sub esi, ecx
mov ecx, edi
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x54]
cmp dword [edi + 0x50], 0
jne 0x4b153b
mov dword [edi + 0x78], 0xc
inc ecx
push dword [esp + 0x30]
push ecx
mov edi, dword [esp + 0x3c]
push edi
call fcn.004a0220
add esp, 0xc
test eax, eax
jne 0x4b1ed5
mov eax, dword [edi]
push dword [eax + 8]
push dword [eax + 4]
push dword [esp + 0x30]
call fcn.004a8c80
add esp, 0xc
mov al, 1
mov edi, dword [esp + 0x50]
jmp 0x4b16db
mov eax, dword [esp + 0x54]
mov dword [eax + 0x3c], ecx
mov ecx, eax
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], esi
mov edx, dword [esp + 0x18]
mov eax, edx
neg eax
js 0x4b1b8b
mov eax, 0x100
cmp eax, edi
mov eax, 0
sbb eax, esi
jb 0x4b1e59
mov esi, dword [esp + 0x10]
sub esi, edx
mov eax, edi
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
cmp dword [ecx + 0x50], 0
jne 0x4b1579
mov dword [ecx + 0x78], 8
inc eax
push dword [esp + 0x30]
push eax
mov edi, dword [esp + 0x40]
push edi
call fcn.004a0220
add esp, 0xc
test eax, eax
jne 0x4b1ed5
mov eax, dword [edi]
push dword [eax + 8]
push dword [eax + 4]
push dword [esp + 0x34]
call fcn.004a8c80
add esp, 0xc
xor eax, eax
mov edi, dword [esp + 0x50]
jmp 0x4b16db
movzx edx, cl
mov dword [esp + 8], 0
mov eax, dword [esp + 0x20]
mov dword [eax], edx
mov dword [eax + 4], 0
mov ebp, 1
mov ecx, dword [esp + 0x54]
jmp 0x4b18a5
movzx esi, cl
xor edx, edx
mov eax, dword [esp + 0x20]
mov dword [eax], esi
mov dword [eax + 4], 0
mov eax, 1
jmp 0x4b19d7
mov dword [ecx + 0x7c], 4
movzx eax, byte [esi]
and eax, 0x10
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x38], 3
mov dword [ecx + 0x78], 5
jmp case.default.0x4b0c4e
mov eax, dword [esp + 0x54]
mov dword [eax + 0x3c], ecx
mov ecx, eax
mov edx, dword [esp + 4]
mov dword [eax + 0x30], edx
mov dword [esp + 8], ebx
mov dword [eax + 0x34], ebx
mov eax, dword [esp + 0x18]
test eax, eax
mov edi, dword [esp + 0x50]
mov ebp, eax
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
js 0x4b1c3d
mov eax, dword [ecx + 0x7c]
cmp eax, 3
ja case.default.0x4b18b3
add esi, ebp
jmp dword [eax*4 + 0x9b2ed8]
mov dword [esp + 0x10], esi
cmp dword [ecx + 0x4c], 0
je 0x4b1a97
mov edi, dword [ecx + 0x70]
mov ebx, ecx
mov ebp, dword [ecx + 0x74]
mov eax, edx
add eax, 1
mov ecx, edx
mov edx, dword [esp + 8]
mov esi, edx
adc esi, 0
cmp edi, eax
mov eax, ebp
sbb eax, esi
mov dword [esp], 0xfffffe6f
jb 0x4b1ed8
mov eax, edx
not eax
mov esi, ecx
not esi
mov dword [esp + 4], edi
add esi, edi
adc eax, ebp
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], eax
cmp esi, dword [ebx + 0x68]
mov edi, eax
sbb edi, dword [ebx + 0x6c]
jae 0x4b1ed8
mov edx, ebp
mov ebx, dword [esp + 0x50]
mov ebp, dword [ebx + 0x30]
mov edi, dword [ebx + 0x34]
cmp esi, ebp
sbb eax, edi
jae 0x4b1ed8
sub ecx, dword [esp + 4]
mov eax, dword [esp + 8]
sbb eax, edx
add ecx, ebp
adc eax, edi
cmp ecx, dword [ebx + 0x14]
sbb eax, 0
jb 0x4b1ab7
jmp 0x4b1ed8
cmp dword [ecx + 0x4c], 0
je 0x4b2029
add edx, dword [ecx + 0x70]
mov ebx, dword [esp + 8]
adc ebx, dword [ecx + 0x74]
mov dword [ecx + 0x40], edx
mov dword [ecx + 0x44], ebx
mov dword [esp], 0xfffffe6f
cmp edx, dword [ecx + 0x68]
mov eax, ebx
sbb eax, dword [ecx + 0x6c]
jae 0x4b1ed8
mov ecx, dword [edi + 0x30]
mov eax, dword [edi + 0x34]
cmp edx, ecx
mov ebp, edx
mov edx, ebx
sbb edx, eax
jae 0x4b1ed8
not ebx
not ebp
add ecx, ebp
adc eax, ebx
cmp ecx, dword [edi + 0x14]
sbb eax, 0
jae 0x4b1ed8
mov eax, dword [esp + 0x54]
mov dword [eax + 0x38], 7
mov dword [eax + 0x78], 9
jmp 0x4b1a71
mov eax, dword [esp + 0x54]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], edx
mov eax, dword [esp + 0xc]
test eax, eax
mov edi, dword [esp + 0x50]
js 0x4b1ca0
mov dword [esp + 0xc], eax
mov eax, esi
or eax, edx
je 0x4b1a52
mov ebx, dword [edi + 0x24]
shr ebx, 5
lea ecx, [ebx + ebx]
cmp ecx, esi
mov eax, 0
sbb eax, edx
jb 0x4b1cc5
mov ebp, dword [edi + 0x34]
add ebx, dword [edi + 0x30]
adc ebp, 0
push 0
mov dword [esp + 4], ecx
push ecx
push ebp
push ebx
mov edi, edx
call fcn.0078a3b0
add esp, 0x10
not edx
not eax
add esi, eax
adc edi, edx
mov edx, edi
add esi, ebx
adc edx, ebp
cmp ebx, esi
sbb ebp, edx
jae 0x4b1a40
mov ebp, dword [esp]
cmp ebp, esi
mov eax, 0
sbb eax, edx
jae 0x4b1cc5
sub esi, ebp
sbb edx, 0
mov dword [esp], 0xfffffe6f
mov eax, esi
or eax, edx
jne 0x4b1a56
jmp 0x4b1ed8
xor esi, esi
xor edx, edx
mov ecx, esi
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], edx
mov dword [eax + 0x78], 1
xor eax, eax
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
jmp 0x4b16db
mov dword [ecx + 0x7c], 1
mov dword [ecx + 0x4c], 1
jmp 0x4b161d
mov dword [ecx + 0x40], edx
mov esi, edx
mov edx, dword [esp + 8]
mov dword [ecx + 0x44], edx
mov eax, 0x62
cmp eax, esi
mov eax, 0
sbb eax, edx
jb 0x4b1cc5
mov eax, dword [esp + 0x54]
mov dword [eax + 0x38], 7
mov dword [eax + 0x78], 9
xor eax, eax
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
jmp 0x4b16db
mov esi, ebp
cmp dword [esp + 0x68], 0
jne 0x4b1ea5
jmp 0x4b1ef5
mov dword [esp + 4], esi
mov eax, ebp
sub eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x30], edi
mov eax, dword [esp + 4]
mov dword [ecx + 0x34], eax
sub ebp, esi
jns 0x4b1c8c
mov eax, ebp
mov dword [esp], 0xfffffe6f
cmp eax, 0xffffff94
je 0x4b1ed8
push 0xde6
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov dword [esp + 4], esi
mov eax, ebp
sub eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
add edx, ecx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x30], edi
mov eax, dword [esp + 4]
mov dword [ecx + 0x34], eax
sub ebp, esi
jns 0x4b1c8c
mov eax, ebp
mov dword [esp], 0xfffffe6f
cmp eax, 0xffffff94
je 0x4b1ed8
push 0xd96
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov eax, ebp
sub eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 4]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edi
sub ebp, esi
jns 0x4b1c8c
mov dword [esp + 0x14], ebp
mov dword [esp], 0xfffffe6f
cmp dword [esp + 0x14], 0xffffff94
je 0x4b1ed8
push 0xd08
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov edx, ebx
mov eax, ebp
sub eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
add edi, ecx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], edi
mov eax, dword [esp + 4]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
sub ebp, esi
jns 0x4b1c8c
mov dword [esp], 0xfffffe6f
cmp ebp, 0xffffff94
je 0x4b1ed8
push 0xd55
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov eax, ebp
sub eax, dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
sub ebp, esi
js 0x4b1c9e
add esi, ebp
cmp dword [esp + 0x68], 0
jne 0x4b1ea5
jmp 0x4b1ef5
mov eax, ebp
mov dword [esp], 0xfffffe6f
cmp eax, 0xffffff94
je 0x4b1ed8
push 0xce9
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov dword [esp], 0xfffffe6f
jmp 0x4b1ed8
movzx eax, dl
jmp 0x4b1e8b
mov eax, ecx
jmp 0x4b1bc9
mov edx, dword [esp + 0xc]
jmp 0x4b1b70
mov edx, dword [esp + 0x28]
push ebp
push esi
call fcn.004b07d0
add esp, 8
test eax, eax
js 0x4b1e62
add esi, eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x4b1f10
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x68], 0
jne 0x4b1ea5
jmp 0x4b1ef5
sub ebp, esi
mov eax, dword [ecx + 0x34]
mov edi, dword [ecx + 0x30]
mov esi, ebp
mov ebp, ecx
xor ecx, ecx
cmp esi, edi
mov edx, 0
sbb edx, eax
cmovae esi, edi
cmovb eax, ecx
mov dword [esp], eax
push esi
push dword [esp + 0x14]
push dword [ebp + 0x20]
call fcn.004a0430
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x34]
mov edi, ecx
sub edi, esi
mov dword [ebp + 0x30], edi
mov edi, edx
sbb edi, dword [esp]
mov dword [ebp + 0x34], edi
test esi, esi
js 0x4b1e83
mov edi, dword [esp + 0x10]
add edi, esi
xor ecx, esi
xor edx, dword [esp]
or edx, ecx
jne 0x4b1f01
mov eax, dword [esp + 0x1c]
mov byte [eax], 0
push dword [esp + 0x28]
call fcn.004a8cd0
add esp, 4
mov ebp, dword [esp + 0x54]
mov ecx, dword [ebp + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x7c]
lea ecx, [eax - 2]
cmp ecx, 2
mov esi, edi
jae 0x4b1f8a
push dword [esp + 0x58]
push ebp
push dword [esp + 0x58]
call fcn.004b22f0
add esp, 0xc
mov dword [esp], eax
test eax, eax
jne 0x4b1ed8
jmp 0x4b1fae
mov dword [esp], ecx
jmp 0x4b1ed8
mov ebx, esi
mov dword [esp], 0xfffffe6f
cmp ebx, 0xffffff94
je 0x4b1ed8
push 0xdbb
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x68], 0
jne 0x4b1ea5
jmp 0x4b1ef5
mov dword [edx + 0x78], 0xd
mov eax, dword [esp + 0x5c]
or byte [eax], 4
jmp 0x4b1ef5
mov eax, dword [esp + 0x18]
jmp 0x4b1c77
mov edi, dword [esp + 0xc]
jmp 0x4b1c28
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 4]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x4b1e98
mov dword [esp], 0xffffff93
jmp 0x4b1ed8
mov dword [esp], 0xfffffe6f
cmp eax, 0xffffff94
je 0x4b1ed8
push 0xe0e
push str.nghttp3_qpack.c
push str.NGHTTP3_ERR_QPACK_FATAL__nread
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov dword [esp], esi
jmp 0x4b1ed8
movzx eax, al
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov esi, ebp
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x68], 0
je 0x4b1ef5
mov dword [esp], 0xfffffe6f
cmp dword [ecx + 0x78], 3
jne 0x4b1ed8
mov edi, esi
mov eax, dword [esp + 0x5c]
or byte [eax], 2
mov eax, dword [ecx + 0x68]
or eax, dword [ecx + 0x6c]
mov esi, dword [esp + 0x50]
je 0x4b1ee5
push ecx
push esi
call fcn.004b23e0
add esp, 8
test eax, eax
je 0x4b1ee5
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov byte [eax + 0x38], 1
mov eax, dword [esp]
jmp 0x4b1ef9
mov dword [esi + 0xbc], 0
mov ebx, dword [esp + 0x60]
mov esi, edi
sub esi, ebx
mov eax, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, edi
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x68], 0
jne 0x4b1ea5
jmp 0x4b1ef5
mov ebp, edi
mov edi, dword [esp + 0x54]
mov eax, dword [edi + 0x20]
mov byte [eax], 0
push dword [esp + 0x28]
call fcn.004a8cd0
add esp, 4
mov ecx, dword [edi + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x7c]
lea ecx, [eax - 2]
cmp ecx, 2
jae 0x4b1fbf
push dword [esp + 0x58]
push edi
push ebp
call fcn.004b22f0
add esp, 0xc
mov dword [esp], eax
test eax, eax
jne 0x4b1ed8
jmp 0x4b1fe3
push ecx
push edi
mov ebp, edi
mov edi, ecx
call fcn.004b2280
jmp 0x4b1f6f
push ecx
push edi
mov ebp, edi
mov edi, ecx
call fcn.004b2110
add esp, 8
mov dword [esp], eax
test eax, eax
jne 0x4b1ed8
push dword [esp + 0x58]
push edi
push ebp
call fcn.004b21c0
jmp 0x4b1fe0
cmp eax, 4
jne 0x4b2052
sub esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov ebp, dword [esp + 0x60]
mov dword [esp + 4], ebp
call fcn.004b23a0
add esp, 0xc
mov eax, dword [esp + 0x5c]
or byte [eax], 1
mov dword [ebp + 0x78], 3
push ebp
jmp 0x4b1ff2
cmp eax, 4
jne 0x4b2066
sub esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x60]
mov dword [esp + 4], edi
call fcn.004b23a0
add esp, 0xc
mov eax, dword [esp + 0x5c]
or byte [eax], 1
mov dword [edi + 0x78], 3
push edi
call fcn.004aae50
add esp, 4
jmp 0x4b1ef5
push 0xd2d
push str.nghttp3_qpack.c
push str.sctx__rstate.left__0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
push 0xd2e
push str.nghttp3_qpack.c
push str.sctx__rstate.shift__0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
push 0xf3a
push str.nghttp3_qpack.c
push str.rstate__dynamic
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
push str.nghttp3_qpack_decoder_read_request
push 0xd8a
push str.nghttp3_qpack.c
call fcn.004a8920
push str.nghttp3_qpack_decoder_read_request
push 0xe4d
push str.nghttp3_qpack.c
call fcn.004a8920
push str.nghttp3_qpack_decoder_read_request
push 0xe28
push str.nghttp3_qpack.c
call fcn.004a8920
nop word [eax + eax]
push ebp
push ebx
push edi
push esi
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
xor edx, edx
mov eax, ebp
or eax, edi
je 0x4b20f2
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x24]
shr ebx, 5
lea esi, [ebx + ebx]
xor edx, edx
mov ecx, 0xfffffe6f
cmp esi, ebp
sbb edx, edi
jb 0x4b20ff
mov edi, dword [eax + 0x34]
add ebx, dword [eax + 0x30]
adc edi, 0
push 0
push esi
push edi
push ebx
call fcn.0078a3b0
add esp, 0x10
not edx
not eax
add eax, ebp
adc edx, dword [esp + 0x20]
add eax, ebx
adc edx, edi
cmp ebx, eax
sbb edi, edx
jae 0x4b20e5
xor ecx, ecx
cmp esi, eax
sbb ecx, edx
jae 0x4b2106
sub eax, esi
sbb edx, 0
mov ecx, 0xfffffe6f
mov esi, eax
or esi, edx
jne 0x4b20f4
jmp 0x4b20ff
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor ecx, ecx
mov eax, ecx
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0xfffffe6f
jmp 0x4b20ff